MySQL Clusters est disponible en beta public

27 novembre 2020
MySQL Clusters est disponible en beta public

*Mis à jour : MySQL Clusters est maintenant disponible sur Scalingo ! Vous pouvez consulter notre page pricing pour en savoir plus. *

Nous sommes très heureux d'annoncer la disponibilité des clusters MySQL en beta publique sur Scalingo. Les clusters MySQL permettent d'ajouter la haute disponibilité (High Availability - HA en Anglais) à l'hébergement de la base de données MySQL sur Scalingo.

C'est un pas de géant qui permet d'offrir une nouvelle base de données en haute disponibilité sur Scalingo.

Nous servons maintenant plusieurs centaines de clients dans le monde entier avec notre Plateforme en tant que Service européen et nous sommes fiers d'être les premiers à offrir MySQL Clusters en beta public pour tous nos utilisateurs. Dans cet article, nous expliquerons en détail comment vous pouvez utiliser la beta de MySQL haute-disponibilité.

Mais avant tout nous allons vous présenter MySQL Clusters et comment cela fonctionne.

Qu'est-ce que MySQL Clusters ?

De nos jours, la donnée est devenue une priorité pour chaque entreprise. Si vous utilisez MySQL pour votre base de données, vous savez certainement déjà que chaque minute de temps d'arrêt peut avoir des conséquences négatives sur votre entreprise.

Par conséquent, chez Scalingo nous avons toujours fait du taux de disponibilité des bases de données et de la durabilité des données l'une de nos priorités. Comme annoncé dans article sur MySQL 8, la dernière mise à jour de la base de données MySQL a permis d'introduire la fonctionnalité InnoDB Cluster. C'est sur cette fonctionnalité que se base la haute disponibilité de la base de données MySQL sur Scalingo.

Grâce à cette fonctionnalité, et si vous vous tournez vers MySQL HA, Scalingo assure une disponibilité de vos bases de données à 99,96%.

Qu'est ce que MySQL InnoDB Cluster ?

Reprenons les explications de MySQL.com pour expliquer avec précision ce qui compose les clusters InnoDB :

  • Réplication groupée des serveurs MySQL : vos données sont répliquées dans chaque cluster.
  • MySQL Router : s'assure que les clients sont redirigés vers le bon serveur en cas de défaillance d'une base de données
  • MySQL Shell : crée et administre les clusters InnoDB

Les avantages de MySQL Clusters pour votre entreprise

MySQL Clusters est une excellente solution puisqu'elle vous permet de vous assurer d'un minimum de défaillance de votre base de données.

Si vous utilisez MySQL pour votre base de données, vous savez certainement déjà que chaque minute de temps d'arrêt peut avoir des conséquences négatives sur votre entreprise.

Que vous soyez un site e-commerce ou un SaaS, vous avez besoin d'une base de données disponibles sans cesse pour ne pas perdre de clients.

Avec un plan business sur Scalingo, vous bénéficiez de la haute-disponibilité et nous promettons 99,96% de disponibilité pour votre base de données.

Comment MySQL Clusters fonctionne sur Scalingo ?

Lorsque vous démarrer un cluster MySQL sur Scalingo, trois noeuds MySQL sont créés. L'un des noeuds deviendra l'instance leader et les deux autres noeuds seront des instances secondaires. L'ensemble des requêtes se dirigeront vers le noeud leader.

A chaque fois que de nouvelles données seront insérées ou modifiées, elles sont automatiquement synchronisées sur les deux autres noeuds grâce à la fonctionnalité MYSQL Group Replication.

Avec cette configuration, vous êtes assurés qu'en cas de faille du premier noeud, votre base de données ne souffrira que d'un court moment d'immobilisation.

De plus, MySQL a lancé en parallèle MySQL Router. Grâce à ce logiciel, Scalingo peut réduire les risques de défaillance. Le fonctionnement est le suivant :

  • Une instance MySQL Router reçoit l'ensemble des requêtes
  • En cas de défaillance, l'adresse IP est automatiquement redirigé vers le second routeur avec notre propre gestionnaire d'IP que nous appelons Link.

Pour information voici le fonctionnement du réseau pour MySQL Clusters :

Pour nous assurer de la sécurité de vos clusters MySQL, chaque occurence est intégrée dans un réseau privé dédié. Scalingo s'assurance que toutes les occurences soient déployées sur des serveurs différents. Par conséquent si par exemple, une opération de maintenance impacte l'un de vos serveurs, cela n'aura pas de conséquence sur la disponibilité de votre base de données.

Évidemment notre travail est de simplifier la vie des développeurs et donc de cacher cette complexité dont Scalingo a la charge. C'est pourquoi il n'y a qu'un seul point d'accès vers le cluster depuis votre application. Par conséquent, la variable d'environnement de votre application contenant la chaîne de connexion à votre base de données reste fixe même en cas de changement de topologie du cluster :

mysql://<username>:<password>@my-db.mysql.dbs.scalingo.com:12345/<DB name>

Lorsque votre application requête votre base de données cela accèdera directement au réseau privé dédié (via l'instance principale MySQL Router) et cela transférera les requêtes à l'instance leader du cluster MySQL à l'intérieur du réseau privé.

Sécurité

De plus nous nous assurons que les connexions soient chiffrées à tous les niveaux de communication :

  • Depuis l'application vers la passerelle MySQL Router
  • Depuis la passerelle vers l'instance leader du cluster
  • Entre les noeuds du cluster MySQL

Enfin par défaut, votre base de données ne sera pas accessible depuis l'extérieur du réseau Scalingo. Pour la rendre accessible depuis n'importe où, vous devrez premièrement forcer le chiffrement des communications (par TLS) pour vous connecter au cluster MySQL.

Comment accéder à la beta public de MySQL Clusters ?

Vous l'attendiez tous, voici maintenant comment passer à la beta public de MySQL Clusters.

Au cours de la beta public de MySQL Clusters, lorsque vous voudrez provisionnez votre cluster ou lorsque vous voudrez changer le plan de votre cluster, notre équipe sera avertie et vous accompagnera. La communication se fera via le chat de support intégré au dashboard.

Rassurez-vous votre demande sera prise en charge rapidement (temps moyen de réponse sur Scalingo : 5 minutes).

Conclusion

Nous sommes particulièrement heureux de lancer MySQL HA en beta public ! Après avoir beta testé le produit en beta privé, nous sommes confiants de l'intérêt de ce produit pour nos nombreux utilisateurs.

Avec MySQL Clusters vous pourrez augmenter la disponibilité de vos bases de données et assurer un minimum de temps d'arrêt pour votre business !

Photo de 301+ Kim sur Unsplash

Partager l'article
Étienne Michon
Étienne Michon
Docteur en informatique, Étienne Michon occupe actuellement le poste d'ingénieur R&D chez Scalingo. Il était l'un des premiers employés de Scalingo et il contribue grandement a faire grandir ce blog grâce à ses articles techniques de qualité.
#MySQL - #highavailability - #cluster

Essayez gratuitement Scalingo

30 jours d'essai gratuit / Pas de CB nécessaire / Hébergé en France