Volver al curso: Azure Professional Training 2024: Fundamentos
Vamos a conocer aspectos relevantes sobre la disponibilidad de máquinas virtuales, es decir responder a esta pregunta: ¿qué opciones tengo para evitar que si una máquina virtual falla, falle mi aplicación?
Además, vamos a conocer consideraciones sobre niveles de servicio en máquinas virtuales, y descubriremos cómo este tema está influido por el diseño de nuestras aplicaciones.
Disponibilidad y Escalado de VMs en Azure
Se pueden ejecutar máquinas virtuales únicas para pruebas, desarrollo o tareas secundarias. Ahora bien: también se pueden agrupar las máquinas virtuales para proporcionar alta disponibilidad, escalabilidad y redundancia:
- Se pueden agrupar máquinas virtuales con características similares utilizando conjuntos de disponibilidad: estos conjuntos aseguran la alta disponibilidad de nuestras máquinas virtuales dentro de un centro de datos específico. Distribuyen nuestras VMs en grupos separados de hardware para garantizar que, si ocurre un fallo en una parte del centro de datos, otras máquinas virtuales sigan funcionando sin interrupciones. Ideal para aplicaciones que requieren continuidad y alta disponibilidad a nivel local dentro de un único centro de datos. No obstante, la configuración de la escalabilidad y balanceo de dichas VMs es nuestra responsabilidad.
- Se pueden agrupar máquinas virtuales con características similares con conjuntos de escalado: los conjuntos de escalado permiten escalar automáticamente el número de máquinas virtuales en función de la demanda de la aplicación. Esto es especialmente útil para aplicaciones web y servicios que experimentan fluctuaciones en la carga de trabajo. Estos conjuntos pueden desplegarse en una región específica de Azure y se adaptan dinámicamente según las necesidades de capacidad de la aplicación.. Microsoft se encarga de configurar el balanceo entre las VMs y otros aspectos relevantes, trabajando siempre sobre una misma plantilla de nuestro equipo virtual.
- Se puede lograr incrementar, también, la disponibilidad de máquinas virtuales a través de las zonas de disponibilidad: las zonas de disponibilidad son estructuras físicas aisladas dentro de una región de Azure, cada una con su propia infraestructura de red, electricidad y refrigeración. Permite la ejecución de aplicaciones altamente disponibles y tolerantes a fallos en diferentes zonas para mejorar la resiliencia frente a interrupciones. Las zonas de disponibilidad proporcionan un alcance regional, lo que significa que abarcan múltiples centros de datos dentro de una región de Azure, ofreciendo así una mayor protección contra posibles fallas en un área geográfica específica. En este caso la responsabilidad de balanceo es nuestra.
Vamos a explorar cada una de estas opciones.
Conjuntos de disponibilidad de máquinas virtuales
Los conjuntos de disponibilidad de máquinas virtuales son una herramienta que te ayudará a crear un entorno más resistente y de alta disponibilidad dentro de un centro de datos (es importante reforzar que los conjuntos de disponibilidad no tienen alcance regional, sino en una zona en particular de una región de Azure).
Los conjuntos de disponibilidad están diseñados para garantizar que las máquinas virtuales escalen las actualizaciones y tengan una conectividad de red y potencia variadas, lo que evita que se pierdan todas las máquinas virtuales debido a un solo fallo de energía o de la red.

Los conjuntos de disponibilidad lo hacen mediante la agrupación de las máquinas virtuales de dos maneras: dominio de actualización y dominio de error.
- Dominio de actualización: agrupa las máquinas virtuales que se pueden reiniciar al mismo tiempo. Esto le permite aplicar actualizaciones mientras sabe que solo una agrupación de dominios de actualización estará sin conexión a la vez. Se actualizarán todas las máquinas de un dominio de actualización. A un grupo de actualizaciones que realiza el proceso de actualización se le asigna un tiempo de 30 minutos de recuperación antes de que se inicie el mantenimiento en el siguiente dominio de actualización.
- Dominio de error: agrupa las máquinas virtuales por fuente de alimentación común y conmutador de red. De forma predeterminada, un conjunto de disponibilidad dividirá las máquinas virtuales en un máximo de tres dominios de error. Esto ayuda a protegerse frente a un error de alimentación física o de la red al tener las máquinas virtuales en dominios de error diferentes (por tanto, conectadas a diferentes recursos de alimentación y red).
Lo mejor de todo es que la configuración de un conjunto de disponibilidad no supone ningún costo adicional. Solo paga por las instancias de máquina virtual que cree.
En conclusión: si tienes una aplicación y necesitas garantizar disponibilidad dentro de un centro de datos de Microsoft, puedes utilizar esta opción. Es importante reforzar que, una vez agrupadas las máquinas virtuales en los dominios de falla y dominios de actualización, serás tu el responsable de su balanceo. Esto significa que deberás configurar manualmente una solución de load balancing entre ellas.
Conjuntos de escalado de máquinas virtuales

Los conjuntos de escalado de máquinas virtuales permiten crear y administrar un grupo de máquinas virtuales idénticas, de carga equilibrada. Si simplemente ha creado varias máquinas virtuales con el mismo propósito, tendría que asegurarse de que todas se han configurado de forma idéntica y, después, configurar parámetros de enrutamiento de red para garantizar la eficacia. También tendría que supervisar el uso para determinar si necesita aumentar o disminuir el número de máquinas virtuales.
En su lugar, con los conjuntos de escalado de máquinas virtuales, Azure automatiza la mayor parte de ese trabajo:
- Los conjuntos de escalado le permiten administrar, configurar y actualizar de forma centralizada un gran número de máquinas virtuales en cuestión de minutos.
- El número de instancias de máquina virtual puede aumentar o disminuir automáticamente según la demanda, o bien puede establecerlo para que se escale en función de una programación definida.
- Los conjuntos de escalado de máquinas virtuales también implementan automáticamente un equilibrador de carga para asegurarse de que los recursos se usan de forma eficaz.
Con los conjuntos de escalado de máquinas virtuales, puedes crear servicios a gran escala para áreas como proceso, macrodatos y cargas de trabajo de contenedor.
En este caso, los conjuntos de escalado (o Virtual Machine Scale Sets en inglés) tienen opciones de alcance regional: puedes configurar para que las VMs se vayan desplegando en diferentes zonas dentro de una misma región, brindando mayor confiabilidad en el caso que falle un centro de datos en particular (o una zona de una región).
Zonas de disponibilidad en máquinas virtuales
Las Zonas de Disponibilidad en Azure son una herramienta esencial para asegurar la alta disponibilidad y la tolerancia a fallos en nuestras aplicaciones, y tienen un alcance regional. Estas zonas constituyen estructuras físicas aisladas dentro de una región de Azure, cada una con su propia infraestructura de red, electricidad y refrigeración.
Es importante recordar que NO TODAS las regiones de Azure cuentan con zonas de disponibilidad: sólo podrás utilizar esta funcionalidad en las que esté disponible. Y, además, es importante también reforzar que no sólo las máquinas virtuales pueden disfrutar de la funcionalidad de incrementar su disponibilidad gracias a las zonas de disponibilidad: también lo hacen decenas de otras soluciones en Azure, como servicios de bases de datos gestionados, Azure App Service, etc.

La principal ventaja de utilizar Zonas de Disponibilidad para máquinas virtuales radica en su capacidad para distribuir nuestras aplicaciones en diferentes zonas dentro de una misma región:
- Esto significa que, incluso si un centro de datos completo o una zona específica sufre un fallo, nuestras aplicaciones seguirán siendo accesibles y operativas gracias a la redundancia proporcionada por las otras zonas.
- Además, las Zonas de Disponibilidad ofrecen una mayor protección contra posibles fallas en un área geográfica específica. Al abarcar múltiples centros de datos dentro de una región de Azure, brindan una capa adicional de resiliencia y continuidad del servicio.
Es importante destacar que, al contrario de los Conjuntos de Escalado (VMSS de Azure), en el caso de las Zonas de Disponibilidad, la responsabilidad del balanceo recae en nosotros. Esto implica que debemos configurar manualmente una solución de equilibrado de carga entre las máquinas virtuales distribuidas en diferentes zonas para garantizar un rendimiento óptimo y una alta disponibilidad continua de nuestras aplicaciones.
Pero: ¿por qué elegirías Zonas de Disponibilidad para tus VMs si con Virtual Machine Scale Set obtienen algo similar incluyendo balanceo administrado por Microsoft? La respuesta es la siguiente:
- Características de tu aplicación:
- Si la aplicación que se ejecuta dentro de tus equipos virtuales no son réplicas exactas independientemente la zona en la que se ubica, como por ejemplo en el caso de Windows Server Active Directory ó SQL Server, deberías optar por Zonas de Disponibilidad en vez de Conjuntos de Escalado. Este tipo de aplicaciones requiere configuraciones específicas para cada equipo.
- Si, en cambio, tu aplicación es una aplicación web que tiene exactamente los mismos datos en cada replica, podrías optar por Conjuntos de Escalado (VMSS) como una opción adecuada.
- Nivel de control requerido:
- Si quieres tener un control riguroso sobre tus equipos virtuales, quizás debas optar por Zonas de Disponibilidad. En dicho caso cada máquina es independiente, y no depende de una plantilla base.
- Si, en cambio, el control requerido no es relevante y una falla sobre un equipo puede reemplazarse, simplemente, por una nueva VM de una plantilla: quizás tu opción sea VMSS.
Seguramente existan más consideraciones sobre cuándo elegir un Conjunto de Escalado (VMSS) o cuándo elegir máquinas individuales en Zonas de Disponibilidad: ¿te animas a dejarnos tus comentarios?
Es muy buena la pregunta sobre porqué eligiríamos Conjunto de escalado o zona de disponibilidad. La diferencia entonces es si necesito replicar exactamente o no las MV. Pero en el caso de que elija zona de disponibilidad, porque no tienen los mismos datos una zona u otra, que sucede ante la caída de una zona? Si hay diferencias entre ellas…
Hola
marozzir ! Aspectos importantes a tener en cuenta:
Saludos!
Sí Pablo, aclarado el punto. Muchas gracias.
Hola. Gracias por el vídeo. Ha sido muy constructivo. Quisiera revisar una cosa que no me ha quedado muy clara. Alguna de estas soluciones funciona como una copia bit a bit de discos? Me refiero a que si en alguno de los casos, cualquier cambio en un disco virtual se replica automáticamente a los demás… o simplemente la “sincronía” es inicial a través de la plantilla, y luego cada uno funciona de forma totalmente independiente? Muchas gracias!!
No! No hay replicación de datos per-se en las soluciones de VM. Siempre la replica la debes manejar vos.