Update : MySQL Clusters are now available on Scalingo. Check our pricing page if you're looking for MySQL Clusters to add High Availability (HA) to your MySQL database :
We are happy to announce that MySQL clusters are now available in public beta on Scalingo. MySQL clusters add High Availability (HA) to one of the most used open source database in the market.
This big step is following our launch of MySQL Clusters in private beta and it empowers our road to offer high availability to all databases available on Scalingo.
As of now we already served hundreds of clients worldwide with our european PaaS and we are happy to be among the first to offer MySQL Clusters in Public Beta to all our prospects. We will explain in this article how you can choose MySQL High Availability on Scalingo.
But first things first, let's present what are MySQL Clusters and how it works before explaining how you can use it on Scalingo.
In today’s world, data is a priority for every company. If you use MySQL as a database or any other database on the market in your organization you are probably aware that every minute of downtime can have repercussions on your business.
Consequently and as announced in our blog article about MySQL 8, the last major release of MySQL introduced the InnoDB Cluster feature. This feature greatly simplifies and improves the high availability setup of MySQL.
Thanks to this feature and if you use MySQL Clusters database on Scalingo, we ensure a 99.96% availability of your databases.
As stated on MySQL.com InnoDB offers a high availability solution for your databases.
MySQL InnoDB Cluster consists of:
MySQL Clusters is an excellent solution for your business needs.
Thanks to MySQL Clusters on Scalingo you can reach High Availability for your MySQL database. If you are an e-commerce website or a SaaS product
As you can understand MySQL HA is a great solution to maintain your data and to keep your business growing!
When you provision a MySQL cluster on Scalingo, three MySQL nodes are started. One of the nodes becomes the primary instance and the two others are the secondaries. All queries go to the primary node.
Whenever a data is inserted, updated or removed from the database, it is immediately replicated on the secondaries. This is achieved using MySQL Group Replication feature.
Thanks to this setup, if the primary node fails, your database will only suffer a short downtime. This downtime lets the remaining instances elect a new primary.
Moreover MySQL also released the “MySQL Router”. This software acts as a lightweight gateway in front of your MySQL instances. Scalingo deploys a couple of them so that there is no single point of failure. There is a master MySQL Router which receives all incoming requests. In case of failing master, the IP address is automatically re-assigned to the second one. This is achieved using our own virtual IP manager, LinK. Hence you never need to change your environment variable!
Here is the network setup for MySQL Clusters:
To increase the security of your MySQL cluster, instances are booted in a dedicated private network. Scalingo ensures that all instances are deployed on different servers. For instance, if a maintenance operation impacts one of our servers, it will not impact your database availability.
From the database client perspective (usually your application), there is a single entry point to the cluster. Hence the environment variable injected into the context of your application still contains a single host name:
When your application queries the MySQL database, it enters the private network through the gateway (a MySQL Router), forwarding the requests to the MySQL primary instance.
The security of the communication to your application is top priority for us. We added TLS at all level of communications:
Moreover, by default your database is not reachable from outside Scalingo’s network. To make it reachable from anywhere around the world, you first need to force TLS communication to connect to the MySQL cluster.
As of now MySQL Clusters is only available in public beta. This means that if you want to move your database to MySQL HA on Scalingo, you have to contact our support. No worries though as this is a simple 1 minute chat and our devops expert are here to answer any queries. Moreover our average response time on the support is 5 minutes.
Here is the link to contact our support.
We have opened this beta in private for several months to make sure that we launch the best product for this public beta.
We are very happy to announce the launch of MySQL Clusters in public beta!
Thanks to MySQL Clusters you can achieve higher SLA and leave your data in excellent hands.