View a markdown version of this page

OPS04-BP05 Implementar trazabilidad de transacciones - AWS Well-Architected Framework

OPS04-BP05 Implementar trazabilidad de transacciones

Implemente el código de su aplicación y configure los componentes de su carga de trabajo para que emitan eventos, los cuales se activan como resultado de operaciones lógicas únicas y se consolidan a través de varios límites de la carga de trabajo. Genere mapas para ver cómo fluyen los rastreos a través de sus servicios y carga de trabajo. Obtenga información sobre las relaciones entre los componentes e identifique y analice los problemas. Utilice la información recopilada para determinar cuándo se requiere una respuesta y para identificar los factores que contribuyen al problema.

Resultado deseado:

  • Recopilar rastreos de transacciones en toda la carga de trabajo para conocer mejor la relación entre los componentes.

  • Generar mapas para comprender mejor cómo fluyen las transacciones y los eventos en su carga de trabajo.

Antipatrones usuales:

  • Ha implementado una arquitectura de microservicios sin servidor que abarca múltiples cuentas. Sus clientes tienen problemas de rendimiento intermitentes. No puede descubrir qué función o componente es responsable porque carece de trazabilidad de las transacciones.

  • Hay un cuello de botella en el rendimiento de su carga de trabajo. Debido a la falta de trazabilidad de las transacciones, no puede ver la relación entre los componentes de la aplicación e identificar el cuello de botella.

  • El identificador utilizado para los rastreos no es único a escala global, lo que provoca una colisión de rastreos al analizar el comportamiento de la carga de trabajo.

Beneficios de establecer esta práctica recomendada:

  • Comprender el flujo de transacciones a través de su carga de trabajo proporciona información sobre el comportamiento esperado de las transacciones de la carga de trabajo.

  • Podrá ver las variaciones del comportamiento esperado en la carga de trabajo y responder si es necesario.

  • Podrá localizar las transacciones por su identificador único generado, independientemente de dónde se hayan generado.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: bajo

Guía para la implementación

Diseñe su aplicación y su carga de trabajo para emitir información sobre el flujo de transacciones a través de los componentes del sistema. Los datos que deben incluirse en las transacciones son un identificador de transacción único a escala global, la etapa de la transacción, el componente activo y el tiempo para completar la actividad. Utilice esta información para determinar lo que está en curso, lo que está completo y cuáles son los resultados de las actividades completadas.

Ejemplo de cliente

En AnyCompany Retail, todas las transacciones tienen un UUID único generado a escala global. Este UUID se pasa entre microservicios durante las transacciones. El UUID se utiliza para crear rastreos de las transacciones a medida que los usuarios interactúan con la carga de trabajo. Con los rastreos, se genera un mapa de la topología de la carga de trabajo que se utiliza para solucionar los problemas de la carga de trabajo y mejorar el rendimiento.

Pasos para la implementación

  1. Instrumente las aplicaciones de su carga de trabajo para que emitan rastreos de transacciones. Para hacerlo, puede generar un identificador único para cada transacción y pasar el identificador entre aplicaciones.

    1. Puede utilizar la autoinstrumentación en AWS Distro for OpenTelemetry para implementar rastreos en sus aplicaciones existentes sin modificar el código de la aplicación.

  2. Genere mapas de la topología de la aplicación. Utilice estos mapas para mejorar el rendimiento, obtener información y ayudar en la resolución de problemas.

    1. AWS X-Ray puede generar mapas de las aplicaciones de su carga de trabajo.

Nivel de esfuerzo para el plan de implementación: medio. La implementación de rastreos de transacciones podría requerir un esfuerzo de desarrollo moderado.

Recursos

Prácticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados:

Ejemplos relacionados:

Servicios relacionados: