Información general sobre el fundamento de confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. El diseño de la resistencia en el marco de aplicaciones garantiza que las cargas de trabajo estén disponibles y puedan recuperarse de errores a cualquier escala.

La creación de la confiabilidad incluye:

  • Garantizar una arquitectura de alta disponibilidad.
  • Recuperarse de errores como la pérdida de datos, un tiempo de inactividad importante o incidentes de ransomware.

Para evaluar la confiabilidad de la carga de trabajo mediante los principios que se encuentran en el Marco de buena arquitectura de Microsoft Azure, consulte la Reseña del Marco de buena arquitectura de Microsoft Azure.

Para obtener más información, explore el siguiente vídeo sobre cómo profundizar más en la confiabilidad de la carga de trabajo de Azure:


En el desarrollo de aplicaciones tradicional se ha hecho especial hincapié en el aumento del tiempo medio entre errores. Se invertían esfuerzos en intentar impedir que se produjeran errores del sistema. En el caso de la informática en la nube, es necesario tener una mentalidad distinta como consecuencia de diversos factores:

  • Los sistemas distribuidos son complejos, y un error en un punto puede potencialmente reproducirse en todo el sistema.
  • Los costos de los entornos de la nube se mantienen bajos gracias al hardware básico, por lo que deben esperarse errores de hardware ocasionales.
  • Las aplicaciones a menudo dependen de servicios externos, que podrían sufrir tiempos de inactividad o limitar a los usuarios de gran volumen.
  • Los usuarios actuales esperan una aplicación que esté disponible las 24 horas del día, los 7 días de la semana, sin quedarse nunca sin conexión.

Todos estos factores implican que las aplicaciones en la nube deben diseñarse para esperar errores ocasionales y recuperarse de ellos. Azure cuenta con muchas características de resistencia ya integradas en la plataforma. Por ejemplo:

  • Azure Storage, Azure SQL Database y Azure Cosmos DB proporcionan replicación de datos integrada entre zonas de disponibilidad y regiones.
  • Las instancias de Azure Managed Disks se colocan automáticamente en unidades de escalado de almacenamiento diferentes, con el fin de limitar los efectos de los errores de hardware.
  • Las máquinas virtuales (VM) de un conjunto de disponibilidad están repartidas entre varios dominios de error. Un dominio de error es un grupo de VM que comparten una fuente de alimentación común y un conmutador de red. El hecho de repartir las máquinas virtuales entre dominios de error limita el impacto de errores de hardware físico, interrupciones de red o cortes de alimentación eléctrica.
  • Las zonas de disponibilidad son ubicaciones separadas físicamente dentro de cada región de Azure. Cada zona consta de uno o varios centros de datos equipados con una infraestructura de alimentación, refrigeración y redes independientes. Gracias a las zonas de disponibilidad, puede diseñar y usar aplicaciones y bases de datos que cambian automáticamente entre zonas sin interrupción, lo que garantiza la resistencia si una zona se ve afectada. Para obtener más información, consulte Regiones y zonas de disponibilidad en Azure.

Dicho esto, aún necesita trabajar en la resistencia de su aplicación. Las estrategias de resistencia pueden aplicarse a todos los niveles de la arquitectura. Algunas de las mitigaciones son de naturaleza más táctica; por ejemplo, volver a intentar una llamada remota después de un error transitorio de la red. Otras mitigaciones son más estratégicas, como la conmutación por error de toda una aplicación en una región secundaria. Las mitigaciones tácticas pueden suponer una gran diferencia. Aunque es poco frecuente que toda una región experimente una interrupción, los problemas transitorios, como la congestión de la red, son más frecuentes, así que céntrese en estos primero. También es importante contar con una supervisión y un diagnóstico adecuados para detectar los errores en el momento en que se producen, así como para encontrar las causas principales.

Cuando se diseña una aplicación para que sea resistente, se deben comprender los requisitos de disponibilidad. ¿Cuánto tiempo de inactividad es aceptable? La cantidad de tiempo de inactividad es en parte una función del costo. ¿Cuánto le costará el tiempo de inactividad potencial a su negocio? ¿Cuánto debe invertir para que la aplicación tenga alta disponibilidad?

Temas y procedimientos recomendados

El pilar de confiabilidad trata los siguientes temas y procedimientos recomendados para ayudarle a crear una carga de trabajo resistente:

Tema de confiabilidad Description
Principios de confiabilidad Estos principios críticos se usan como objetivos para evaluar la confiabilidad de una aplicación implementada en Azure.
Diseño para la confiabilidad Tenga en cuenta cómo los sistemas usan zonas de disponiilidad, realizan la escalabilidad, responden a los errores, y otras estrategias que optimizan la confiabilidad en el diseño de las aplicaciones.
Lista de comprobación de resistencia para servicios de Azure específicos Todas las tecnologías tienen sus propios modos de error particulares que debe tener en cuenta al diseñar e implementar la aplicación. Use esta lista de comprobación para revisar las consideraciones de resistencia para servicios específicos de Azure.
Requisitos no funcionales y de destino Los requisitos de destino y no funcionales, como los destinos de disponibilidad y de recuperación, permiten medir el tiempo de actividad e inactividad de las cargas de trabajo. Tener destinos claramente definidos es fundamental para obtener un objetivo de trabajo y medición.
Resistencia y dependencias Programar la recuperación de errores en el sistema debe formar parte de las fases de arquitectura y diseño desde el principio para evitar el riesgo de que se produzcan errores. Para que la aplicación funcione por completo, se necesitan dependencias.
Zonas de disponibilidad Availability Zones puede usarse para distribuir una solución en varias zonas dentro de una región, lo que permite que una aplicación siga funcionando cuando se produce un error en una zona.
Disponibilidad de servicios La disponibilidad de los servicios entre regiones de Azure depende del tipo de región. La directiva general de Azure sobre la implementación de servicios en una región determinada se basa principalmente en el tipo de región, las categorías de servicio y la demanda del cliente.
Terminología de la zona de disponibilidad Para conocer mejor las regiones y las zonas de disponibilidad en Azure, le resultará más fácil comprender los términos o conceptos clave.
procedimientos recomendados Durante la fase de arquitectura, concéntrese en implementar procedimientos que satisfagan los requisitos empresariales, identifique puntos de error y minimice el alcance de los errores.
Prueba de confiabilidad Se deben realizar pruebas periódicas con cada cambio principal para validar los umbrales, los objetivos y los supuestos existentes.
Supervisión para la confiabilidad Obtenga una visión general del mantenimiento de la aplicación. En caso de error, es necesario saber que se ha producido, cuándo y por qué.
Patrones de confiabilidad Las aplicaciones deben diseñarse e implementarse para maximizar la disponibilidad.

Paso siguiente