*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.
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%.
Reprenons les explications de MySQL.com pour expliquer avec précision ce qui compose les clusters InnoDB :
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.
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 :
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é.
De plus nous nous assurons que les connexions soient chiffrées à tous les niveaux de communication :
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.
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).
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 !
Chez Scalingo (avec nos partenaires), nous utilisons des traceurs sur notre site.
Certains, essentiels et fonctionnels, sont nécessaires au bon fonctionnement du site et ne peuvent pas être refusés.
D'autres sont utilisés pour mesurer notre audience, entretenir notre relation avec vous et vous adresser de temps à autre du contenu qualitatif ainsi que de la publicité.