Este contenido está desactualizado. Esta versión de Well-Architected Framework se encuentra ahora en: https://docs.aws.amazon.com/es_es/wellarchitected/2022-03-31/framework/operational-excellence.html

OPS 5: ¿Cómo reduce los defectos, facilita la corrección y mejora el flujo en la producción?

Adopte enfoques que mejoren el flujo de los cambios en la producción y que permitan la refactorización, la retroalimentación rápida sobre la calidad y la corrección de errores. Estos enfoques aceleran los cambios beneficiosos que se aplican a la fase de producción, limitan los problemas implementados y permiten una rápida identificación y solución de los problemas que acarrearon las actividades de implementación.

Recursos

CI/CD for Serverless Applications on AWS
Design with Ops in Mind
AWS Developer Tools

Prácticas recomendadas:

Plan de mejora

Utilizar el control de versiones

  • Utilizar el control de versiones: Mantenga los recursos en repositorios con control de versiones. De esta manera, se puede rastrear cambios, implementar nuevas versiones, detectar cambios en versiones existentes y revertir a versiones anteriores (por ejemplo, restaurar a un estado correcto conocido en caso de error). Integre las capacidades de control de versiones de sus sistemas de administración de configuración en sus procedimientos.
    Introduction to AWS CodeCommit
    What is AWS CodeCommit?
  • Evaluar y validar los cambios

  • Evaluar y validar los cambios: Se deben probar los cambios y se deben validar los resultados en todas las etapas del ciclo de vida (por ejemplo, desarrollo, prueba y producción). Utilice los resultados de las pruebas para confirmar nuevas características y mitigar los riesgos y el impacto de implementaciones fallidas. Automatice las pruebas y la validación para garantizar la coherencia de la revisión, a fin de reducir los errores causados por procesos manuales y, también, reducir el nivel de esfuerzo necesario.
    What is AWS CodeBuild?
    Local build support for AWS CodeBuild
  • Utilizar sistemas de administración de la configuración

  • Utilizar sistemas de administración de la configuración: Utilice sistemas de administración de configuración para hacer un seguimiento y aplicar cambios con el fin de reducir errores causados por los procesos manuales y reducir el nivel de esfuerzo.
    Infrastructure configuration management
    AWS Config
    What is AWS Config?
    Introduction to AWS CloudFormation
    What is AWS CloudFormation?
    AWS OpsWorks
    What is AWS OpsWorks?
    Introduction to AWS Elastic Beanstalk
    What is AWS Elastic Beanstalk?
  • Utilizar sistemas de administración de implementaciones y creaciones

  • Utilizar sistemas de administración de implementaciones y creaciones: Utilice sistemas de administración de implementaciones y creaciones para hacer un seguimiento y aplicar cambios, para reducir errores causados por los procesos manuales y para reducir el nivel de esfuerzo. Automatice completamente la canalización de implementación e integración del código de registro mediante la creación, realización de pruebas, implementación y validación. Esto reduce el tiempo de espera, permite una mayor frecuencia de cambio y reduce el nivel de esfuerzo.
    What is AWS CodeBuild?
    Continuous integration best practices for software development
    Slalom: CI/CD for serverless applications on AWS
    Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
    What is AWS CodeDeploy?
  • Llevar a cabo la administración de parches

  • Administración de parches: Aplique parches a los sistemas para resolver problemas, para obtener características o capacidades deseadas y para mantener la conformidad con la política de gobernanza y los requisitos de soporte del proveedor. En sistemas inmutables, implemente el conjunto adecuado de parches para obtener el resultado deseado. Automatice el mecanismo de administración de parches a fin de reducir el tiempo transcurrido para aplicar el parche, los errores causados por procesos manuales y el nivel de esfuerzo necesario para aplicar parches.
    AWS Systems Manager Patch Manager
  • Compartir estándares de diseño

  • Compartir estándares de diseño: Comparta las prácticas recomendadas existentes, los estándares de diseño, las listas de verificación, los procedimientos operativos y los requisitos de guía y gobernanza entre todos los equipos para reducir la complejidad y maximizar los beneficios de los esfuerzos de desarrollo. Asegúrese de que existan procedimientos para solicitar cambios, incorporaciones y excepciones a los estándares de diseño para favorecer la mejora e innovación continuas. Asegúrese de que los equipos conozcan el contenido publicado para poder aprovecharlo y limitar la repetición del trabajo y el esfuerzo desperdiciado.
    Delegating access to your AWS environment
    Share an AWS CodeCommit repository
    Easy authorization of AWS Lambda functions
    Sharing an AMI with specific AWS accounts
    Speed template sharing with an AWS CloudFormation designer URL
    Using AWS Lambda with Amazon SNS
  • Implementar prácticas para mejorar la calidad del código

  • Implementar prácticas para mejorar la calidad del código: Implemente prácticas para mejorar la calidad del código a fin de minimizar los defectos y el riesgo de implementarlos. Por ejemplo, el desarrollo basado en pruebas, la programación en pares, las revisiones de códigos y la adopción de estándares.
  • Utilizar varios entornos

  • Utilizar varios entornos: Proporcione a los desarrolladores entornos de prueba con controles minimizados para que puedan experimentar. Ofrezca entornos individuales de desarrollo para permitir el trabajo en paralelo y, de esta forma, aumentar la agilidad de desarrollo. Implemente controles más rigurosos en los entornos que aborden la producción para permitirles a los desarrolladores la libertad necesaria para innovar. Utilice Infrastructure as Code y sistemas de administración de configuración para implementar entornos configurados de manera coherente con los controles que están presentes en la fase de producción con el fin de garantizar que los sistemas funcionen como se previó al momento de implementarlos. Cuando los entornos no estén en uso, apáguelos para evitar costos asociados con recursos inactivos (por ejemplo, sistemas de desarrollo durante la noche o los fines de semana). Implemente entornos equivalentes a la producción cuando realice pruebas de carga para facilitar resultados válidos.
    What is AWS CloudFormation?
    How do I stop and start Amazon EC2 instances at regular intervals using AWS Lambda?
  • Realizar cambios reversibles, pequeños y frecuentes

  • Realizar cambios reversibles, pequeños y frecuentes: Los cambios frecuentes, pequeños y reversibles reducen el alcance y el impacto de un cambio. Esto facilita la resolución de problemas, permite correcciones más rápidas y proporciona la opción de restaurar los cambios. Además, aumenta la tasa a la cual puede entregar valor a la empresa.
  • Automatizar por completo la integración y la implementación

  • Utilizar sistemas de administración de implementaciones y creaciones: Utilice sistemas de administración de implementaciones y creaciones para hacer un seguimiento y aplicar cambios, para reducir errores causados por los procesos manuales y para reducir el nivel de esfuerzo. Automatice completamente la canalización de implementación e integración del código de registro mediante la creación, realización de pruebas, implementación y validación. Esto reduce el tiempo de espera, permite una mayor frecuencia de cambio y reduce el nivel de esfuerzo.
    What is AWS CodeBuild?
    Continuous integration best practices for software development
    Slalom: CI/CD for serverless applications on AWS
    Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
    What is AWS CodeDeploy?