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 High Availability 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 High Availability 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 is MySQL High Availability and how it works before explaining how you can use it on Scalingo.
What is MySQL High Availability?
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 high availability database on Scalingo, we ensure a 99.96% availability of your databases.
MySQL InnoDB Cluster in details
As stated on MySQL.com InnoDB offers a high availability solution for your databases.
MySQL InnoDB Cluster consists of:
- MySQL Servers with Group Replication to replicate data to all members of the cluster while providing fault tolerance, automated failover, and elasticity.
- MySQL Router to ensure client requests are load balanced and routed to the correct servers in case of any database failures.
- MySQL Shell to create and administer InnoDB Clusters using the built-in AdminAPI.
What are the advantages of MySQL High Availability for your business?
MySQL High Availability is an excellent solution for your business needs. As stated on MySQL.com there High Availability (HA) solution includes:
- Data redundancy
- Data consistency
- Automatic fault detection and resolution
- No single point of failure
As you can understand MySQL HA is a great solution to maintain your data and to keep your business growing!
How does MySQL High Availability work on Scalingo?
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 high availability:
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.
Transport Layer Security (TLS) Everywhere
The security of the communication to your application is top priority for us. We added TLS at all level of communications:
- from the application to the gateway,
- from the gateway to the primary,
- from the primary to the secondaries.
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.
Ready to try ? Here is How to Take Advantage of MySQL High Availability public beta on Scalingo
As of now MySQL High Availability 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 HA in public beta!
Thanks to MySQL HA you can achieve higher SLA and leave your data in excellent hands.