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 tendrán un impacto sobre el comportamiento de su carga de trabajo en los seis pilares de Well-Architected. Para la fiabilidad, hay patrones específicos que debe seguir.
En AWS, los desarrolladores de la carga de trabajo pueden elegir los idiomas y las tecnologías a usar. Los SDK de AWS simplifican la codificación al proporcionar API específicas de idioma para los servicios de AWS. Estos SDK, más la elección del idioma, permiten a los desarrolladores implementar las prácticas recomendadas de fiabilidad enumeradas aquí. Los desarrolladores también pueden informarse y aprender sobre el modo en que Amazon crea y opera software en la
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 utilizando una arquitectura orientada a servicios (SOA) o una arquitectura de microservicios. La arquitectura orientada a servicios (SOA) es la práctica de 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 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 forma que no repercutan negativamente en otros componentes ni en la carga de trabajo. Estas prácticas recomendadas evitan que se produzcan errores y mejoran el tiempo medio entre errores (MTBF). |
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 forma que no repercutan negativamente en otros componentes ni en 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. |