Principios del pilar de confiabilidad

La compilación de una aplicación confiable en la nube es diferente al desarrollo de aplicaciones tradicionales. Aunque históricamente puede que haya adquirido niveles de hardware redundante de gama alta para reducir al mínimo la probabilidad de que se produzca un error en toda la plataforma de aplicaciones, en la nube reconocemos por adelantado que se producirán errores. En lugar de intentar evitar todos los errores, el objetivo es minimizar los efectos que pueden provocar los errores de un único componente.

Marco de trabajo de la aplicación

Estos principios críticos se usan como objetivos para evaluar la confiabilidad de una aplicación implementada en Azure. Proporcionan un marco para las preguntas de evaluación de la aplicación que se indican a continuación.

Para evaluar la carga de trabajo con 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.

  • Definir y probar los destinos de disponibilidad y recuperación: los objetivos de disponibilidad, como los Acuerdos de Nivel de Servicio (SLA) y los objetivos de nivel de servicio (SLO), y los objetivos de recuperación, como los objetivos de tiempo de recuperación (RTO) y los objetivos de punto de recuperación (RPO), deben definirse y probarse para garantizar que la confiabilidad de la aplicación se alinee con los requisitos empresariales.

  • Diseñar aplicaciones que sean resistentes a los errores: deben diseñarse arquitecturas de aplicación resistentes que se recuperen correctamente de los errores en la alineación con los destinos de confiabilidad definidos.

  • Garantizar que la capacidad y los servicios necesarios están disponibles en las regiones de destino: los servicios y la capacidad de Azure pueden variar en función de la región, por lo que es importante comprender si las regiones de destino ofrecen las funcionalidades necesarias.

  • Planear la recuperación ante desastres: la recuperación ante desastres es el proceso de restaurar la funcionalidad de una aplicación a consecuencia de un error catastrófico. Puede ser aceptable que algunas aplicaciones no estén disponibles o lo estén parcialmente con funcionalidad reducida durante un período de tiempo, mientras que otras aplicaciones puede que no toleren la funcionalidad reducida.

  • Diseñar la plataforma de aplicaciones para cumplir los requisitos de confiabilidad: el diseño de la resistencia y la disponibilidad de la plataforma de aplicaciones es fundamental para garantizar la confiabilidad general de la aplicación.

  • Diseñar la plataforma de datos para cumplir los requisitos de confiabilidad: el diseño de la resistencia y la disponibilidad de la plataforma de datos es fundamental para garantizar la confiabilidad general de las aplicaciones.

  • Recuperarse de los errores: las aplicaciones resistentes deben ser capaces de recuperarse automáticamente de los errores aprovechando los patrones modernos de código de las aplicaciones en la nube.

  • Garantizar que las redes y la conectividad cumplen los requisitos de confiabilidad: la identificación y la mitigación de posibles cuellos de botella de red o puntos de error admiten una base confiable y escalable a través de la que pueden comunicarse los componentes de aplicaciones resistentes.

  • Permitir la confiabilidad en la escalabilidad y el rendimiento: las aplicaciones resistentes deben ser capaces de reducirse horizontalmente de manera automática en respuesta al cambio de la carga para mantener la disponibilidad de las aplicaciones y cumplir los requisitos de rendimiento.

  • Abordar los riesgos relacionados con la seguridad: identificar y abordar los riesgos relacionados con la seguridad ayuda a minimizar el tiempo de inactividad de las aplicaciones y la pérdida de datos causados por exposiciones de seguridad inesperadas.

  • Definir, automatizar y probar los procesos operativos: los procesos operativos para la implementación de aplicaciones, como la puesta al día y la reversión, deben definirse, estar suficientemente automatizados y probarse para garantizar la alineación con los objetivos de confiabilidad.

  • Probar la tolerancia a errores: se deben probar las cargas de trabajo de aplicaciones para validar la confiabilidad frente a los objetivos de confiabilidad definidos.

  • Supervisar y medir el estado de las aplicaciones: supervisar y medir la disponibilidad de las aplicaciones es fundamental para calificar el estado general de la aplicación y el progreso hacia los objetivos de confiabilidad definidos.

Paso siguiente