Arquitectura de la carga de trabajo - Marco de AWS Well-Architected

Arquitectura de la carga de trabajo

Una carga de trabajo fiable comienza por tomar decisiones de diseño anticipadas tanto para el software como para la infraestructura. Sus elecciones respecto a la arquitectura afectarán al comportamiento de su carga de trabajo en todos los pilares de Well-Architected. Para la fiabilidad, debe seguir patrones específicos.

En AWS, los desarrolladores de la carga de trabajo pueden elegir los lenguajes y las tecnologías que usar. Los SDK de AWS simplifican la codificación al proporcionar API específicas de lenguajes para los servicios de AWS. Estos SDK, más la elección del lenguaje, permiten a los desarrolladores implementar las prácticas recomendadas de fiabilidad enumeradas aquí. Los desarrolladores también pueden leer y aprender sobre cómo Amazon crea y opera el software en Amazon Builders' Library.

Las siguientes preguntas se centran en estas consideraciones de fiabilidad.

REL 3: ¿Cómo diseña la arquitectura de servicio de su carga de trabajo?
Desarrolle cargas de trabajo escalables y fiables mediante una arquitectura orientada a servicios (SOA) o una arquitectura de microservicios. La arquitectura orientada a servicios (SOA) es hacer que los componentes de software se puedan reutilizar mediante interfaces de servicio. La arquitectura de microservicios va más allá, para hacer que los componentes sean más pequeños y sencillos.
REL 4: ¿Cómo diseña las interacciones en un sistema distribuido para evitar errores?
Los sistemas distribuidos se basan en las redes de comunicaciones para interconectar componentes, como servidores o servicios. Su carga de trabajo debe funcionar de manera fiable a pesar de la pérdida de datos o la latencia en estas redes. Los componentes del sistema distribuido deben funcionar de manera que no afecten negativamente a otros componentes o a la carga de trabajo. Estas mejores prácticas previenen los fallos y mejoran el tiempo medio entre errores (MTBD).
REL 5: ¿Cómo diseña las interacciones en un sistema distribuido para mitigar o tolerar errores?
Los sistemas distribuidos dependen de las redes de comunicaciones para interconectar componentes, como servidores o servicios. Su carga de trabajo debe funcionar de manera fiable aunque se pierdan datos o haya latencia en estas redes. Los componentes del sistema distribuido deben funcionar de manera que no afecten negativamente a otros componentes o a la carga de trabajo. Estas prácticas recomendadas permiten que las cargas de trabajo toleren el estrés o los errores, se recuperen más rápidamente de ellos y mitiguen el impacto de dichos errores. El resultado es un tiempo medio de recuperación (MTTR) mejor.