MySQL 8: actualización con éxito de millones de bases de datos y experiencia de cliente inigualable

Nos alegra anunciar que hemos actualizado con éxito nuestros servidores a MySQL 8, y que cerca de 3 millones de bases de datos ya lo utilizan a pleno rendimiento. Y lo que es más importante, ¡esta transición masiva no ha requerido ningún esfuerzo por parte de los webmasters y propietarios de sitios web! Nuestro enfoque único para esta tarea nos permitió ofrecer a los clientes todos los beneficios de la versión más reciente de MySQL, y al mismo tiempo mitigar el alto riesgo de actualizar una tecnología tan vital subyacente sitio web.

Mientras que muchos proveedores de alojamiento web cambiarían su versión de MySQL y dejarían a los clientes lidiar con las consecuencias, eso simplemente no se alinea con nuestros valores. Nos encargamos de llevar los beneficios de MySQL 8 a todos nuestros clientes, y nos preparamos ampliamente para que la adopción fuese indolora y sin riesgos para ellos. Eso significó probar y evaluar un sinfín de configuraciones de aplicaciones (Joomla, Drupal, WordPress y otros CMS, y todas sus extensiones y temas que vienen en diferentes configuraciones) para prever las toneladas de posibles problemas posteriores a la actualización – y luego eliminarlos de forma proactiva y rápida sin ningún trabajo o molestia para los clientes. 

A continuación te explicamos cómo lo hemos conseguido.

El reto: La actualización a MySQL8 es arriesgada y genera una gran carga de trabajo para los propietarios y administradores de sitios web.

Actualizar el MySQL de un sitio web siempre es arriesgado: las grandes actualizaciones de versión suelen traer características realmente innovadoras, pero también significa que las aplicaciones y configuraciones web existentes pueden no ser compatibles con ellas.  Por eso, suelen pasar años hasta que se adoptan mayoritariamente.Por ejemplo, la primera versión de MySQL 8 se estrenó en 2018 y un año después de su lanzamiento solo tenía una tasa de adopción global del 17%. 

La decisión sobre si y cuándo cambiar a una versión más reciente de MySQL requiere que los webmasters sopesen los problemas potenciales que podrían ocurrir frente a los beneficios que aporta, e invertir tiempo y dinero en solucionar problemas posteriores a la actualización. Esto supone una enorme carga para los propietarios y webmasters de sitios web.

Ahí es donde las empresas de alojamiento web pueden ser de gran ayuda -o no- dependiendo de cómo gestionen sus servidores y del nivel de servicio que ofrezcan a sus clientes. Entre nuestros competidores hay dos enfoques populares para este tipo de actualizaciones a gran escala: o bien habilitar la nueva versión de MySQL sólo en los nuevos servidores que se pongan en marcha, y si los clientes actuales quieren la nueva versión tienen que reubicarse en los nuevos servidores; o poner tanto el viejo como el nuevo MySQL en un servidor, lo que aumentaría el uso de recursos del servidor y en última instancia podría deteriorar el rendimiento de los sitios alojados en él. 

Sin embargo, ninguna de estas opciones es ideal. En ambos casos, la carga del riesgo sigue recayendo en el propietario del sitio web o webmaster, ya que tendría que hacer el trabajo para que sus sitios sean compatibles con la nueva versión de MySQL. Lo más probable es que muchos no se actualicen, perdiendo así rendimiento, seguridad y otras ventajas. Y lo que es peor, muchos clientes seguirían utilizando una versión antigua de MySQL durante tanto tiempo que se volvería vulnerable y no recibiría soporte de los desarrolladores oficiales. Esto pondría sus sitios web en grave riesgo. No es un buen plan.

El enfoque único de SiteGround: millones de bases de datos actualizadas automáticamente a MySQL8 sin molestias para los clientes

En SiteGround nuestra filosofía es asegurarnos de que todos nuestros clientes puedan beneficiarse de las últimas tecnologías, y con las menores molestias posibles: sin trabajo, sin riesgos, sin inversión extra, simplemente lo sacas de la caja y lo usas. Cuando ofrecemos un nuevo software como MySQL 8 que viene con múltiples beneficios, nos aseguramos de que todos los clientes puedan disfrutarlo con seguridad y facilidad. 

Por eso nuestro enfoque de esta actualización fue diferente. No dejamos a nuestros clientes la tarea de averiguar cómo actualizar a MySQL 8; lo hicimos por ellos y asumimos todo el trabajo para eliminar incompatibilidades y resolver problemas posteriores a la actualización. Ese proceso de actualización incluyó la evaluación del nivel de riesgo, la investigación de todas las posibles incompatibilidades y errores de actualización, la corrección automática de los problemas y la verificación manual de los resultados. Como resultado, millones de sitios utilizan MySQL 8 sin quebraderos de cabeza adicionales.

  • Investigación exhaustiva y múltiples pruebas para reducir la tasa de fallos de actualización 

Comenzamos investigando a fondo las incompatibilidades de MySQL 5.7 (la versión de MySQL utilizada anteriormente). El objetivo era descubrir qué problemas podrían actuar como potenciales bloqueadores de la actualización de una base de datos a MySQL 8. 

A continuación, copiamos y aislamos cientos de servidores e iniciamos actualizaciones de prueba. El objetivo era identificar el software problemático y las configuraciones que se rompen después de la transición, encontrar soluciones para ellos por adelantado, y documentar todos los resultados cuidadosamente. Utilizamos todos esos datos para minimizar la tasa de fallos de la actualización y automatizar la resolución de los problemas posteriores.

  • Reparación automática y rápida de webs con incidencias

Partiendo de la investigación y las pruebas extensivas, nuestros ingenieros desarrollaron un sistema inteligente que esencialmente servía como un mecánico experto para tu sitio web. El sistema realiza una comprobación de compatibilidad con MySQL 8 basándose en la configuración específica de su aplicación y en la estructura de su base de datos. Si detectaba incompatibilidades, las corregía en el acto.

Como resultado, tras la actualización, este sistema automático nos ayudó a eliminar inmediatamente los errores y las consultas rotas de miles de sitios web, y nos ahorró toneladas de trabajo manual, además del tiempo de espera de resolución para los clientes.

  • Corrección manual de 7518 sitios web por nuestros expertos (gratuita para los clientes)

Las comprobaciones automatizadas hicieron un trabajo tremendo, pero fuimos aún más lejos. Después de actualizar un servidor, nuestros técnicos abrían prácticamente todos los sitios web alojados en él para asegurarse de que funcionaban correctamente. De ellos, identificaron 7.518 sitios web con problemas, que arreglaron manualmente tras la migración a su debido tiempo. 

  • 804 sitios recibieron una prórroga (a nuestra costa)

Todas nuestras comprobaciones automatizadas y manuales nos dejaron con un número impresionantemente bajo de sitios que seguían siendo incompatibles con la nueva versión de MySQL: por debajo del 0,001% de todos. A estos clientes les proporcionamos una configuración de servidor personalizada en la que podrían utilizar MySQL 5.7 durante dos meses más, lo que les daría tiempo suficiente para solucionar incompatibilidades de consulta significativas y prepararse para la nueva versión. Creemos que cada uno de nuestros usuarios debe tener la opción de recibir el mejor servicio, por lo que en este momento hemos absorbido el coste de mantener la versión antigua en servidores adicionales.

  • La eficacia del calendario de actualización de servidores se tradujo en una rápida resolución de los problemas

Uno de los retos internos durante el proceso fue programar los servidores para la actualización de modo que tuviéramos suficiente personal no sólo para resolver los posibles problemas, sino también para completar la actualización con éxito en el menor tiempo posible. Basándonos en las estadísticas de las pruebas, podíamos predecir cuántos sitios web habrían tenido problemas por servidor y, por tanto, sabíamos cuántos servidores programar y cuántos técnicos contratar para poder solucionar los problemas rápidamente. Llegó un momento en que nuestro proceso era tan eficaz que nos permitió actualizar con éxito hasta 180.000 sitios web en 24 horas. 

  • Comunicación rápida y honesta con los clientes

Aquellos de vosotros que seáis clientes desde hace tiempo seguramente ya sabéis lo mucho que valoramos la comunicación transparente y clara cuando se trata de acontecimientos que afectan a vuestros sitios web. Esta actualización a MySQL8 no fue una excepción. Notificamos a cada cliente al menos siete días antes de la transición, informándoles del día y las horas en que actualizaríamos sus sitios web (siempre en horas no laborables para su región respectiva). 

Resumen 

Nuestra máxima prioridad en este proceso de actualización era que todos los sitios funcionaran como de costumbre tras la actualización: sin problemas, sólo beneficiándose del nuevo MySQL. ¿El resultado? Tuvimos una tasa de éxito superior al 99,99% en el proceso de migración. 

  • Con una sólida planificación, preparación y ejecución precisa, actualizamos con éxito aproximadamente 3 millones de bases de datos y las hicimos totalmente compatibles con MySQL 8 sin ningún trabajo para nuestros clientes. 
  • Solo tardamos 63 días de migración para todos los sitios web en nuestra plataforma, de forma totalmente gratuita, asegurándonos de que todos y cada uno de los sitios web de nuestros clientes habían sido atendidos a fondo. Y no olvidemos los uno o dos meses que invertimos en el trabajo de preparación, incluida la investigación, las pruebas y las automatizaciones.
  • Un equipo especial de 34 personas trabajaron un total de 1228 horas en la actualización, completando el proceso con la máxima eficacia y profesionalidad: tardaron una media de siete minutos por servidor en cambiar y resolver problemas. 

Fue una tarea enorme a una escala asombrosa, sobre todo teniendo en cuenta el listón tan alto que nos habíamos puesto. Pero al final todo el trabajo duro por nuestra parte se tradujo en un resultado absolutamente satisfactorio para nuestros clientes. Y eso, para nosotros, es el objetivo final que justifica todo el esfuerzo. 

Daniel Kanchev

Director de Desarrollo de Producto

Daniel es el responsable de dar vida a los nuevos productos de SiteGround. Esto significa manejar todo tipo de tareas y comunicaciones, a través de múltiples equipos. Entusiasta de la tecnología, experiencia de usuario, seguridad y rendimiento, nunca te puedes aburrir teniéndolo a tu alrededor. También, en ocasiones es conferencista y adicto a los viajes.

Iniciar discusión

Artículos relacionados

Ha llegado el momento de practicar