19 puntos por safethecode 2024-01-03 | 3 comentarios | Compartir por WhatsApp
  • GitHub llevó a cabo la actualización de más de 1,200 hosts de MySQL a MySQL 8.0. El motivo fue el fin de vida de MySQL 5.7 y la necesidad de aprovechar los parches de seguridad más recientes y las nuevas funciones, en un proceso que tomó más de un año. Los desafíos técnicos y los aprendizajes surgidos al actualizar una infraestructura de MySQL diversa y compleja destacan la importancia de la automatización y de la gestión de flotas.

  • GitHub comenzó hace 15 años con una aplicación Ruby on Rails y una sola base de datos MySQL. Desde entonces, ha ido mejorando su arquitectura de MySQL para responder a las necesidades de escalado y resiliencia de la plataforma. Esta vez, llevó a cabo la actualización de más de 1,200 hosts de MySQL a MySQL 8.0.

  • La motivación de la actualización fue que MySQL 5.7 estaba llegando al fin de su vida útil, por lo que querían migrar a MySQL 8.0 para obtener los parches de seguridad más recientes, correcciones de errores y mejoras de rendimiento. Además, la versión 8.0 incluye nuevas funciones como Instant DDLs, invisible indexes y compressed bin logs.

  • La infraestructura MySQL de GitHub consiste en un despliegue diverso y complejo de más de 1,200 hosts. Para ejecutar la actualización sin dejar de mantenerla operativa, GitHub necesitó una planificación cuidadosa, automatización de pruebas y colaboración entre varios equipos.

  • En la etapa de preparación para la actualización, realizaron tareas como modernizar la infraestructura, verificar la compatibilidad de las aplicaciones, mantener la comunicación y la transparencia, y establecer una estrategia de actualización gradual. La actualización se llevó a cabo en varias fases, y un aspecto clave fue avanzar manteniendo la posibilidad de hacer rollback.

  • Durante la actualización hubo dificultades porque hacer rollback de MySQL 8.0 a MySQL 5.7 no era sencillo, pero GitHub logró realizarla de forma segura mientras preservaba esa capacidad. También enfrentó varios retos técnicos, incluidos problemas con Vitess, y aun así completó todo el proceso, que tomó más de un año.

  • La experiencia y las lecciones obtenidas con este proyecto reforzaron para GitHub que las actualizaciones de MySQL son una de las rutinas de mantenimiento importantes, y concluyeron que desarrollar automatización y herramientas confiables de gestión de flotas permitirá realizar futuras actualizaciones de manera más eficiente.

3 comentarios

 
botplaysdice 2024-01-04

Parece que MS no obliga necesariamente a las empresas que adquiere a migrar a su propio stack tecnológico... todavía siguen con RoR / mysql.

 
rockp 2024-01-04

La migración de la base de datos de GitHub... da miedo con solo imaginarla.

 
misolab 2024-01-04

¿No será que se quedaron quietos porque sabían que, si le metían mano, no había vuelta atrás? jaja