Resumen

Completado

Contoso Shoes es una zapatería en línea que quiere estar todo lo disponible que pueda durante un próximo lanzamiento. Migraron sus implementaciones locales a la nube hace dos años, y se han beneficiado de haber adoptado el uso del modelo OpEx. En los últimos seis meses, han experimentado problemas con la disponibilidad y los operadores no tienen capacidad de solucionar problemas rápidamente. Ahora, la empresa quiere invertir para que la carga de trabajo sea crítica y centrarse en mejorar la confiabilidad general y la observabilidad del sistema.

En la arquitectura anterior, la aplicación estaba implementada en una sola región y no era capaz de resistir las interrupciones regionales. Azure App Service y las herramientas de supervisión externas no tenían forma de comprobar el estado de mantenimiento de la propia aplicación. Esta carencia obligaba a enrutar el tráfico a instancias de App Service incorrectas, lo que daba lugar a solicitudes con errores. El equipo fue incapaz de ver el impacto en cascada de los problemas originados en un componente de API que afectaba a sus dependencias de la plataforma.

Al completar este desafío, hemos explorado un diseño crítico en términos generales. Hemos puesto en práctica lo aprendido a lo largo de los ejercicios para satisfacer las necesidades de Contoso.

El diseño mejorado detecta un deterioro del rendimiento de uno o varios componentes mediante un modelo de estado. Ahora, el equipo de SRE puede detectar y resolver problemas rápidamente, antes de que puedan provocar una interrupción completa. Ahora que la solución está implementada en varias regiones de un modelo activo-activo, puede soportar un error regional completo, al tiempo que proporciona más información sobre el estado del sistema a sus operaciones. Contoso también ha mejorado su experiencia de cliente al atender a los clientes con mayor rapidez en una región geográficamente más cercana a ellos.

Enhorabuena por completar este proyecto de desafío. Ha validado su destreza para analizar una solución de ejemplo existente y diseñar una arquitectura mejor.

Pasos siguientes sugeridos

Los ejercicios que ha completado son un buen comienzo, pero no cubren todos los aspectos de una carga de trabajo crítica. Siga analizando los principios de diseño y las áreas en el artículo Cargas de trabajo críticas bien diseñadas. Recomendamos estas áreas de valor clave.

  • Validación y pruebas continuas

    Debemos validar completamente el estado del código de la aplicación y la infraestructura. El ámbito debe cubrir los requisitos establecidos de confiabilidad, rendimiento, disponibilidad, seguridad, calidad y escala.

    Más información: Validación y pruebas continuas

  • Uso de varios entornos de aplicación

    Se recomienda encarecidamente que los entornos de desarrollo y pruebas no compartan recursos con el entorno de producción. Cada entorno tiene su propio conjunto de requisitos de confiabilidad, capacidad y seguridad. ¿Puede identificar los servicios de esta arquitectura que se comparten entre entornos? ¿De qué forma cambiaría el diseño para cumplir con esta recomendación?

    Más información: Entornos de aplicación

  • Entornos de implementación ampliados

    Los sistemas críticos requieren unas pruebas de versión preliminar rigurosas y unas prácticas sólidas del ciclo de vida de desarrollo de software. En lugar de un único entorno de desarrollo compartido, use varios entornos transitorios que tengan más parecido con los entornos de ensayo y producción. Debemos usar un entorno de ensayo dedicado para realizar pruebas de carga y rendimiento, pruebas de caos, pruebas de aceptación de usuario (UAT) y pruebas de seguridad.

    Más información: Implementaciones azules-verdes transitorias

  • Adición de resistencia con agentes de mensajes

    Incorpore un agente de mensajes que sea de ayuda con las transacciones complejas que necesitan coordinarse con varios puntos de conexión. Las solicitudes se pueden poner en cola para procesarlas, en lugar de arriesgarse a perder una venta debido a un error en un único componente.

    Más información: Arquitectura basada en eventos acoplada de forma débil

Más información

Para obtener más información sobre cómo diseñar soluciones en Azure, consulte la guía del Marco de buena arquitectura de Azure.

Explore estas arquitecturas de referencia en el Centro de arquitectura de Azure como una manera de expandir su diseño: