MySQL 8 : mise à jour réussie de millions de bases de données et expérience client inégalée

Nous sommes heureux d’annoncer que nous avons réussi à mettre à jour nos serveurs vers MySQL 8, et qu’environ 3 millions de bases de données l’utilisent aujourd’hui à plein régime. Plus important encore, ce changement majeur n’a nécessité aucun effort de la part des webmasters et des propriétaires de sites web ! Notre approche unique de cette tâche nous a permis de fournir à nos clients tous les avantages de la dernière version de MySQL, tout en atténuant le risque élevé de mise à jour d’une technologie sous-jacente aussi vitale pour les sites web.

Alors que de nombreux hébergeurs changeraient leur version de MySQL et laisseraient leurs clients en assumer les conséquences, cela ne correspond pas à nos valeurs. Nous avons pris l’initiative d’apporter les avantages de MySQL 8 à tous nos clients, et nous nous sommes préparés de manière approfondie afin de rendre l’adoption sans douleur et sans risque pour eux. Cela signifie que nous avons testé et évalué d’innombrables configurations d’applications (Joomla, Drupal, WordPress et d’autres systèmes de gestion de contenu, ainsi que toutes leurs extensions et tous les thèmes proposés dans différentes configurations) afin de prévoir les nombreux problèmes possibles après la mise à niveau, puis de les éliminer de manière proactive et rapide, sans aucun travail ennuyeux pour nos clients. 

Voyons comment nous y sommes parvenus.

Le défi : la mise à niveau de MySQL 8 est risquée et crée une lourde charge de travail pour les propriétaires de sites web et les webmasters

La mise à jour de MySQL d’un site web est toujours une action risquée: les mises à jour de versions majeures apportent généralement des fonctionnalités réellement innovantes, mais cela signifie également que les applications et les configurations web existantes peuvent ne pas être compatibles avec ces dernières.  C’est pourquoi il faut généralement des années avant qu’elles ne soient largement adoptées. Par exemple, la première version de MySQL 8 a été présentée en 2018 et, un an après sa sortie, elle n’avait qu’un taux d’adoption global de 17%. 

La décision de passer ou non à une version plus récente de MySQL, et à quel moment, oblige les webmasters à tenir compte des problèmes potentiels qui pourraient survenir et les avantages qu’elle apporte, et à investir du temps et de l’argent dans la résolution des problèmes après la mise à niveau. Cela représente une lourde charge pour les propriétaires de sites web et les webmasters.

C’est là que les fournisseurs d’hébergement web peuvent être d’une grande aide, ou non, en fonction de la manière dont elles gèrent leurs serveurs et du niveau de service qu’elles offrent à leurs clients. Parmi nos concurrents, il existe deux approches populaires pour ces mises à niveau à grande échelle: soit activer la nouvelle version de MySQL uniquement sur les nouveaux serveurs que vous lancez, et si les clients actuels veulent la nouvelle version, ils doivent se relocaliser sur les nouveaux serveurs; soit placer l’ancien et le nouveau MySQL sur un seul serveur, ce qui augmenterait l’utilisation des ressources du serveur et pourrait finalement détériorer les performances des sites qui y sont hébergés. 

Aucune de ces options n’est cependant idéale. Dans les deux cas, la charge du risque incombe toujours au propriétaire du site web ou au webmaster, qui doit faire le travail nécessaire pour rendre son site compatible avec la nouvelle version de MySQL. Le résultat probable est que beaucoup ne feront pas la mise à jour, se privant ainsi des performances, de la sécurité et d’autres avantages. Pire encore, de nombreux clients continueront à utiliser une ancienne version de MySQL pendant si longtemps qu’elle deviendrait vulnérable et ne serait plus prise en charge par les développeurs officiels. En conséquence, cela mettrait leurs sites web en danger, ce qui n’est pas une bonne idée. 

L’approche unique de SiteGround : des millions de bases de données mises à jour automatiquement vers MySQL 8 sans que les clients aient à s’en soucier

Chez SiteGround, notre philosophie est de veiller à ce que tous nos clients puissent bénéficier des dernières technologies, et ce avec le moins de difficulté possible : pas de travail ennuyeux, pas de risque, pas d’investissement supplémentaire, il suffit de le sortir de la boîte et de l’utiliser. Lorsque nous offrons un nouveau logiciel tel que MySQL 8 qui porte de nombreux avantages, nous nous assurons que tous nos clients peuvent en profiter facilement et en toute sécurité. 

C’est pourquoi notre approche de cette mise à jour a été différente. Nous n’avons pas laissé à nos clients le soin de trouver comment mettre à niveau vers MySQL 8; nous l’avons fait pour eux et nous avons pris en charge tout le travail nécessaire pour éliminer les incompatibilités et résoudre les problèmes postérieurs à la mise à niveau. Ce processus comprenait l’évaluation du niveau de risque, la recherche de toutes les incompatibilités et erreurs de mise à niveau possibles, la résolution automatique des problèmes et la vérification manuelle des résultats. En conséquence, des millions de sites utilisent aujourd’hui MySQL 8 sans aucun problème.

  • Recherches approfondies et tests multiples pour réduire le taux d’échec des mises à jour 

Nous avons commencé par faire des recherches approfondies sur les incompatibilités de MySQL 5.7 (la version précédente de MySQL). L’objectif était de découvrir les problèmes susceptibles d’empêcher la mise à jour d’une base de données vers MySQL 8. 

Ensuite, nous avons copié et isolé des centaines de serveurs et lancé des mises à niveau pour les tester. L’objectif était d’identifier les logiciels et les configurations problématiques qui se rompent après la mise à niveau, de trouver des solutions à l’avance et de documenter soigneusement tous les résultats. Nous avons utilisé toutes ces données pour réduire le taux d’échec des mises à niveau et pour automatiser la résolution des problèmes ultérieurs.

  • Réparations automatiques et rapides des sites défectueux

En s’appuyant sur des recherches et des tests approfondis, nos ingénieurs ont développé un système intelligent qui sert essentiellement de mécanicien qualifié pour votre site web. Il effectue un contrôle de compatibilité avec MySQL 8 en fonction de la configuration spécifique de votre application et de la structure de votre base de données. S’il détecte des incompatibilités, il les répare immédiatement.

Par conséquent, après la mise à niveau, ce système automatique nous a permis de corriger immédiatement les erreurs et les requêtes erronées pour des milliers de sites web, et nous a économisé des tonnes de travail manuel, en plus du temps d’attente de résolution pour les clients.

  • Réparation manuelle de 7 518 sites web par nos experts (gratuitement pour nos clients)

Les contrôles automatiques ont fait un travail remarquable, mais nous sommes allés encore plus loin. Après la mise à niveau d’un serveur, nos techniciens ouvraient pratiquement tous les sites web hébergés sur ce serveur pour s’assurer qu’ils étaient pleinement fonctionnels. Par  conséquent, ils ont identifié 7 518 sites web présentant des problèmes, qu’ils ont ensuite réparés manuellement après la migration dans des délais raisonnables

  • 804 sites web ont bénéficié d’un délai supplémentaire (à nos frais)

Toutes nos vérifications automatiques et manuelles nous ont permis de constater que le nombre de sites web qui restaient incompatibles avec la nouvelle version de MySQL était incroyablement bas, moins de 0,001 % du total. Pour ces clients, nous avons fourni une configuration de serveur personnalisée leur permettant d’utiliser MySQL 5.7 pendant deux mois supplémentaires, ce qui leur laisse suffisamment de temps pour résoudre les incompatibilités de requêtes significatives et pour se préparer à l’installation de la nouvelle version. Nous pensons que chacun de nos utilisateurs doit avoir la possibilité de recevoir la meilleure expérience, c’est pourquoi nous avons absorbé le coût de la maintenance de l’ancienne version sur des serveurs supplémentaires. 

  • Un calendrier efficace de mise à niveau des serveurs a permis une résolution rapide des problèmes

L’un des défis internes au cours du processus consistait à programmer la mise à niveau des serveurs de manière à disposer d’un nombre suffisant de gens pour non seulement traiter les problèmes potentiels, mais aussi terminer la mise à niveau dans le délai le plus court possible. Sur la base des statistiques des tests, nous pouvions prédire le nombre de sites web qui auraient eu des problèmes par serveur, et nous savions donc combien de serveurs il fallait programmer et combien de techniciens il fallait recruter pour pouvoir résoudre les problèmes rapidement. À un moment donné, notre processus était si efficace qu’il nous a permis de mettre à niveau avec succès jusqu’à 180 000 sites web en 24 heures ! 

  • Communication ponctuelle et ouverte avec les clients

Ceux d’entre vous qui sont clients depuis un certain temps savent déjà à quel point nous valorisons la communication transparente et claire lorsqu’il s’agit d’événements ayant un impact sur vos sites web. Cette mise à niveau vers MySQL 8 n’a pas fait exception à la règle. Nous avons prévenu chaque client au moins sept jours avant la migration, en les informant du jour et de l’heure à laquelle nous allions mettre à jour leurs sites web (toujours en dehors des horaires de travail de leur région respective). 

En conclusion

Notre priorité absolue dans ce processus de mise à niveau était de faire en sorte que tous les sites web restent pleinement fonctionnels après la mise à niveau – pas de problèmes, seulement les avantages de la nouvelle version de MySQL. Le résultat ? Nous avons obtenu un taux de réussite de plus de 99,99 % pour le processus de migration ! 

  • Grâce à une planification robuste, une préparation et une exécution précise, nous avons réussi à mettre à niveau environ 3 millions de bases de données et à les rendre entièrement compatibles avec MySQL 8, sans aucune charge de travail pour nos clients. 
  • Il ne nous a fallu que 63 jours de migration pour réaliser cette opération pour tous les sites web hébergés sur notre plateforme gratuitement tout en nous assurant que chaque site de nos clients avait été soigneusement pris en charge. N’oublions pas non plus les mois que nous avons investis dans le travail de préparation, y compris la recherche, les tests et les automatisations.
  • Une équipe spéciale de 34 personnes a travaillé pendant 1228 heures au total sur la mise à niveau, achevant le processus avec la plus grande efficacité et le plus grand professionnalisme – il leur a fallu en moyenne sept minutes par serveur pour basculer et résoudre les problèmes. 

Il s’agissait d’une tâche énorme, d’une ampleur stupéfiante, surtout si l’on considère la barre élevée que nous nous étions fixée. En fin de compte, tous nos efforts ont été récompensés par une absence totale de travail pour nos clients. Pour nous, c’est l’objectif final qui justifie tous ces efforts.

Daniel Kanchev

Directeur Développement de produits

Daniel est chargé de donner vie aux nouveaux produits chez SiteGround. Cela implique de gérer tous les types de tâches et de communication entre les différentes équipes. Passionné par la technologie, l'expérience utilisateur, la sécurité et la performance, vous ne vous ennuierez jamais avec lui. Également conférencier occasionnel et accro aux voyages.

Les commentaires pour cet article sont maintenant fermés.

Articles liés