"Efecto Domino", o cómo actualizamos el software en la nube en el centro de datos





Linxdatacenter . . 



, « » . 




vCloud Director



Los componentes principales de la nube de Linxdatacenter son la pila de tecnología VMware, que implementa el panel de control de infraestructura virtual de vCloud Director. Se implementa sobre la base de los componentes de Cisco y la infraestructura de servicios, como Windows Active Directory.



En algún momento a fines de 2020, nos encontramos con un problema: vCloud Director 9.5 comenzó a quedarse atrás de los detalles específicos de las tareas actuales, y no pudimos tener en nuestras manos su actualización a la versión 10.1 o 10.2. 



No hubo nada terrible en esto, pero a principios de 2021, el soporte de Flash en el navegador se detuvo.



Para ser honesto, no esperábamos que Flash y los fabricantes de navegadores hicieran esta crueldad. Es decir, todo el mundo ha oído hablar del fin del soporte desde hace mucho tiempo, pero la noticia de que será eliminado físicamente de los sistemas operativos y bloqueado por completo en los navegadores a partir del 12 de enero, se convirtió en una sorpresa muy desagradable.



El caso es que vCloud Director tiene acceso a través de dos portales. El primero está en Flash, era el principal y, digamos, el original, con una funcionalidad muy amplia y muchas posibilidades. 



El desarrollo del portal HTML comenzó con la versión 8.20, solo con la perspectiva de abandonar Flash, agregando gradualmente nuevas funcionalidades. La versión de vCloud Director 9.5, que ahora se presenta en tres de nuestros sitios, satisface la mayoría de las solicitudes de los clientes en términos de funciones, pero desde el punto de vista de la administración, comenzaron a aparecer problemas bastante importantes.



Como solución intermedia, logramos encontrar una configuración de navegador en la que aún permanece el acceso a Flash. Y desde el punto de vista de la gestión, seguimos controlando la situación, no hay problemas. 



Sin embargo, para los usuarios, la funcionalidad de la versión 9.5 no es ideal. Los usuarios ya están acostumbrados a trabajar en Flash, y su ausencia provoca inconvenientes, hacen preguntas, “pero antes de estoasí fue, pero ¿cómo podemos hacerlo ahora? " En 10 versiones, la funcionalidad es notablemente mejor y se acerca lo más posible a Flash. Por lo tanto, se decidió que actualizar vCloud Director es la tarea n. ° 1.



Legado pesado



La situación se complicó por el hecho de que la plataforma en la nube en nuestro centro de datos en San Petersburgo y en el sitio asociado en Varsovia es nuestro "legado" de un integrador de sistemas que lo implementó en 2013. Hasta 2017, la misma empresa realizó completamente el mantenimiento y las actualizaciones, y luego aumentamos una cantidad suficiente de nuestra propia experiencia para tomar el control completamente en nuestras propias manos. 



Ya un análisis preliminar de la situación mostró que no se puede simplemente tomar y actualizar de la versión 9.5 a la 10.2. La elaboración de un plan de actualización paso a paso para todas las versiones de software para diferentes elementos de la nube con matrices de compatibilidad llevó al arquitecto responsable de la tarea más de 2 semanas. 



Esto se debe a la compleja estructura de las dependencias de las versiones de software, cuya lógica requiere una transición gradual y estrictamente secuencial a las nuevas versiones para mantener el buen funcionamiento de la nube en su conjunto.  



La necesidad de una actualización inocente, aparentemente de vCloud Director, nos obligó a lanzar una actualización completa de la plataforma, comenzando con los servidores Windows con Active Directory y terminando con todos los componentes adicionales. Para completar la actualización planificada a la versión de destino en vCloud Director, deberá actualizar todo el sistema cuatro veces: la actualización de la plataforma en la nube se realizará en tres rondas o colas completas. 



Comenzaremos con nuestra propia nube en Varsovia, seguida de sitios en San Petersburgo y Moscú. La fecha prevista de finalización de estas obras es mayo de 2021. 



Pero primero, practiquemos con el "gemelo digital" de la nube. 



Gemelo digital para la nube



El plan de trabajo para solo uno de los sitios es simplemente colosal, teniendo en cuenta el recurso del equipo de proyecto de tres especialistas. 



Esta limitación, así como el tiempo, el número de pasos intermedios y la complejidad de la infraestructura, nos obligó a probar a fondo la implementación práctica del proyecto en una maqueta virtual: un gemelo digital de la nube en un laboratorio virtual. 



El gemelo digital en la nube nos da confianza en la calidad de los cambios del sistema que se activan y en el logro de los resultados esperados. Además, es muy conveniente trabajar en varios escenarios para operar la plataforma en un gemelo de este tipo, y en caso de error o falla, siempre tendremos la oportunidad de retroceder a una instantánea de la máquina virtual con corrección de los errores. Esto acelera el proceso de actualización y permite que se lleve a cabo sin perder la calidad del sistema en su conjunto.



Todas las actualizaciones se realizarán de forma preliminar en el gemelo digital y, luego, si los procesos de transición gradual a nuevas versiones de todos los elementos de la plataforma tienen éxito, se ajustará el plan de trabajo detallado para la infraestructura objetivo real. 



El gemelo digital replica completamente la infraestructura de la plataforma hasta los últimos componentes de todos los sistemas. Todos los cambios en la infraestructura real (ajustes, configuraciones, actualizaciones de software) se procesan primero en ella. 



Observamos cómo todos los elementos se suman en una sola imagen, determinamos los riesgos, calculamos el tiempo que lleva esta o aquella etapa de la actualización, en base a lo cual se crea un plan de trabajo detallado. 



El gemelo se fabrica utilizando la tecnología de virtualización anidada: virtualización anidada. VMware le permite generar hipervisores internamente y también puede ejecutar máquinas virtuales en estos hipervisores. 



En el marco de nuestra nube de Varsovia, se asignaron recursos para la creación de un "gemelo" y se implementaron hipervisores, máquinas virtuales y una red en ellos; "reconstruimos" la nube desde cero de acuerdo con todas las versiones, paquetes y sistemas operativos software y arquitectura que los conecta en una única solución.



Esto no es "Ctrl + C / Ctrl + V", es decir, no solo copiamos el sistema existente: solo se reprodujeron los componentes principales del sistema y la lógica de su interacción, hasta el ancho de banda de los canales de comunicación, NGINX como proxy inverso y "configs" para el registro de tráfico.



El gemelo "come" los recursos del sitio por un monto de $ 650 por mes; por ejemplo, pagamos a VMware como proveedor de servicios por la RAM consumida por el "doble", y hay más de 20 máquinas virtuales implementadas en él .



Estos son costos importantes, pero por otro lado, ejecutar de manera segura el script de actualización paso a paso nos garantiza una protección del 100% contra fallas y momentos imprevistos al actualizar en infraestructura real. Las posibles pérdidas debidas a un mal funcionamiento del sistema son órdenes de magnitud superiores a los costes de mantenimiento del "gemelo". 



Nuestras expectativas



Según cálculos preliminares, el recurso del sistema después de la actualización será suficiente para que la plataforma funcione al nivel adecuado sin necesidad de cambios, sin mencionar una reestructuración global, al menos hasta fines de 2021. 



Como parte de los preparativos actuales para la actualización de la mayoría de las principales versiones de software de los sistemas clave, el indicador de fin de soporte se remonta a fines de 2023. Además, para un número significativo de sistemas, el momento de la terminación del soporte para las versiones de software sigue sin ser declarado hasta ahora. 



Es decir, el margen de seguridad general debería ser suficiente para 1-2 años, y si estamos hablando de una renovación global comparable a la actual, hoy estamos sentando las bases para un período aún más largo. 



El ciclo de vida de una plataforma en la nube implica la necesidad de tener siempre versiones de software actualizadas de los elementos clave del sistema. 



Hablando en general sobre esta área de trabajo, se puede observar que la complejidad general y el dolor de tal reestructuración siempre dependerán de lo difícil que sea lanzarla, habiendo dejado de rastrear la compatibilidad de las versiones, así como de cuán diverso es el “zoológico” de varios elementos, tecnologías, protocolos y el software sobre el que se construye la nube.



¿Por qué debemos luchar aquí? Hacia la unificación: la actualización global lanzada finalmente simplificará en gran medida nuestra vida y mejorará la confiabilidad de la nube en su conjunto. 



Podremos alejarnos por completo del legado del integrador que desplegó toda esta infraestructura. No tendremos puntos ciegos ni eslabones débiles potenciales en la cadena de valor de la nube en forma de disponibilidad, flexibilidad de configuración, confiabilidad y otros parámetros que afectan el SLA. 



Tan pronto como todos los componentes de la nube operen en las mismas versiones de software en todos los sitios, las actualizaciones, extensiones e integraciones posteriores se convertirán en una cuestión de gestión competente del componente técnico, de rutina, y no en un proyecto administrativo y técnico global. 



Planeamos utilizar el gemelo digital de la nube en el futuro. Es una herramienta útil que ayuda a que el proceso de actualización de la infraestructura sea más seguro y rápido.



All Articles