19 points par safethecode 2024-01-03 | 3 commentaires | Partager sur WhatsApp
  • GitHub a mené la mise à niveau de plus de 1 200 hôtes MySQL vers MySQL 8.0. Cette migration a été motivée par la fin de vie de MySQL 5.7 ainsi que par la volonté de tirer parti des derniers correctifs de sécurité et de nouvelles fonctionnalités, et elle s’est étalée sur plus d’un an. Les défis techniques rencontrés et les enseignements tirés de la mise à niveau d’une infrastructure MySQL variée et complexe soulignent l’importance de l’automatisation et de la gestion de flotte.

  • GitHub a commencé il y a 15 ans avec une application Ruby on Rails et une base de données MySQL unique. Depuis, l’entreprise a fait évoluer son architecture MySQL pour répondre aux besoins de montée en charge et de résilience de la plateforme. Cette fois, elle a entrepris de mettre à niveau plus de 1 200 hôtes MySQL vers MySQL 8.0.

  • La motivation de la mise à niveau venait de l’approche de la fin de vie de MySQL 5.7, GitHub souhaitant passer à MySQL 8.0 pour bénéficier des derniers correctifs de sécurité, de corrections de bugs et d’améliorations de performance. La version 8.0 inclut également de nouvelles fonctionnalités telles que les Instant DDLs, les invisible indexes et les compressed bin logs.

  • L’infrastructure MySQL de GitHub consiste en un déploiement varié et complexe de plus de 1 200 hôtes. Pour effectuer cette mise à niveau tout en maintenant l’infrastructure, GitHub a eu besoin d’une planification minutieuse, de tests automatisés et d’une collaboration entre de nombreuses équipes.

  • La phase de préparation à la mise à niveau a inclus des travaux comme la modernisation de l’infrastructure, la vérification de la compatibilité des applications, le maintien de la communication et de la transparence, ainsi que la définition d’une stratégie de migration progressive. La mise à niveau s’est déroulée en plusieurs étapes, avec comme point essentiel la capacité à conserver une possibilité de rollback tout au long du processus.

  • Pendant la mise à niveau, un problème important était la difficulté de revenir de MySQL 8.0 à MySQL 5.7, mais GitHub a réussi à effectuer la migration en toute sécurité tout en préservant la possibilité de rollback. L’entreprise s’est également heurtée à divers défis techniques, notamment avec Vitess, mais elle les a surmontés, et l’ensemble du processus de mise à niveau a pris plus d’un an.

  • L’expérience et les enseignements tirés de ce projet ont rappelé à GitHub qu’une mise à niveau de MySQL fait partie des opérations de maintenance de routine essentielles. L’entreprise en a conclu que l’automatisation et le développement d’outils fiables de gestion de flotte permettront de mener les futures mises à niveau plus efficacement.

3 commentaires

 
botplaysdice 2024-01-04

On dirait que Microsoft n'impose pas spécialement aux entreprises qu'il rachète de migrer vers sa propre stack technologique... c'est toujours du RoR / MySQL, apparemment.

 
rockp 2024-01-04

La migration de la base de données de GitHub... rien que de l’imaginer, c’est terrifiant.

 
misolab 2024-01-04

Ils ne sont peut-être pas restés sans rien faire parce qu’ils savaient qu’une fois qu’on y touche, il n’y a plus de solution, non ? haha