

# Prepare
<a name="a-prepare"></a>

**Topics**
+ [

# OPS 4. ¿Cómo implementa la observabilidad en su carga de trabajo?
](ops-04.md)
+ [

# OPS 5. ¿Cómo reduce los defectos, facilita la reparación y mejora el flujo en producción?
](ops-05.md)
+ [

# OPS 6. ¿Cómo mitiga los riesgos de implementación?
](ops-06.md)
+ [

# OPS 7. ¿Cómo sabe que está listo para admitir una carga de trabajo?
](ops-07.md)

# OPS 4. ¿Cómo implementa la observabilidad en su carga de trabajo?
<a name="ops-04"></a>

Implemente la observabilidad en su carga de trabajo para que pueda comprender su estado y tomar decisiones basadas en datos en función de los requisitos empresariales.

**Topics**
+ [

# OPS04-BP01 Identificación de los indicadores clave de rendimiento
](ops_observability_identify_kpis.md)
+ [

# OPS04-BP02 Implementación de telemetría de aplicaciones
](ops_observability_application_telemetry.md)
+ [

# OPS04-BP03 Implementación de telemetría de la experiencia del usuario
](ops_observability_customer_telemetry.md)
+ [

# OPS04-BP04 Implementación de telemetría de dependencias
](ops_observability_dependency_telemetry.md)
+ [

# OPS04-BP05 Implementación de rastreo distribuido
](ops_observability_dist_trace.md)

# OPS04-BP01 Identificación de los indicadores clave de rendimiento
<a name="ops_observability_identify_kpis"></a>

 La implementación de la observabilidad en su carga de trabajo comienza con la comprensión de su estado y la toma de decisiones basadas en datos en función de los requisitos empresariales. Una de las formas más eficaces de garantizar la alineación entre las actividades de supervisión y los objetivos empresariales consiste en definir y supervisar los indicadores clave de rendimiento (KPI). 

 **Resultado deseado:** prácticas de observabilidad eficientes que están estrechamente alineadas con los objetivos empresariales, lo que garantiza que los esfuerzos de supervisión siempre estén al servicio de resultados comerciales tangibles. 

 **Patrones comunes de uso no recomendados:** 
+  Indicadores clave de rendimiento indefinidos: trabajar sin indicadores clave de rendimiento claros puede llevar a una supervisión excesiva o insuficiente y a la pérdida de señales vitales. 
+  KPI estáticos: no se revisitan ni refinan los KPI a medida que evolucionan la carga de trabajo o los objetivos empresariales. 
+  Desalineación: centrarse en las métricas técnicas que no se correlacionan directamente con los resultados empresariales o que son más difíciles de correlacionar con problemas de la vida real. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Facilidad de identificación de problemas: los KPI empresariales suelen mostrar los problemas con más claridad que las métricas técnicas. Una caída en un KPI empresarial puede identificar un problema de forma más eficaz que analizar numerosas métricas técnicas. 
+  Alineación empresarial: garantiza que las actividades de supervisión respalden directamente los objetivos empresariales. 
+  Eficiencia: priorice los recursos de supervisión y preste atención a las métricas que importan. 
+  Proactividad: detecte y aborde los problemas antes de que tengan implicaciones comerciales más amplias. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Para definir de forma eficaz los KPI de la carga de trabajo: 

1.  **Inicio con los resultados empresariales:** antes de profundizar en las métricas, comprenda los resultados empresariales deseados. ¿Se trata de un aumento de las ventas, una mayor participación de los usuarios o unos tiempos de respuesta más rápidos? 

1.  **Correlación de las métricas técnicas con los objetivos empresariales:** no todas las métricas técnicas tienen un impacto directo en los resultados empresariales. Identifique los que sí lo tienen, pero a menudo es más sencillo identificar un problema mediante un KPI empresarial. 

1.  **Uso de [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html):** utilice CloudWatch para definir y supervisar las métricas que representan sus KPI. 

1.  **Revisión y actualización de los KPI con regularidad**: a medida que su carga de trabajo y su empresa evolucionen, mantenga la relevancia de sus KPI. 

1.  **Implicación de las partes interesadas:** involucre a los equipos técnicos y empresariales en la definición y revisión de los KPI. 

 **Nivel de esfuerzo para el plan de implementación:** medio 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+ [OPS04-BP02 Implementación de telemetría de aplicaciones](ops_observability_application_telemetry.md)
+ [OPS04-BP03 Implementación de telemetría de la experiencia del usuario](ops_observability_customer_telemetry.md)
+ [OPS04-BP04 Implementación de telemetría de dependencias](ops_observability_dependency_telemetry.md)
+ [OPS04-BP05 Implementación de rastreo distribuido](ops_observability_dist_trace.md)

 **Documentos relacionados:** 
+ [AWS Observability Best Practices ](https://aws-observability.github.io/observability-best-practices/)
+ [ CloudWatch User Guide ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [AWS Observability Skill Builder Course ](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14688/aws-observability)

 **Videos relacionados:** 
+ [ Developing an observability strategy ](https://www.youtube.com/watch?v=Ub3ATriFapQ)

 **Ejemplos relacionados:** 
+  [One Observability Workshop](https://catalog.workshops.aws/observability/en-US) 

# OPS04-BP02 Implementación de telemetría de aplicaciones
<a name="ops_observability_application_telemetry"></a>

 La telemetría de aplicaciones sirve de base de la observabilidad de su carga de trabajo. Es crucial emitir telemetría que ofrezca información procesable sobre el estado de la aplicación y el logro de los resultados técnicos y empresariales. Desde la solución de problemas hasta la medición del impacto de una nueva característica o la garantía de la alineación con los indicadores clave de rendimiento (KPI) de la empresa, la telemetría de las aplicaciones informa sobre la forma de crear, operar y hacer evolucionar su carga de trabajo. 

 Las métricas, los registros y los rastreos forman los tres pilares principales de la observabilidad. Sirven como herramientas de diagnóstico que describen el estado de la aplicación. Con el tiempo, ayudan a crear puntos de referencia e identificar anomalías. Sin embargo, para garantizar la alineación entre las actividades de supervisión y los objetivos empresariales, es fundamental definir y supervisar los KPI. Los KPI empresariales suelen facilitar la identificación de los problemas en comparación con las métricas técnicas únicamente. 

 Otros tipos de telemetría, como la supervisión de usuarios reales (RUM) y las transacciones sintéticas, complementan estos orígenes de datos principales. La RUM ofrece información sobre las interacciones de los usuarios en tiempo real, mientras que las transacciones sintéticas simulan los posibles comportamientos de los usuarios, lo que ayuda a detectar los cuellos de botella antes de que los usuarios reales los encuentren. 

 **Resultado deseado:** obtenga información útil sobre el rendimiento de su carga de trabajo. Estos conocimientos le permiten tomar decisiones proactivas sobre la optimización del rendimiento, lograr una mayor estabilidad de la carga de trabajo, optimizar los procesos de CI/CD y utilizar los recursos de manera eficaz. 

 **Patrones comunes de uso no recomendados:** 
+  **Observabilidad incompleta:** no incorporar la observabilidad en todos los niveles de la carga de trabajo, lo que resulta en puntos ciegos que pueden ocultar información vital sobre el rendimiento y el comportamiento del sistema. 
+  **Vista de datos fragmentada:** cuando los datos están dispersos en varias herramientas y sistemas, resulta difícil mantener una visión integral del estado y el rendimiento de la carga de trabajo. 
+  **Problemas informados por los usuarios:** una señal de que falta una detección proactiva de los problemas mediante la telemetría y la supervisión de los KPI empresariales. 

 **Beneficios de establecer esta práctica recomendada:** 
+  **Toma de decisiones informadas:** con la información de la telemetría y los KPI empresariales, puede tomar decisiones basadas en datos. 
+  **Mejora de la eficiencia operativa:** el uso de los recursos basada en datos conduce a la rentabilidad. 
+  **Mejora de la estabilidad de la carga de trabajo:** detección y resolución de problemas más rápidas, lo que mejora el tiempo de actividad. 
+  **Procesos de CI/CD simplificados:** la información obtenida de los datos de telemetría facilita el refinamiento de los procesos y la entrega fiable de código. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Para implementar la telemetría de aplicaciones para su carga de trabajo, utilice servicios de AWS como [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) y [AWS X-Ray](https://aws.amazon.com/xray/). Amazon CloudWatch proporciona un conjunto completo de herramientas de supervisión que le permiten observar sus recursos y aplicaciones en entornos en las instalaciones y de AWS. Recopila, sigue y analiza las métricas, consolida y supervisa los datos de registro y responde a los cambios en los recursos, lo que mejora su comprensión de cómo funciona su carga de trabajo. Al mismo tiempo, AWS X-Ray le permite rastrear, analizar y depurar sus aplicaciones, lo que le proporciona una comprensión profunda del comportamiento de su carga de trabajo. Con características como los mapas de servicios, las distribuciones de latencia y la cronología de rastreo, AWS X-Ray proporciona información sobre el rendimiento de su carga de trabajo y los cuellos de botella que le afectan. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  **Identificación de los datos que hay que recopilar:** determine las métricas, los registros y los rastreos esenciales que podrían ofrecer información sustancial sobre el estado, el rendimiento y el comportamiento de su carga de trabajo. 

1.  **Implementación del [agente de CloudWatch](https://aws.amazon.com/cloudwatch/):** el agente de CloudWatch es fundamental a la hora de obtener métricas y registros del sistema y las aplicaciones de su carga de trabajo y su infraestructura subyacente. El agente de CloudWatch también se puede utilizar para recopilar rastreos de X-Ray o OpenTelemetry y enviarlos a X-Ray. 

1.  **Implementación de la detección de anomalías para los registros y las métricas:** utilice la [detección de anomalías de los Registros de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/LogsAnomalyDetection.html) y la [detección de anomalías de métricas de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html) para identificar automáticamente las actividades inusuales en las operaciones de su aplicación. Estas herramientas utilizan algoritmos de machine learning para detectar anomalías y alertar sobre ellas, lo que mejora las capacidades de supervisión y acelera el tiempo de respuesta ante posibles interrupciones o amenazas de seguridad. Configure estas características para administrar de forma proactiva el estado y la seguridad de las aplicaciones. 

1.  **Protección de los datos de registro confidenciales:** utilice la [protección de datos de los Registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html) para ocultar la información confidencial de sus registros. Esta característica ayuda a mantener la privacidad y el cumplimiento mediante la detección automática y el enmascaramiento de los datos confidenciales antes de que se acceda a ellos. Implemente el enmascaramiento de datos para gestionar y proteger de forma segura los datos confidenciales, como la información de identificación personal (PII). 

1.  **Definición y supervisión de los KPI empresariales:** establezca [métricas personalizadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) que se ajusten a los [resultados empresariales](https://aws-observability.github.io/observability-best-practices/guides/operational/business/monitoring-for-business-outcomes/). 

1.  **Instrumentación de su aplicación con AWS X-Ray:** además de implementar el agente de CloudWatch, es fundamental [instrumentar su aplicación](https://docs.aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html) para que emita datos de rastreo. Este proceso puede proporcionar más información sobre el comportamiento y el rendimiento de su carga de trabajo. 

1.  **Estandarización de la recopilación de datos en toda su aplicación:** estandarice las prácticas de recopilación de datos en toda la aplicación. La uniformidad ayuda a correlacionar y analizar los datos y proporciona una vista completa del comportamiento de la aplicación. 

1.  **Implementación de la observabilidad entre cuentas:** mejore la eficiencia de la supervisión entre Cuentas de AWS con la [observabilidad entre cuentas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html). Con esta característica, puede consolidar las métricas, los registros y las alarmas de diferentes cuentas en una sola vista, lo que simplifica la administración y mejora los tiempos de respuesta para los problemas identificados en el entorno de AWS de su organización. 

1.  **Análisis de los datos y actuación en consecuencia:** una vez que la recopilación y la normalización de los datos estén en marcha, utilice [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/features/) para llevar a cabo el análisis de métricas y registros, y [AWS X-Ray](https://aws.amazon.com/xray/features/) para el análisis de rastreos. Este análisis puede proporcionar información crucial sobre el estado, el rendimiento y el comportamiento de su carga de trabajo, lo que guiará su proceso de toma de decisiones. 

 **Nivel de esfuerzo para el plan de implementación:** alto 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS04-BP01 Definición de los KPI de la carga de trabajo](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_identify_kpis.html) 
+  [OPS04-BP03 Implementación de telemetría de actividades de usuario](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_customer_telemetry.html) 
+  [OPS04-BP04 Implementación de telemetría de dependencias](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_dependency_telemetry.html) 
+  [OPS04-BP05 Implementación de rastreo distribuido](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_dist_trace.html) 

 **Documentos relacionados:** 
+  [AWS Observability Best Practices](https://aws-observability.github.io/observability-best-practices/) 
+  [CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Guía para desarrolladores de AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Instrumentación de los sistemas distribuidos para obtener visibilidad operativa](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility) 
+  [AWS Observability Skill Builder Course](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14688/aws-observability) 
+  [Novedades de Amazon CloudWatch](https://aws.amazon.com/about-aws/whats-new/management-and-governance/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23amazon-cloudwatch) 
+  [Novedades de AWS X-Ray](https://aws.amazon.com/about-aws/whats-new/developer-tools/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23aws-x-ray) 

 **Videos relacionados:** 
+  [AWS re:Invent 2022 - Observability best practices at Amazon](https://youtu.be/zZPzXEBW4P8) 
+  [AWS re:Invent 2022 - Developing an observability strategy](https://youtu.be/Ub3ATriFapQ) 

 **Ejemplos relacionados:** 
+  [One Observability Workshop](https://catalog.workshops.aws/observability) 
+  [Biblioteca de soluciones de AWS: Supervisión de aplicaciones con Amazon CloudWatch](https://aws.amazon.com/solutions/implementations/application-monitoring-with-cloudwatch) 

# OPS04-BP03 Implementación de telemetría de la experiencia del usuario
<a name="ops_observability_customer_telemetry"></a>

 Es crucial obtener información detallada sobre las experiencias de los clientes y las interacciones con su aplicación. La supervisión de usuarios reales (RUM) y las transacciones sintéticas sirven como herramientas poderosas para este propósito. La RUM proporciona datos sobre las interacciones reales de los usuarios, lo que ofrece una perspectiva sin filtrar de la satisfacción del usuario, mientras que las transacciones sintéticas simulan las interacciones de los usuarios, lo que ayuda a detectar posibles problemas incluso antes de que afecten a los usuarios reales. 

 **Resultado deseado:** una visión integral de la experiencia del cliente, detección proactiva de problemas y optimización de las interacciones de los usuarios para ofrecer experiencias digitales fluidas. 

 **Patrones comunes de uso no recomendados:** 
+  Aplicaciones sin supervisión de usuarios reales (RUM): 
  +  Retraso en la detección de problemas: sin RUM, es posible que no se dé cuenta de los cuellos de botella o problemas de rendimiento hasta que los usuarios se quejen. Este enfoque reactivo puede provocar la insatisfacción de los clientes. 
  +  Falta de información sobre la experiencia del usuario: no usar RUM significa perder datos cruciales que muestran cómo los usuarios reales interactúan con su aplicación, lo que limita su capacidad de optimizar la experiencia del usuario. 
+  Aplicaciones sin transacciones sintéticas: 
  +  Omisión de casos de periferia: las transacciones sintéticas le ayudan a probar rutas y funciones que los usuarios habituales no suelen utilizar con frecuencia, pero que son fundamentales para determinadas funciones empresariales. Sin ellos, estas rutas podrían funcionar mal y el problema podría pasar desapercibido. 
  +  Comprobación de problemas cuando no se utiliza la aplicación: las pruebas sintéticas periódicas pueden simular momentos en los que los usuarios reales no interactúan activamente con la aplicación, lo que garantiza que el sistema siempre funcione correctamente. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Detección proactiva de problemas: identifique y aborde los posibles problemas antes de que afecten a los usuarios reales. 
+  Experiencia de usuario optimizada: los comentarios continuos de la RUM ayudan a refinar y mejorar la experiencia general del usuario. 
+  Información sobre el rendimiento de los dispositivos y navegadores: comprenda el rendimiento de su aplicación en varios dispositivos y navegadores, lo que permitirá una mayor optimización. 
+  Flujos de trabajo empresariales validados: las transacciones sintéticas periódicas garantizan que las funcionalidades básicas y las rutas cruciales permanezcan operativas y eficientes. 
+  Mejora del rendimiento de las aplicaciones: utilice la información recopilada a partir de datos de usuarios reales para mejorar la capacidad de respuesta y la fiabilidad de las aplicaciones. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Para aprovechar RUM y las transacciones sintéticas para la telemetría de la actividad del usuario, AWS ofrece servicios como [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) y [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html). Las métricas, los registros y los rastreos, junto con los datos de actividad de los usuarios, proporcionan una vista completa tanto del estado operativo de la aplicación como de la experiencia del usuario. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  **Implementación de Amazon CloudWatch RUM:** integre su aplicación con CloudWatch RUM para recopilar, analizar y presentar datos de usuarios reales. 

   1.  Utilice la [biblioteca de JavaScript de CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) para integrar la RUM con su aplicación. 

   1.  Configure paneles para visualizar y supervisar los datos de los usuarios reales. 

1.  **Configuración de CloudWatch Synthetics:** cree canarios, o rutinas con scripts, que simulen las interacciones de los usuarios con su aplicación. 

   1.  Defina los flujos de trabajo y las rutas de las aplicaciones fundamentales. 

   1.  Diseñe canarios controlados por [scripts de CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) para simular las interacciones de los usuarios en estas rutas. 

   1.  Programe y supervise los canarios para que se ejecuten a intervalos específicos, lo que garantiza controles de rendimiento coherentes. 

1.  **Análisis y acción en consecuencia:** utilice los datos de la RUM y las transacciones sintéticas para obtener información y tomar medidas correctivas cuando se detecten anomalías. Utilice paneles y alarmas de CloudWatch para mantenerse informado. 

 **Nivel de esfuerzo para el plan de implementación:** medio 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS04-BP01 Identificación de los indicadores clave de rendimiento](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 Implementación de telemetría de aplicaciones](ops_observability_application_telemetry.md) 
+  [OPS04-BP04 Implementación de telemetría de dependencias](ops_observability_dependency_telemetry.md) 
+  [OPS04-BP05 Implementación de rastreo distribuido](ops_observability_dist_trace.md) 

 **Documentos relacionados:** 
+ [ Guía de Amazon CloudWatch RUM ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html)
+ [ Guía de Amazon CloudWatch Synthetics ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)

 **Videos relacionados:** 
+ [ Optimize applications through end user insights with Amazon CloudWatch RUM ](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+ [AWS on Air ft. Real-User Monitoring for Amazon CloudWatch ](https://www.youtube.com/watch?v=r6wFtozsiVE)

 **Ejemplos relacionados:** 
+ [ One Observability Workshop ](https://catalog.workshops.aws/observability/en-US/intro)
+ [ Git Repository for Amazon CloudWatch RUM Web Client ](https://github.com/aws-observability/aws-rum-web)
+ [ Using Amazon CloudWatch Synthetics to measure page load time ](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance)

# OPS04-BP04 Implementación de telemetría de dependencias
<a name="ops_observability_dependency_telemetry"></a>

 La telemetría de dependencias es esencial para supervisar el estado y el rendimiento de los servicios y componentes externos de los que depende su carga de trabajo. Proporciona información valiosa sobre la accesibilidad, los tiempos de espera y otros eventos cruciales relacionados con dependencias como DNS, bases de datos o API de terceros. Al instrumentar su aplicación para que emita métricas, registros y rastreos sobre estas dependencias, entenderá más claramente cuáles son los posibles cuellos de botella, problemas de rendimiento o errores que podrían afectar a su carga de trabajo. 

 **Resultado deseado:** asegúrese de que las dependencias en las que se basa su carga de trabajo funcionan según lo previsto, lo que le permitirá abordar los problemas de forma proactiva y garantizar un rendimiento óptimo de la carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  **Omisión de las dependencias externas:** centrarse únicamente en las métricas internas de las aplicaciones y descuidar las métricas relacionadas con las dependencias externas. 
+  **Falta de supervisión proactiva:** esperar a que surjan problemas en lugar de supervisar continuamente el estado y el rendimiento de la dependencia. 
+  **Supervisión en silos:** uso de numerosas herramientas de supervisión dispares que pueden generar vistas fragmentadas e incoherentes del estado de la dependencia. 

 **Beneficios de establecer esta práctica recomendada:** 
+  **Mejora de la fiabilidad de la carga de trabajo:** al garantizar que las dependencias externas estén siempre disponibles y funcionen de manera óptima. 
+  **Detección y resolución de problemas más rápidas:** identificar y abordar de forma proactiva los problemas relacionados con las dependencias antes de que afecten a la carga de trabajo. 
+  **Panorámica completa:** obtener una visión integral de los componentes internos y externos que influyen en el estado de la carga de trabajo. 
+  **Mejora de la escalabilidad de la carga de trabajo:** mediante la comprensión de los límites de escalabilidad y las características de rendimiento de las dependencias externas. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Para implementar la telemetría de dependencias, empiece por identificar los servicios, la infraestructura y los procesos de los que depende su carga de trabajo. Cuantifique qué aspecto tienen las buenas condiciones cuando esas dependencias funcionan según lo esperado y, a continuación, determine qué datos se necesitan para medirlas. Con esa información, puede crear paneles y alertas que proporcionen información a sus equipos de operaciones sobre el estado de esas dependencias. Use herramientas de AWS para detectar y cuantificar el efecto cuando las dependencias no pueden satisfacer las necesidades. Revisite su estrategia para que tenga en cuenta los cambios en las prioridades, los objetivos y los conocimientos adquiridos. 

### Pasos para la implementación
<a name="implementation-steps"></a>

 Para implementar la telemetría de dependencias de manera eficaz: 

1.  **Identificación de las dependencias externas:** colabore con las partes interesadas para identificar las dependencias externas de las que depende su carga de trabajo. Las dependencias externas pueden abarcar servicios como bases de datos externas, API de terceros, rutas de conectividad de red a otros entornos y servicios de DNS. El primer paso para lograr una telemetría de dependencias eficaz es comprender a la perfección cuáles son esas dependencias. 

1.  **Desarrollo de una estrategia de supervisión:** una vez que tenga una idea clara de sus dependencias externas, diseñe una estrategia de supervisión adaptada a ellas. Esto implica comprender la importancia de cada dependencia, su comportamiento esperado y cualquier acuerdo u objetivo de nivel de servicio (SLA o SLT) asociado. Configure alertas proactivas que le notifiquen los cambios de estado o las desviaciones del rendimiento. 

1.  **Uso de la [supervisión de la red](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Network-Monitoring-Sections.html):** utilice [Internet Monitor](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html) y [Network Monitor](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/what-is-network-monitor.html), que proporcionan información completa sobre las condiciones globales de Internet y la red. Estas herramientas le ayudan a conocer los cortes, interrupciones o degradaciones del rendimiento que afectan a sus dependencias externas y responder a ellos. 

1.  **Manténgase informado con [AWS Health](https://aws.amazon.com/premiumsupport/technology/aws-health/):** AWS Health es la fuente autorizada de información sobre el estado de los recursos de Nube de AWS. Use AWS Health para visualizar y recibir notificaciones sobre cualquier evento de servicio actual y cambios futuros, como los eventos del ciclo de vida planificados, de modo que pueda tomar medidas para mitigar los impactos. 

   1.  [Cree notificaciones de eventos de AWS Health adaptadas al propósito](https://docs.aws.amazon.com/health/latest/ug/user-notifications.html) para el correo electrónico y los canales de chat a través de [AWS User Notifications](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html) e intégrelas mediante programación con [las herramientas de supervisión y alerta a través de Amazon EventBridge](https://docs.aws.amazon.com/health/latest/ug/cloudwatch-events-health.html) o la [API de AWS Health](https://docs.aws.amazon.com/health/latest/APIReference/Welcome.html). 

   1.  Planifique y realice un seguimiento del progreso de los eventos de estado que requieran una acción mediante la integración con herramientas de administración de cambios o ITSM (como [Jira](https://docs.aws.amazon.com/smc/latest/ag/cloud-sys-health.html) o [ServiceNow](https://docs.aws.amazon.com/smc/latest/ag/sn-aws-health.html)) que ya pueda utilizar a través de Amazon EventBridge o la API de AWS Health. 

   1.  Si usa AWS Organizations, habilite la [vista de organización para AWS Health](https://docs.aws.amazon.com/health/latest/ug/aggregate-events.html) a fin de agregar eventos de AWS Health en todas las cuentas. 

1.  **Instrumentación de su aplicación con [AWS X-Ray](https://aws.amazon.com/xray/):** AWS X-Ray proporciona información sobre el rendimiento de las aplicaciones y sus dependencias subyacentes. Al rastrear las solicitudes de principio a fin, puede identificar cuellos de botella o errores en los servicios o componentes externos en los que se basa su aplicación. 

1.  **Uso de [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/):** este servicio basado en machine learning identifica problemas operativos, predice cuándo pueden producirse problemas críticos y recomienda medidas concretas. Tiene un valor incalculable para obtener información sobre las dependencias y determinar que no son el origen de los problemas operativos. 

1.  **Supervisión periódica:** supervise continuamente las métricas y los registros relacionados con las dependencias externas. Configure alertas en caso de que se produzca un comportamiento inesperado o una degradación del rendimiento. 

1.  **Validación después de los cambios:** siempre que se produzca una actualización o un cambio en alguna de las dependencias externas, valide su rendimiento y compruebe su conformidad con los requisitos de la aplicación. 

 **Nivel de esfuerzo para el plan de implementación:** medio 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS04-BP01 Definición de los KPI de la carga de trabajo](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_identify_kpis.html) 
+  [OPS04-BP02 Implementación de telemetría de aplicaciones](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_application_telemetry.html) 
+  [OPS04-BP03 Implementación de telemetría de actividades de usuario](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_customer_telemetry.html) 
+  [OPS04-BP05 Implementación de rastreo distribuido](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_dist_trace.html) 
+  [OP08-BP04 Creación de alertas procesables](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_workload_observability_create_alerts.html) 

 **Documentos relacionados:** 
+  [Amazon Personal Panel de estado User Guide](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html) 
+  [AWS Internet Monitor User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html) 
+  [Guía para desarrolladores de AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [AWS DevOps Guru User Guide](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 

 **Videos relacionados:** 
+  [Visibility into how internet issues impact app performance](https://www.youtube.com/watch?v=Kuc_SG_aBgQ) 
+  [Introduction to Amazon DevOps Guru](https://www.youtube.com/watch?v=2uA8q-8mTZY) 
+  [Manage resource lifecycle events at scale with AWS Health](https://www.youtube.com/watch?v=VoLLNL5j9NA) 

 **Ejemplos relacionados:** 
+  [AWS Health Aware](https://github.com/aws-samples/aws-health-aware/) 
+  [Using Tag-Based Filtering to Manage AWS Health Monitoring and Alerting at Scale](https://aws.amazon.com/blogs/mt/using-tag-based-filtering-to-manage-health-monitoring-and-alerting-at-scale/) 

# OPS04-BP05 Implementación de rastreo distribuido
<a name="ops_observability_dist_trace"></a>

 El rastreo distribuido ofrece una forma de supervisar y visualizar las solicitudes a medida que atraviesan varios componentes de un sistema distribuido. Al obtener datos de rastreo de numerosos orígenes y analizarlos en una vista unificada, los equipos pueden comprender mejor cómo fluyen las solicitudes, dónde existen los cuellos de botella y dónde deben centrarse los esfuerzos de optimización. 

 **Resultado deseado:** obtenga una visión integral de las solicitudes que fluyen por su sistema distribuido, lo que permite una depuración precisa, un rendimiento optimizado y una mejor experiencia del usuario. 

 **Patrones comunes de uso no recomendados:** 
+  Instrumentación incoherente: no todos los servicios de un sistema distribuido están instrumentados para el rastreo. 
+  Hacer caso omiso de la latencia: centrarse únicamente en los errores y no tener en cuenta la latencia o las degradaciones graduales del rendimiento. 

 **Beneficios de establecer esta práctica recomendada:** 
+ Información general completa del sistema: visualización de toda la ruta de las solicitudes, desde la entrada hasta la salida.
+  Depuración mejorada: identificación rápida de dónde se producen errores o problemas de rendimiento. 
+  Mejora de la experiencia del usuario: supervisión y optimización en función de los datos reales del usuario, lo que garantiza que el sistema satisfaga las demandas de la vida real. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Comience por identificar todos los elementos de la carga de trabajo que requieren instrumentación. Una vez contabilizados todos los componentes, utilice herramientas como AWS X-Ray y OpenTelemetry para recopilar datos y analizarlos con herramientas como X-Ray y Amazon CloudWatch ServiceLens Map. Lleve a cabo revisiones periódicas con los desarrolladores y complemente estas conversaciones con herramientas como Amazon DevOps Guru, X-Ray Analytics y X-Ray Insights para sacar a la luz resultados más profundos. Establezca alertas a partir de los datos de rastreo para notificar cuando los resultados, tal como se definen en el plan de supervisión de la carga de trabajo, estén en peligro. 

### Pasos para la implementación
<a name="implementation-steps"></a>

 Implementación del rastreo distribuido de manera eficaz: 

1.  **Incorporación de [AWS X-Ray](https://aws.amazon.com/xray/):** integre X-Ray en su aplicación para obtener información sobre su comportamiento, comprender su rendimiento e identificar los cuellos de botella. Utilice X-Ray Insights para el análisis automático de rastreos. 

1.  **Instrumentación de sus servicios:** compruebe que todos los servicios, desde una función de [AWS Lambda](https://aws.amazon.com/lambda/) a una [instancia de EC2](https://aws.amazon.com/ec2/), envíen datos de rastreo. Cuantos más servicios instrumente, más clara será la vista de principio a fin. 

1.  **Integración del seguimiento de [CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) y [Synthetic Monitoring](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html):** integre el CloudWatch RUM y el Synthetic Monitoring con X-Ray. Esto permite recoger experiencias de usuario de la vida real y simular las interacciones de los usuarios para identificar posibles problemas. 

1.  **Uso del [agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html):** el agente puede enviar rastreos tanto de X-Ray como de OpenTelemetry, lo que mejora la profundidad de la información obtenida. 

1.  **Uso de [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/):** DevOps Guru utiliza datos de X-Ray, CloudWatch, AWS Config y AWS CloudTrail para ofrecer recomendaciones prácticas. 

1.  **Análisis de los rastreos:** revise periódicamente los datos de rastreo para detectar patrones, anomalías o cuellos de botella que podrían afectar al rendimiento de su aplicación. 

1.  **Configuración de alertas:** configure las alarmas en [CloudWatch](https://aws.amazon.com/cloudwatch/) para detectar patrones inusuales o latencias prolongadas, lo que permite abordar los problemas de forma proactiva. 

1.  **Mejora continua:** revisite su estrategia de rastreo a medida que se agregan o modifiquen servicios para recoger todos los puntos de datos pertinentes. 

 **Nivel de esfuerzo para el plan de implementación:** medio 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS04-BP01 Identificación de los indicadores clave de rendimiento](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 Implementación de telemetría de aplicaciones](ops_observability_application_telemetry.md) 
+  [OPS04-BP03 Implementación de telemetría de la experiencia del usuario](ops_observability_customer_telemetry.md) 
+  [OPS04-BP04 Implementación de telemetría de dependencias](ops_observability_dependency_telemetry.md) 

 **Documentos relacionados:** 
+ [Guía para desarrolladores de AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ [ Guía del usuario del agente de Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)
+ [ Amazon DevOps Guru User Guide ](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html)

 **Videos relacionados:** 
+ [ Use AWS X-Ray Insights ](https://www.youtube.com/watch?v=tl8OWHl6jxw)
+ [AWS on Air ft. Observability: Amazon CloudWatch and AWS X-Ray](https://www.youtube.com/watch?v=qBDBnPkZ-KI)

 **Ejemplos relacionados:** 
+ [ Instrumenting your application for AWS X-Ray](https://aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html)

# OPS 5. ¿Cómo reduce los defectos, facilita la reparación y mejora el flujo en producción?
<a name="ops-05"></a>

 Adopte enfoques que mejoren el flujo de cambios en producción, que activen la refactorización, la respuesta rápida sobre la calidad y la corrección de errores. Esto acelerará los cambios positivos que se introducen en producción, limitará los problemas implementados y logrará una rápida identificación y solución de los problemas introducidos a través de las actividades de implementación. 

**Topics**
+ [

# OPS05-BP01 Uso del control de versiones
](ops_dev_integ_version_control.md)
+ [

# OPS05-BP02 Prueba y validación de los cambios
](ops_dev_integ_test_val_chg.md)
+ [

# OPS05-BP03 Uso de sistemas de administración de la configuración
](ops_dev_integ_conf_mgmt_sys.md)
+ [

# OPS05-BP04 Uso de sistemas de administración de compilación e implementación
](ops_dev_integ_build_mgmt_sys.md)
+ [

# OPS05-BP05 Administración de parches
](ops_dev_integ_patch_mgmt.md)
+ [

# OPS05-BP06 Uso compartido de estándares de diseño
](ops_dev_integ_share_design_stds.md)
+ [

# OPS05-BP07 Implementación de prácticas para mejorar la calidad del código
](ops_dev_integ_code_quality.md)
+ [

# OPS05-BP08 Uso de varios entornos
](ops_dev_integ_multi_env.md)
+ [

# OPS05-BP09 Cambios frecuentes, pequeños y reversibles
](ops_dev_integ_freq_sm_rev_chg.md)
+ [

# OPS05-BP10 Automatización completa de la integración y la implementación
](ops_dev_integ_auto_integ_deploy.md)

# OPS05-BP01 Uso del control de versiones
<a name="ops_dev_integ_version_control"></a>

 Use el control de versiones para activar el seguimiento de cambios y versiones. 

 Muchos servicios de AWS ofrecen capacidades de control de versiones. Utilice un sistema de revisiones o de [control de orígenes](https://aws.amazon.com/devops/source-control/) como [Git](https://aws.amazon.com/devops/source-control/git/) para administrar el código y otros artefactos, como las plantillas de [AWS CloudFormation](https://aws.amazon.com/cloudformation/) controladas por versiones de la infraestructura. 

 **Resultado deseado:** sus equipos colaboran en el código. Cuando se fusiona, el código es coherente y no se pierde ningún cambio. Los errores se revierten fácilmente mediante el control de versiones correcto. 

 **Patrones comunes de uso no recomendados:** 
+  Ha estado desarrollando y almacenando el código en su estación de trabajo. Ha sufrido un error de almacenamiento irrecuperable en la estación de trabajo y el código se ha perdido. 
+  Después de sobrescribir el código existente con sus cambios, reinicia la aplicación y ya no está operativa. No puede revertir el cambio. 
+  Tiene un bloqueo de escritura en un archivo de informe que tiene que editar otra persona. Contacta con usted para pedirle que deje de trabajar en él para que puedan completar sus tareas. 
+  Su equipo de investigación ha estado trabajando en un análisis detallado que modela su trabajo futuro. Alguien ha guardado accidentalmente su lista de la compra sobre el informe final. No puede revertir el cambio y tiene que volver a crear el informe. 

 **Beneficios de establecer esta práctica recomendada:** mediante el uso de las capacidades de control de versiones puede revertir fácilmente los estados buenos conocidos y las versiones anteriores, y limitar el riesgo de que se pierdan los activos. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Mantenga los activos en repositorios con control de versiones. Esto permite hacer un seguimiento de los cambios, implementar versiones nuevas, detectar cambios en las versiones existentes y volver a versiones anteriores (por ejemplo, revertir a un estado conocido correcto en caso de error). Integre en sus procedimientos las capacidades de control de versiones de sus sistemas de administración de la configuración. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS05-BP04 Uso de sistemas de administración de compilación e implementación](ops_dev_integ_build_mgmt_sys.md) 

 **Videos relacionados:** 
+ [AWS re:Invent 2023 - How Lockheed Martin builds software faster, powered by DevSecOps ](https://www.youtube.com/watch?v=Q1OSyxYkl5w)
+ [AWS re:Invent 2023 - How GitHub operationalizes AI for team collaboration and productivity ](https://www.youtube.com/watch?v=cOVvGaiusOI)

# OPS05-BP02 Prueba y validación de los cambios
<a name="ops_dev_integ_test_val_chg"></a>

 Cada cambio implementado se debe probar para evitar errores en producción. Esta práctica recomendada se centra en probar los cambios desde el control de versiones hasta la creación de artefactos. Además de los cambios en el código de la aplicación, las pruebas deben incluir la infraestructura, la configuración, los controles de seguridad y los procedimientos operativos. Las pruebas adoptan muchas formas, desde las pruebas unitarias hasta el análisis de componentes de software (SCA). Mover las pruebas más a la izquierda en el proceso de integración y entrega del software se traduce en una mayor certeza de la calidad de los artefactos. 

 Su organización debe desarrollar estándares de prueba para todos los artefactos de software. Las pruebas automatizadas reducen el trabajo y evitan los errores de las pruebas manuales. En algunos casos puede ser necesario hacer pruebas manuales. Los desarrolladores deben tener acceso a los resultados de las pruebas automatizadas para crear bucles de comentarios que mejoren la calidad del software. 

 **Resultado deseado:** los cambios en el software se prueban antes de su entrega. Los desarrolladores tienen acceso a los resultados de las pruebas y las validaciones. Su organización tiene un estándar de pruebas que se aplica a todos los cambios de software. 

 **Patrones comunes de uso no recomendados:** 
+  Implementa un nuevo cambio de software sin hacer ninguna prueba. No funciona en producción, lo que provoca una interrupción del servicio. 
+  Los nuevos grupos de seguridad se implementan con AWS CloudFormation sin haberse probado en un entorno de preproducción. Los grupos de seguridad hacen que la aplicación sea inaccesible para los clientes. 
+  Se modifica un método, pero no hay pruebas unitarias. El software no funciona cuando se implementa en producción. 

 **Beneficios de establecer esta práctica recomendada:** se reduce la tasa de errores de cambio de las implementaciones de software. Se mejora la calidad del software. Los desarrolladores son más conscientes de la viabilidad de su código. Las políticas de seguridad se pueden implementar con confianza para respaldar el cumplimiento de la organización. Los cambios en la infraestructura, como las actualizaciones automáticas de las políticas de escalamiento, se prueban con antelación para satisfacer las necesidades de tráfico. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Las pruebas se hacen en todos los cambios, desde el código de la aplicación hasta la infraestructura, como parte de su práctica de integración continua. Los resultados de las pruebas se publican para que los desarrolladores tengan comentarios rápidos. Su organización tiene un estándar de pruebas que deben superar todos los cambios. 

 Utilice el poder de la IA generativa con Amazon Q Developer para mejorar la productividad de los desarrolladores y la calidad del código. Amazon Q Developer incluye la generación de sugerencias de código (basadas en modelos de lenguaje de gran tamaño), la producción de pruebas unitarias (incluidas condiciones límite) y mejoras de seguridad del código mediante la detección y la corrección de las vulnerabilidades de seguridad. 

 **Ejemplo de cliente** 

 Como parte de su canalización de integración continua, AnyCompany Retail ejecuta varios tipos de pruebas en todos los artefactos de software. Practica el desarrollo basado en pruebas, por lo que todo el software tiene pruebas unitarias. Una vez creado el artefacto, ejecuta pruebas integrales. Una vez completada esta primera ronda de pruebas, ejecuta un examen estático de la seguridad de la aplicación, que busca vulnerabilidades conocidas. Los desarrolladores reciben mensajes a medida que se supera cada puerta de prueba. Una vez completadas todas las pruebas, el artefacto de software se almacena en un repositorio de artefactos. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Colabore con las partes interesadas de su organización en el desarrollo de un estándar de pruebas para los artefactos de software. ¿Qué pruebas estándar deben superar todos los artefactos? ¿Hay requisitos de cumplimiento o gobernanza que deban incluirse en la cobertura de las pruebas? ¿Necesita efectuar pruebas de calidad del código? Cuando finalicen las pruebas, ¿quién tiene que saberlo? 

   1.  [AWS Deployment Pipeline Reference Architecture](https://pipelines.devops.aws.dev/) incluye una lista autorizada de tipos de pruebas que pueden llevarse a cabo en artefactos de software como parte de una canalización de integración. 

1.  Instrumente su aplicación con las pruebas necesarias en función de su estándar de pruebas de software. Cada conjunto de pruebas debería completarse en menos de diez minutos. Las pruebas deben ejecutarse como parte de una canalización de integración. 

   1.  Utilice [Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/what-is.html), una herramienta de IA generativa que puede ayudar a crear casos de pruebas unitarias (incluidas las condiciones de límite), generar funciones mediante código y comentarios e implementar algoritmos conocidos. 

   1.  Utilice [Revisor de Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) para comprobar si el código de la aplicación presenta defectos. 

   1.  Puede utilizar [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) para hacer pruebas en artefactos de software. 

   1.  [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) puede orquestar sus pruebas de software en una canalización. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS05-BP01 Uso del control de versiones](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_version_control.html) 
+  [OPS05-BP06 Uso compartido de estándares de diseño](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_share_design_stds.html) 
+  [OPS05-BP07 Implementación de prácticas para mejorar la calidad del código](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_code_quality.html) 
+  [OPS05-BP10 Automatización completa de la integración y la implementación](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_auto_integ_deploy.html) 

 **Documentos relacionados:** 
+  [Adoptar un enfoque de desarrollo basado en pruebas](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/development-best-practices.html) 
+  [Accelerate your Software Development Lifecycle with Amazon Q](https://aws.amazon.com/blogs/devops/accelerate-your-software-development-lifecycle-with-amazon-q/) 
+  [Amazon Q Developer, now generally available, includes previews of new capabilities to reimagine developer experience](https://aws.amazon.com/blogs/aws/amazon-q-developer-now-generally-available-includes-new-capabilities-to-reimagine-developer-experience/) 
+  [The Ultimate Cheat Sheet for Using Amazon Q Developer in Your IDE](https://community.aws/content/2eYoqeFRqaVnk900emsknDfzhfW/the-ultimate-cheat-sheet-for-using-amazon-q-developer-in-your-ide) 
+  [Shift-Left Workload, leveraging AI for Test Creation](https://community.aws/content/2gBZtC94gPzaCQRnt4P0rIYWuBx/shift-left-workload-leveraging-ai-for-test-creation) 
+  [Amazon Q Developer Center](https://aws.amazon.com/developer/generative-ai/amazon-q/) 
+  [10 ways to build applications faster with Amazon CodeWhisperer](https://aws.amazon.com/blogs/devops/10-ways-to-build-applications-faster-with-amazon-codewhisperer/) 
+  [Looking beyond code coverage with Amazon CodeWhisperer](https://aws.amazon.com/blogs/devops/looking-beyond-code-coverage-with-amazon-codewhisperer/) 
+  [Best Practices for Prompt Engineering with Amazon CodeWhisperer](https://aws.amazon.com/blogs/devops/best-practices-for-prompt-engineering-with-amazon-codewhisperer/) 
+  [Automated AWS CloudFormation Testing Pipeline with TaskCat and CodePipeline](https://aws.amazon.com/blogs/devops/automated-cloudformation-testing-pipeline-with-taskcat-and-codepipeline/) 
+  [Building end-to-end AWS DevSecOps CI/CD pipeline with open source SCA, SAST, and DAST tools](https://aws.amazon.com/blogs/devops/building-end-to-end-aws-devsecops-ci-cd-pipeline-with-open-source-sca-sast-and-dast-tools/) 
+  [Getting started with testing serverless applications](https://aws.amazon.com/blogs/compute/getting-started-with-testing-serverless-applications/) 
+  [My CI/CD pipeline is my release captain](https://aws.amazon.com/builders-library/cicd-pipeline/) 
+  [Documento técnico de AWS: Práctica de integración y entrega continuas](https://docs.aws.amazon.com/whitepapers/latest/practicing-continuous-integration-continuous-delivery/welcome.html) 

 **Videos relacionados:** 
+  [Implement an API with Amazon Q Developer Agent for Software Development](https://www.youtube.com/watch?v=U4XEvJUvff4) 
+  [Installing, Configuring, & Using Amazon Q Developer with JetBrains IDEs (How-to)](https://www.youtube.com/watch?v=-iQfIhTA4J0) 
+  [Mastering the art of Amazon CodeWhisperer - YouTube playlist](https://www.youtube.com/playlist?list=PLDqi6CuDzubxzL-yIqgQb9UbbceYdKhpK) 
+  [AWS re:Invent 2020: Testable infrastructure: Integration testing on AWS](https://www.youtube.com/watch?v=KJC380Juo2w) 
+  [AWS Summit ANZ 2021 - Driving a test-first strategy with CDK and test driven development](https://www.youtube.com/watch?v=1R7G_wcyd3s) 
+  [Testing Your Infrastructure as Code with AWS CDK](https://www.youtube.com/watch?v=fWtuwGSoSOU) 

 **Recursos relacionados:** 
+  [AWS Deployment Pipeline Reference Architecture: Application](https://pipelines.devops.aws.dev/application-pipeline/index.html) 
+  [AWS Kubernetes DevSecOps Pipeline](https://github.com/aws-samples/devsecops-cicd-containers) 
+  [Run unit tests for a Node.js application from GitHub by using AWS CodeBuild](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/run-unit-tests-for-a-node-js-application-from-github-by-using-aws-codebuild.html) 
+  [Use Serverspec for test-driven development of infrastructure code](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/use-serverspec-for-test-driven-development-of-infrastructure-code.html) 

 **Servicios relacionados:** 
+  [Amazon Q Developer](https://aws.amazon.com/q/developer/) 
+  [Revisor de Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) 
+  [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 

# OPS05-BP03 Uso de sistemas de administración de la configuración
<a name="ops_dev_integ_conf_mgmt_sys"></a>

 Utilice sistemas de administración de la configuración para efectuar modificaciones en la configuración y hacer un seguimiento de ellas. Estos sistemas reducen tanto los errores causados por los procesos manuales como el nivel de esfuerzo requerido para implementar los cambios. 

La administración de la configuración estática establece valores al inicializar un recurso que se espera que permanezcan constantes durante toda la vida del recurso. La administración de la configuración dinámica establece valores en la inicialización que pueden cambiar o se espera que cambien durante la vida de un recurso. Por ejemplo, podría establecer un conmutador de características para activar la funcionalidad en su código a través de un cambio de configuración o cambiar el nivel de detalle del registro durante un incidente.

Las configuraciones deben implementarse en un estado conocido y coherente. Debe utilizar la inspección automatizada para supervisar continuamente las configuraciones de los recursos en todos los entornos y regiones. Estos controles deben definirse como un código y una gestión automatizados para garantizar que las reglas se apliquen de forma coherente en todos los entornos. Los cambios en las configuraciones deben actualizarse mediante procedimientos de control de cambios acordados y aplicarse de manera coherente, a la vez que se respeta el control de versiones. La configuración de la aplicación debe gestionarse de forma independiente del código de la aplicación y la infraestructura. Esto permite una implementación uniforme en varios entornos. Los cambios de configuración no dan como resultado la reconstrucción o la reimplementación de la aplicación. 

 **Resultado deseado:** configure, valide e implemente como parte de su proceso de integración continua y entrega continua (CI/CD). Supervisa para validar que las configuraciones sean correctas. Esto minimiza cualquier impacto en los usuarios finales y los clientes. 

 **Patrones comunes de uso no recomendados:** 
+  Actualiza manualmente la configuración del servidor web en toda su flota y varios servidores dejan de responder debido a errores de actualización. 
+  Actualiza manualmente su flota de servidores de aplicaciones en el transcurso de muchas horas. La incoherencia en la configuración durante el cambio provoca comportamientos inesperados. 
+  Alguien ha actualizado sus grupos de seguridad y ya no se puede acceder a los servidores web. Sin saber lo que ha cambiado, se pierde mucho tiempo investigando el problema, lo que prolonga el tiempo de recuperación. 
+  Una configuración de preproducción se introduce en producción a través de CI/CD sin validación. Expone a los usuarios y clientes a datos y servicios incorrectos. 

 **Beneficios de establecer esta política recomendada:** la adopción de sistemas de administración de la configuración reduce el nivel de esfuerzo para hacer cambios y hacer un seguimiento de los mismos, así como la frecuencia de los errores provocados por los procedimientos manuales. Los sistemas de administración de la configuración ofrecen garantías con respecto a la gobernanza, el cumplimiento y los requisitos reglamentarios. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Los sistemas de administración de la configuración se utilizan para seguir e implementar cambios en las configuraciones de las aplicaciones y el entorno. Los sistemas de administración de la configuración también se utilizan para reducir los errores causados por los procesos manuales, hacer que los cambios de configuración sean repetibles y auditables y reducir el nivel de esfuerzo. 

 En AWS, puede utilizar [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) para supervisar de forma continua las configuraciones de los recursos de AWS [entre todas las cuentas y regiones](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html). Le ayuda a hacer un seguimiento de su historial de configuración, comprender cómo un cambio de configuración afectaría a otros recursos y auditarlos con respecto a las configuraciones esperadas o deseadas mediante [Reglas de AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) y [AWS Config Conformance Packs](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html). 

 Para las configuraciones dinámicas de sus aplicaciones que se ejecutan en instancias, AWS Lambda, contenedores, aplicaciones móviles o dispositivos de IoT de Amazon EC2, puede utilizar [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) para configurarlas, validarlas, implementarlas y supervisarlas en todos sus entornos. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Identifique a los propietarios de la configuración. 

   1.  Haga que los propietarios de las configuraciones estén al tanto de cualquier necesidad de cumplimiento, gobernanza o normativa. 

1.  Identifique los elementos de configuración y los resultados. 

   1.  Los elementos de configuración son todas las configuraciones de las aplicaciones y los entornos afectadas por una implementación dentro de su canalización de CI/CD. 

   1.  Los resultados incluyen los criterios de éxito, la validación y lo que se debe supervisar. 

1.  Seleccione herramientas para la administración de la configuración en función de los requisitos empresariales y el proceso de entrega. 

1.  Considere el uso de implementaciones ponderadas, como las implementaciones canario, para los cambios de configuración significativos a fin de minimizar el impacto de las configuraciones incorrectas. 

1.  Integre la administración de la configuración en su canalización de CI/CD. 

1.  Valide todos los cambios introducidos. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS06-BP01 Planificación para hacer frente a los cambios infructuosos](ops_mit_deploy_risks_plan_for_unsucessful_changes.md) 
+  [OPS06-BP02 Implementaciones de prueba](ops_mit_deploy_risks_test_val_chg.md) 
+  [OPS06-BP03 Uso de estrategias de implementación seguras](ops_mit_deploy_risks_deploy_mgmt_sys.md) 
+  [OPS06-BP04 Automatización de las pruebas y la reversión](ops_mit_deploy_risks_auto_testing_and_rollback.md) 

 **Documentos relacionados:** 
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
+ [Acelerador de zonas de aterrizaje de AWS](https://aws.amazon.com/solutions/implementations/landing-zone-accelerator-on-aws/)
+ [AWS Config](https://aws.amazon.com/config/)
+ [ What is AWS Config? ](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)
+  [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 
+ [ What is AWS CloudFormation? ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+  [Herramientas para desarrolladores de AWS](https://aws.amazon.com/products/developer-tools/) 
+ [AWS CodeBuild](https://aws.amazon.com/codebuild/)
+ [AWS CodePipeline](https://aws.amazon.com/codepipeline/)
+ [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)

 **Videos relacionados:** 
+ [AWS re:Invent 2022 - Proactive governance and compliance for AWS workloads ](https://youtu.be/PpUnH9Y52X0?si=82wff87KHXcc6nbT)
+ [AWS re:Invent 2020: Achieve compliance as code using AWS Config](https://youtu.be/m8vTwvbzOfw?si=my4DP0FLq1zwKjho)
+ [ Manage and Deploy Application Configurations with AWS AppConfig](https://youtu.be/ztIxMY3IIu0?si=ovYGsxWOBysyQrg0)

# OPS05-BP04 Uso de sistemas de administración de compilación e implementación
<a name="ops_dev_integ_build_mgmt_sys"></a>

 Utilice sistemas de administración de compilación e implementación. Estos sistemas reducen tanto los errores causados por los procesos manuales como el nivel de esfuerzo requerido para implementar los cambios. 

 En AWS, puede crear canalizaciones de integración continua/implementación continua (CI/CD) a través de servicios como las [herramientas para desarrolladores de AWS](https://aws.amazon.com/products/developer-tools/) (por ejemplo, [AWS CodeBuild](https://aws.amazon.com/codebuild/), [AWS CodePipeline](https://aws.amazon.com/codepipeline/) y [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)). 

 **Resultado deseado:** sus sistemas de administración de compilación e implementación respaldan el sistema de integración continua y entrega continua (CI/CD) de su organización, que proporciona capacidades para automatizar implementaciones seguras con las configuraciones correctas. 

 **Patrones comunes de uso no recomendados:** 
+  Después de compilar su código en el sistema de desarrollo, copia el ejecutable en los sistemas de producción y no se inicia. Los archivos de registro locales indican que ha fallado debido a la falta de dependencias. 
+  Crea con éxito su aplicación con nuevas características en su entorno de desarrollo y proporciona el código a control de calidad. No pasa el control de calidad porque le faltan activos estáticos. 
+  El viernes, después de mucho esfuerzo, crea con éxito su aplicación manualmente en su entorno de desarrollo que incluye las funcionalidades recién codificadas. El lunes, no puede repetir los pasos que le permitieron crear con éxito su aplicación. 
+  Lleva a cabo las pruebas que ha creado para su nueva versión. A continuación, dedica la siguiente semana a configurar un entorno de pruebas y a llevar a cabo todas las pruebas de integración existentes, seguidas de las pruebas de rendimiento. El nuevo código tiene un impacto inaceptable en el rendimiento y debe desarrollarse y probarse de nuevo. 

 **Beneficios de establecer esta práctica recomendada:** al proporcionar mecanismos para gestionar las actividades de desarrollo e implementación, se reduce el nivel de esfuerzo para llevar a cabo tareas repetitivas, se libera a los miembros del equipo para que se centren en sus tareas creativas de alto valor y se limita la introducción de errores de procedimientos manuales. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Los sistemas de administración de compilación e implementación se utilizan para seguir e implementar cambios, reducir los errores causados por los procesos manuales y reducir el nivel de esfuerzo requerido para una implementación segura. Automatice completamente el proceso de integración e implementación, desde el registro del código hasta la compilación, prueba, implementación y validación. Esto reduce el tiempo de entrega, disminuye los costos, fomenta una mayor frecuencia de cambios, reduce el nivel de esfuerzo y aumenta la colaboración. 

### Pasos para la implementación
<a name="implementation-steps"></a>

![\[Diagrama que muestra el uso de una canalización de CI/CD con AWS CodePipeline y los servicios relacionados\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/images/deployment-pipeline-tooling.png)


 

1.  Utilice un sistema de control de versiones para almacenar y administrar activos (como documentos, código fuente y archivos binarios). 

1.  Utilice CodeBuild para compilar su código fuente, ejecutar pruebas unitarias y producir artefactos listos para la implementación. 

1.  Utilice CodeDeploy como un servicio de implementación que automatiza las implementaciones de las aplicaciones en instancias de [Amazon EC2](https://aws.amazon.com/ec2/), en instancias en las instalaciones o en [funciones de AWS Lambda sin servidor](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) o [servicios de Amazon ECS](https://aws.amazon.com/ecs/). 

1.  Supervise sus implementaciones. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS06-BP04 Automatización de las pruebas y la reversión](ops_mit_deploy_risks_auto_testing_and_rollback.md) 

 **Documentos relacionados:** 
+  [Herramientas para desarrolladores de AWS](https://aws.amazon.com/products/developer-tools/) 
+  [¿Qué es AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+ [AWS CodeBuild](https://aws.amazon.com/codebuild/)
+  [¿Qué es AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Videos relacionados:** 
+ [AWS re:Invent 2022 - AWS Well-Architected best practices for DevOps on AWS](https://youtu.be/hfXokRAyorA)

# OPS05-BP05 Administración de parches
<a name="ops_dev_integ_patch_mgmt"></a>

 Administre parches para ampliar las características, resolver problemas y mantener la conformidad con la gobernanza. Automatice la administración de parches para reducir los errores causados por los procesos manuales, la escala y el nivel de esfuerzo requerido para aplicarlos. 

 La administración de parches y vulnerabilidades forma parte de sus actividades de administración de beneficios y riesgos. Es preferible tener infraestructuras inmutables e implementar las cargas de trabajo en estados en buenas condiciones conocidos y verificados. Cuando esto no es viable, la opción que queda es el parcheado in situ. 

 [AWS Health](https://aws.amazon.com/premiumsupport/technology/aws-health/) es el origen autorizado de la información sobre eventos planificados del ciclo de vida y otros eventos que requieren acciones y que afectan el estado de los recursos de Nube de AWS. Debe estar al tanto de los próximos cambios y actualizaciones que deben realizarse. Los principales eventos planificados del ciclo de vida se envían con al menos seis meses de antelación. 

 El [Generador de imágenes de Amazon EC2](https://aws.amazon.com/image-builder/) proporciona canalizaciones para actualizar las imágenes de las máquinas. Como parte de la administración de parches, considere la posibilidad de utilizar [Imagen de máquina de Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html       ) (AMI) con una [canalización de imágenes de AMI](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-image-pipeline.html) o imágenes de contenedor con una [canalización de imágenes de Docker](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-container-pipeline.html), a la vez que AWS Lambda proporciona patrones para [tiempos de ejecución personalizados y bibliotecas adicionales](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html) para eliminar las vulnerabilidades. 

 Debe gestionar las actualizaciones de las imágenes de [Imagen de máquina de Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) para Linux o Windows Server mediante el [Generador de imágenes de Amazon EC2](https://aws.amazon.com/image-builder/). Puede utilizar [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) con su canalización existente para gestionar las imágenes de Amazon ECS y las de Amazon EKS. Lambda incluye [características de administración de versiones](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html). 

 La aplicación de parches no debe llevarse a cabo en los sistemas de producción sin antes hacer pruebas en un entorno seguro. Los parches solo deben aplicarse si sirven para mejorar los resultados operativos o empresariales. En AWS, puede utilizar [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) para automatizar el proceso de aplicación de parches en los sistemas administrados y programar la actividad con las [Ventanas de mantenimiento de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). 

 **Resultado deseado:** las imágenes del contenedor y AMI están parcheadas, actualizadas y listas para su lanzamiento. Puede hacer un seguimiento del estado de todas las imágenes implementadas y determinar el cumplimiento de los parches. Puede informar sobre el estado actual y disponer de un proceso que satisfaga sus necesidades de cumplimiento. 

 **Patrones comunes de uso no recomendados:** 
+  Se le encomienda la aplicación de todos los nuevos parches de seguridad en un plazo de dos horas, lo que da lugar a numerosas interrupciones debido a la incompatibilidad de las aplicaciones con los parches. 
+  Una biblioteca sin parches tiene consecuencias no deseadas, ya que partes desconocidas utilizan las vulnerabilidades de la misma para acceder a su carga de trabajo. 
+  Aplica parches a los entornos de los desarrolladores sin avisarles. Recibe múltiples quejas de los desarrolladores porque su entorno ha dejado de funcionar tal como se esperaba. 
+  No se ha parcheado el software comercial disponible en el mercado en una instancia persistente. Cuando tiene un problema con el software y contacta con el proveedor, este le notifica que la versión no es compatible y que tiene que aplicar un parche en un nivel específico para recibir asistencia. 
+  Ha utilizado un parche para el software de cifrado publicado recientemente que tiene importantes mejoras de rendimiento. Su sistema sin parches tiene problemas de rendimiento que continúan como resultado de no aplicar los parches. 
+  Se le notifica una vulnerabilidad de día cero que requiere una solución de emergencia y tiene que parchar todos sus entornos manualmente. 
+  No está al tanto de las acciones críticas necesarias para mantener los recursos, como las actualizaciones de versión obligatorias, porque no revisa los próximos eventos del ciclo de vida planificado y otra información. Pierde tiempo crítico para la planificación y la ejecución, lo que provoca cambios de emergencia para los equipos y un impacto potencial o un tiempo de inactividad inesperado. 

 **Beneficios de establecer esta práctica recomendada:** al establecer un proceso de administración de parches, que incluya sus criterios de aplicación de parches y la metodología de distribución en sus entornos, puede escalar e informar sobre los niveles de parches. Esto proporciona garantías en torno a la aplicación de parches de seguridad y garantiza una visibilidad clara del estado de las correcciones conocidas que se están aplicando. Esto fomenta la adopción de las características y capacidades deseadas, la rápida eliminación de problemas y el cumplimiento sostenido de la gobernanza. Implemente sistemas de administración de parches y automatización para reducir el nivel de esfuerzo en la implementación de parches y limitar los errores causados por los procesos manuales. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Aplique parches a los sistemas para solucionar problemas, para obtener las características o capacidades deseadas y para mantener la conformidad con la política de gobernanza y los requisitos de soporte de los proveedores. En sistemas inmutables, implemente con el conjunto de parches adecuados para lograr el resultado deseado. Automatice el mecanismo de administración de parches para reducir el tiempo que tarda en aplicarlos, evitar los errores causados por los procesos manuales y reducir el nivel de esfuerzo requerido para aplicar los parches. 

### Pasos para la implementación
<a name="implementation-steps"></a>

 Para el Generador de imágenes de Amazon EC2: 

1.  Con el Generador de imágenes de Amazon EC2, especifique los detalles de la canalización: 

   1.  Cree una canalización de imágenes y asígnele un nombre. 

   1.  Defina el horario y la zona horaria de la canalización. 

   1.  Configure las dependencias. 

1.  Elija una receta: 

   1.  Seleccione una receta existente o cree una nueva. 

   1.  Seleccione el tipo de imagen. 

   1.  Asigne un nombre y versión a la receta. 

   1.  Seleccione la imagen base. 

   1.  Agregue componentes de compilación y agréguelos al registro de destino. 

1.  Opcional: defina la configuración de la infraestructura. 

1.  Opcional: defina los ajustes de configuración. 

1.  Revise la configuración. 

1.  Mantenga la higiene de las recetas con regularidad. 

 Para Systems Manager Patch Manager: 

1.  Cree una línea de base de revisiones. 

1.  Seleccione un método de operaciones de creación de revisiones. 

1.  Habilite el análisis y la generación de informes de cumplimiento. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS06-BP04 Automatización de las pruebas y la reversión](ops_mit_deploy_risks_auto_testing_and_rollback.md) 

 **Documentos relacionados:** 
+ [ What is Amazon EC2 Image Builder ](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html)
+ [ Create an image pipeline using the Amazon EC2 Image Builder ](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-image-pipeline.html)
+ [ Create a container image pipeline ](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-container-pipeline.html)
+  [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 
+ [ Uso de Patch Manager (consola) ](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-console.html)
+ [ Trabajo con informes de conformidad de las revisiones ](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-compliance-reports.html)
+ [Herramientas para desarrolladores de AWS](https://aws.amazon.com/products/developer-tools)

 **Videos relacionados:** 
+  [CI/CD for Serverless Applications on AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
+  [Design with Ops in Mind](https://youtu.be/uh19jfW7hw4) 

   **Ejemplos relacionados:** 
+ [Tutoriales de AWS Systems Manager Systems Manager Patch Manager ](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-tutorials.html)

# OPS05-BP06 Uso compartido de estándares de diseño
<a name="ops_dev_integ_share_design_stds"></a>

 Comparta las prácticas recomendadas entre los equipos para aumentar la conciencia y maximizar los beneficios del trabajo de desarrollo. Documéntelas y manténgalas actualizadas a medida que evoluciona su arquitectura. Si se aplican los estándares compartidos en su organización, es fundamental que existan mecanismos para solicitar adiciones, cambios y excepciones a los estándares. Sin esta opción, los estándares se convierten en un obstáculo para la innovación. 

 **Resultado deseado:** los estándares de diseño se comparten entre los equipos de sus organizaciones. Se documentan y actualizan a medida que evolucionan las prácticas recomendadas. 

 **Patrones comunes de uso no recomendados:** 
+ Dos equipos de desarrollo distintos han creado, cada uno, un servicio de autenticación de usuarios. Sus usuarios tienen que mantener un conjunto de credenciales diferente para cada parte del sistema a la que quieran acceder. 
+ Cada equipo administra su propia infraestructura. Un nuevo requisito de conformidad obliga a cambiar la infraestructura y cada equipo lo aplica de forma distinta.

 **Beneficios de establecer esta práctica recomendada:** el uso de estándares compartidos favorece la adopción de las prácticas recomendadas y maximiza las ventajas de los esfuerzos de desarrollo. La documentación y actualización de los estándares de diseño mantiene a su organización al día de las prácticas recomendadas y de los requisitos de seguridad y cumplimiento. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Comparta entre los equipos las prácticas recomendadas, los estándares de diseño, las listas de verificación, los procedimientos operativos, las orientaciones y los requisitos de gobernanza. Disponga de procedimientos para solicitar cambios, adiciones y excepciones a los estándares de diseño para apoyar la mejora y la innovación. Asegúrese de que los equipos estén al tanto del contenido publicado. Disponga de un mecanismo para mantener al día los estándares de diseño a medida que surgen nuevas prácticas recomendadas. 

 **Ejemplo de cliente** 

 AnyCompany Retail cuenta con un equipo de arquitectura interfuncional que crea patrones de arquitectura de software. Este equipo construye la arquitectura con la conformidad y la gobernanza integradas. Los equipos que adoptan estos estándares compartidos se benefician de la conformidad y la gobernanza integradas. Pueden construir rápidamente sobre el estándar de diseño. El equipo de arquitectura se reúne trimestralmente para evaluar los patrones de arquitectura y actualizarlos en caso necesario. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Identifique un equipo interfuncional que se encargue de desarrollar y actualizar los estándares de diseño. Este equipo debe trabajar con las partes interesadas de toda la organización a fin de desarrollar estándares de diseño, procedimientos operativos, listas de verificación, guías y requisitos de gobernanza. Documente los estándares de diseño y compártalos dentro de su organización. 

   1.  [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) puede utilizarse para crear carteras que representen los estándares de diseño mediante la infraestructura como código. Puede compartir carteras entre cuentas. 

1.  Disponga de un mecanismo para mantener al día los estándares de diseño a medida que se identifiquen nuevas prácticas recomendadas. 

1.  Si los estándares de diseño se aplican de forma centralizada, cuente con un proceso para solicitar cambios, actualizaciones y exenciones. 

 **Nivel de esfuerzo para el plan de implementación:** medio. El desarrollo de un proceso para crear y compartir estándares de diseño precisa de coordinación y cooperación con las partes interesadas de toda la organización. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS01-BP03 Evaluación de los requisitos de gobernanza](ops_priorities_governance_reqs.md): los requisitos de gobernanza influyen en los estándares de diseño. 
+  [OPS01-BP04 Evaluación de los requisitos de cumplimiento](ops_priorities_compliance_reqs.md): la conformidad es un elemento vital de la creación de estándares de diseño. 
+  [OPS07-BP02 Garantía de una revisión sistemática de la preparación operativa](ops_ready_to_support_const_orr.md): las listas de verificación de preparación operativa son un mecanismo para implementar los estándares de diseño a la hora de diseñar la carga de trabajo. 
+  [OPS11-BP01 Implementación de un proceso de mejora continua](ops_evolve_ops_process_cont_imp.md): la actualización de los estándares de diseño forma parte de la mejora continua. 
+  [OPS11-BP04 Administración de conocimientos](ops_evolve_ops_knowledge_management.md): como parte de su práctica de administración del conocimiento, documente y comparta los estándares de diseño. 

 **Documentos relacionados:** 
+ [ Automate AWS Backups with AWS Service Catalog](https://aws.amazon.com/blogs/mt/automate-aws-backups-with-aws-service-catalog/)
+ [AWS Service Catalog Account Factory-Enhanced ](https://aws.amazon.com/blogs/mt/aws-service-catalog-account-factory-enhanced/)
+ [ How Expedia Group built Database as a Service (DBaaS) offering using AWS Service Catalog](https://aws.amazon.com/blogs/mt/how-expedia-group-built-database-as-a-service-dbaas-offering-using-aws-service-catalog/)
+ [ Maintain visibility over the use of cloud architecture patterns ](https://aws.amazon.com/blogs/architecture/maintain-visibility-over-the-use-of-cloud-architecture-patterns/)
+ [ Simplify sharing your AWS Service Catalog portfolios in an AWS Organizations setup ](https://aws.amazon.com/blogs/mt/simplify-sharing-your-aws-service-catalog-portfolios-in-an-aws-organizations-setup/)

 **Videos relacionados:** 
+ [AWS Service Catalog – Getting Started ](https://www.youtube.com/watch?v=A9kKy6WhqVA)
+ [AWS re:Invent 2020: Manage your AWS Service Catalog portfolios like an expert ](https://www.youtube.com/watch?v=lVfXkWHAtR8)

 **Ejemplos relacionados:** 
+ [Arquitectura de referencia de AWS Service Catalog](https://github.com/aws-samples/aws-service-catalog-reference-architectures)
+ [AWS Service Catalog Workshop ](https://catalog.us-east-1.prod.workshops.aws/workshops/d40750d7-a330-49be-9945-cde864610de9/en-US)

 **Servicios relacionados:** 
+  [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) 

# OPS05-BP07 Implementación de prácticas para mejorar la calidad del código
<a name="ops_dev_integ_code_quality"></a>

 Adopte prácticas para mejorar la calidad del código y minimizar los defectos. Algunos ejemplos son el desarrollo basado en pruebas, las revisiones de código, la adopción de estándares y la programación en pareja. Integre estas prácticas a su proceso de integración y entrega continuas. 

 **Resultado deseado:** su organización utiliza las prácticas recomendadas, como las revisiones de código o la programación en pareja, para mejorar la calidad del código. Los desarrolladores y operadores adoptan las prácticas recomendadas de calidad del código como parte del ciclo de vida de desarrollo del software. 

 **Patrones comunes de uso no recomendados:** 
+  Envía código a la rama principal de su aplicación sin una revisión del código. El cambio se implementa automáticamente en producción y provoca una interrupción del servicio. 
+  Se desarrolla una nueva aplicación sin pruebas de unidad, integrales o de integración. No hay forma de probar la aplicación antes de la implementación. 
+  Los equipos hacen cambios manuales en producción para corregir defectos. Los cambios no se someten a pruebas ni revisiones de código y no se capturan ni registran en los procesos de integración y entrega continuas. 

 **Beneficios de establecer esta práctica recomendada:** al adoptar prácticas para mejorar la calidad del código, puede ayudar a minimizar los problemas introducidos en la producción. Las prácticas recomendadas para la calidad del código incluyen la programación en parejas, las revisiones del código y la implementación de herramientas de productividad de IA. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Adopte prácticas para mejorar la calidad del código y minimizar los defectos antes de la implementación. Utilice prácticas como desarrollo basado en pruebas, revisiones de código y programación en pareja para mejorar la calidad de su proceso. 

 Utilice el poder de la IA generativa con Amazon Q Developer para mejorar la productividad de los desarrolladores y la calidad del código. Amazon Q Developer incluye la generación de sugerencias de código (basadas en modelos de lenguaje de gran tamaño), la producción de pruebas unitarias (incluidas condiciones límite) y mejoras de seguridad del código mediante la detección y la corrección de las vulnerabilidades de seguridad. 

 **Ejemplo de cliente** 

 AnyCompany Retail adopta diversas prácticas para mejorar la calidad del código. Ha adoptado el desarrollo basado en pruebas como norma para escribir aplicaciones. Para algunas funciones nuevas, hace que los desarrolladores programen en pareja durante un sprint. Cada solicitud de extracción se somete a una revisión de código por parte de un desarrollador sénior antes de que se integre e implemente. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Adopte prácticas que fomenten la calidad del código, como el desarrollo basado en pruebas, las revisiones del código y la programación en parejas, en su proceso de integración y entrega continuas. Utilice estas técnicas para mejorar la calidad del software. 

   1.  Utilice [Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/what-is.html), una herramienta de IA generativa que puede ayudarle a crear casos de pruebas unitarias (incluidas las condiciones de límite), generar funciones mediante código y comentarios, implementar algoritmos conocidos, detectar infracciones y vulnerabilidades de las políticas de seguridad en su código, detectar secretos, escanear la infraestructura como código (IaC), documentar código y aprender bibliotecas de códigos de terceros con mayor rapidez. 

   1.  El [Revisor de Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) puede proporcionar recomendaciones de programación para código Java y Python mediante el uso de machine learning. 

 **Nivel de esfuerzo para el plan de implementación:** medio. Existen numerosas formas de implementar esta práctica recomendada, pero conseguir que la organización la adopte puede suponer un reto. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS05-BP02 Prueba y validación de los cambios](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_test_val_chg.html) 
+  [OPS05-BP06 Uso compartido de estándares de diseño](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_share_design_stds.html) 

 **Documentos relacionados:** 
+  [Adoptar un enfoque de desarrollo basado en pruebas](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/development-best-practices.html) 
+  [Accelerate your Software Development Lifecycle with Amazon Q](https://aws.amazon.com/blogs/devops/accelerate-your-software-development-lifecycle-with-amazon-q/) 
+  [Amazon Q Developer, now generally available, includes previews of new capabilities to reimagine developer experience](https://aws.amazon.com/blogs/aws/amazon-q-developer-now-generally-available-includes-new-capabilities-to-reimagine-developer-experience/) 
+  [The Ultimate Cheat Sheet for Using Amazon Q Developer in Your IDE](https://community.aws/content/2eYoqeFRqaVnk900emsknDfzhfW/the-ultimate-cheat-sheet-for-using-amazon-q-developer-in-your-ide) 
+  [Shift-Left Workload, leveraging AI for Test Creation](https://community.aws/content/2gBZtC94gPzaCQRnt4P0rIYWuBx/shift-left-workload-leveraging-ai-for-test-creation) 
+  [Amazon Q Developer Center](https://aws.amazon.com/developer/generative-ai/amazon-q/) 
+  [10 ways to build applications faster with Amazon CodeWhisperer](https://aws.amazon.com/blogs/devops/10-ways-to-build-applications-faster-with-amazon-codewhisperer/) 
+  [Looking beyond code coverage with Amazon CodeWhisperer](https://aws.amazon.com/blogs/devops/looking-beyond-code-coverage-with-amazon-codewhisperer/) 
+  [Best Practices for Prompt Engineering with Amazon CodeWhisperer](https://aws.amazon.com/blogs/devops/best-practices-for-prompt-engineering-with-amazon-codewhisperer/) 
+  [Agile Software Guide](https://martinfowler.com/agile.html) 
+  [My CI/CD pipeline is my release captain](https://aws.amazon.com/builders-library/cicd-pipeline/) 
+  [Automate code reviews with Amazon CodeGuru Reviewer](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/) 
+  [Adoptar un enfoque de desarrollo basado en pruebas](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/development-best-practices.html) 
+  [How DevFactory builds better applications with Amazon CodeGuru](https://aws.amazon.com/blogs/machine-learning/how-devfactory-builds-better-applications-with-amazon-codeguru/) 
+  [On Pair Programming](https://martinfowler.com/articles/on-pair-programming.html) 
+  [RENGA Inc. automates code reviews with Amazon CodeGuru](https://aws.amazon.com/blogs/machine-learning/renga-inc-automates-code-reviews-with-amazon-codeguru/) 
+  [The Art of Agile Development: Test-Driven Development](http://www.jamesshore.com/v2/books/aoad1/test_driven_development) 
+  [Why code reviews matter (and actually save time\$1)](https://www.atlassian.com/agile/software-development/code-reviews) 

 **Videos relacionados:** 
+  [Implement an API with Amazon Q Developer Agent for Software Development](https://www.youtube.com/watch?v=U4XEvJUvff4) 
+  [Installing, Configuring, & Using Amazon Q Developer with JetBrains IDEs (How-to)](https://www.youtube.com/watch?v=-iQfIhTA4J0) 
+  [Mastering the art of Amazon CodeWhisperer - YouTube playlist](https://www.youtube.com/playlist?list=PLDqi6CuDzubxzL-yIqgQb9UbbceYdKhpK) 
+  [AWS re:Invent 2020: Continuous improvement of code quality with Amazon CodeGuru](https://www.youtube.com/watch?v=iX1i35H1OVw) 
+  [AWS Summit ANZ 2021 - Driving a test-first strategy with CDK and test driven development](https://www.youtube.com/watch?v=1R7G_wcyd3s) 

 **Servicios relacionados:** 
+  [Amazon Q Developer](https://aws.amazon.com/q/developer/) 
+  [Revisor de Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) 
+  [Generador de perfiles de Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 

# OPS05-BP08 Uso de varios entornos
<a name="ops_dev_integ_multi_env"></a>

 Use diversos entornos para experimentar, desarrollar y poner a prueba su carga de trabajo. Utilice niveles crecientes de controles a medida que los entornos se acerquen a la fase de producción para asegurarse de que su carga de trabajo funcione según lo previsto cuando se implemente. 

 **Resultado deseado:** tiene varios entornos que reflejan sus necesidades de cumplimiento y gobernanza. Prueba y hace avanzar el código a través de entornos en su ruta hasta producción. 

1.  Su organización lo consigue mediante el establecimiento de una zona de aterrizaje, que proporciona gobernanza, controles, automatizaciones de cuentas, redes, seguridad y observabilidad operativa. Gestione estas capacidades de zona de aterrizaje mediante el uso de varios entornos. Un ejemplo común es una organización de un entorno de pruebas para desarrollar y probar cambios en una zona de aterrizaje basada en [AWS Control Tower](https://aws.amazon.com/controltower/), que incluye [AWS IAM Identity Center](https://aws.amazon.com/iam/identity-center/) y políticas como las [políticas de control de servicios (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html). Todos estos elementos pueden afectar significativamente al acceso y al funcionamiento de Cuentas de AWS en la zona de aterrizaje. 

1.  Además de estos servicios, sus equipos amplían las capacidades de las zonas de aterrizaje con soluciones publicadas por socios de AWS y AWS o como soluciones personalizadas desarrolladas dentro de su organización. Algunos ejemplos de soluciones publicadas por AWS son [Customizations for AWS Control Tower (cFCT)](https://aws.amazon.com/solutions/implementations/customizations-for-aws-control-tower/) y [AWS Control Tower Account Factory for Terraform (](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html)AFT). 

1.  Su organización aplica los mismos principios de pruebas, promoción del código y cambios de política para la zona de aterrizaje en los entornos que se encuentran en su camino hacia la producción. Esta estrategia proporciona un entorno de zona de aterrizaje estable y seguro para sus equipos de aplicaciones y cargas de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  Está desarrollando en un entorno compartido y otro desarrollador sobrescribe sus cambios de código. 
+  Los controles de seguridad restrictivos de su entorno de desarrollo compartido le impiden experimentar con nuevos servicios y características. 
+  Lleva a cabo pruebas de carga en sus sistemas de producción y provoca una interrupción a los usuarios. 
+  Se ha producido un error crítico que ha provocado la pérdida de datos en producción. En el entorno de producción, se intenta recrear las condiciones que condujeron a la pérdida de datos para poder identificar cómo ocurrió y evitar que vuelva a suceder. Para evitar más pérdida de datos durante las pruebas, se ve obligado a hacer que la aplicación no esté disponible para los usuarios. 
+  Utiliza un servicio de inquilino múltiple y no puede atender la solicitud de un cliente de tener un entorno dedicado. 
+  Puede que no siempre pruebe, pero cuando lo hace, lo hace en su entorno de producción. 
+  Cree que la simplicidad de un entorno único anula el alcance del impacto de los cambios en el entorno. 
+  Actualiza una función clave de zona de aterrizaje, pero el cambio perjudica la capacidad de su equipo de vender cuentas para nuevos proyectos o para sus cargas de trabajo existentes. 
+  Aplica nuevos controles a sus Cuentas de AWS, pero el cambio repercute en la capacidad de su equipo de cargas de trabajo para implementar cambios en sus Cuentas de AWS. 

 **Beneficios de establecer esta práctica recomendada:** cuando implementa varios entornos, puede dar respaldo a varios entornos simultáneos de desarrollo, de pruebas y de producción sin crear conflictos entre los desarrolladores o las comunidades de usuarios. En el caso de funciones complejas, como las zonas de aterrizaje, se reduce considerablemente el riesgo de cambios, se simplifica el proceso de mejora y se reduce el riesgo de que se produzcan actualizaciones críticas en el entorno. Las organizaciones que utilizan zonas de aterrizaje se benefician naturalmente de tener múltiples cuentas en su entorno de AWS, con configuraciones de estructura de cuentas, gobierno, red y seguridad. Con el tiempo, a medida que su organización crece, la zona de aterrizaje puede evolucionar para proteger y organizar sus cargas de trabajo y sus recursos. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Use varios entornos y proporcione a los desarrolladores entornos de pruebas con controles minimizados para ayudar con la experimentación. Proporcione entornos de desarrollo individuales para ayudar al trabajo en paralelo, que aumenta la agilidad del desarrollo. Implemente controles más rigurosos en los entornos que están cercanos a la producción para que los desarrolladores puedan innovar. Utilice infraestructura como código y sistemas de administración de la configuración para implementar entornos que estén configurados de forma coherente con los controles presentes en la producción y asegurarse de que los sistemas funcionarán como se espera cuando se implementen. Cuando los entornos no estén en uso (por ejemplo, sistemas de desarrollo durante la noche y los fines de semana), apáguelos para evitar los costos asociados a los recursos inactivos. Cuando haga pruebas de carga, implemente entornos semejantes al de producción para mejorar los resultados válidos. 

 Los equipos de ingeniería de plataformas, redes y operaciones de seguridad suelen gestionar las capacidades a nivel de la organización con requisitos distintos. La separación de las cuentas por sí sola no basta para proporcionar y mantener entornos separados para la experimentación, el desarrollo y las pruebas. En estos casos, cree instancias de AWS Organizations separadas. 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+ [ Programador de instancias de AWS](https://aws.amazon.com/solutions/implementations/instance-scheduler-on-aws/)
+  [¿Qué es AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+ [Organización de su entorno de AWS mediante varias cuentas. Varias organizaciones. Pruebe los cambios en el entorno general de AWS](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/multiple-organizations.html#test-changes-to-your-overall-aws-environment)
+ [Guía de AWS Control Tower](https://catalog.workshops.aws/control-tower)

# OPS05-BP09 Cambios frecuentes, pequeños y reversibles
<a name="ops_dev_integ_freq_sm_rev_chg"></a>

 Los cambios frecuentes, pequeños y reversibles tienen menos alcance y menos repercusiones. Cuando se utilizan junto con sistemas de administración de cambios, sistemas de administración de la configuración y sistemas de compilación y entrega, los cambios frecuentes, pequeños y reversibles reducen el alcance y el impacto de un cambio. Al hacerlo, los problemas se solucionan de forma más eficaz y rápida con la opción de revertir los cambios. 

 **Patrones comunes de uso no recomendados:** 
+  Implementa una nueva versión de su aplicación trimestralmente con una ventana de cambios que significa que un servicio principal está desactivado. 
+  Hace cambios frecuentes en el esquema de su base de datos sin hacer un seguimiento de los cambios en sus sistemas de administración. 
+  Lleve a cabo actualizaciones manuales in situ, y sobrescriba las instalaciones y configuraciones existentes y no tiene un plan de reversión claro. 

 **Beneficios de establecer esta práctica recomendada:** los esfuerzos de desarrollo son más rápidos al implementar pequeños cambios con frecuencia. Cuando los cambios son pequeños, es mucho más fácil identificar si tienen consecuencias no deseadas y es más fácil revertirlos. Cuando los cambios son reversibles, hay menos riesgo de aplicar el cambio, ya que la recuperación se simplifica. El proceso de cambio tiene un menor riesgo y el impacto de un cambio erróneo se reduce. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Utilice cambios frecuentes, pequeños y reversibles para reducir el alcance y las repercusiones del cambio. Esto facilita la resolución de problemas, ayuda a implementar correcciones rápidamente y permite revertir los cambios. También aumenta el ritmo con el que entrega valor a la empresa. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS05-BP03 Uso de sistemas de administración de la configuración](ops_dev_integ_conf_mgmt_sys.md) 
+  [OPS05-BP04 Uso de sistemas de administración de compilación e implementación](ops_dev_integ_build_mgmt_sys.md) 
+  [OPS06-BP04 Automatización de las pruebas y la reversión](ops_mit_deploy_risks_auto_testing_and_rollback.md) 

 **Documentos relacionados:** 
+ [ Implementing Microservices on AWS](https://docs.aws.amazon.com/whitepapers/latest/microservices-on-aws/microservices-on-aws.html)
+ [ Microservices - Observability ](https://docs.aws.amazon.com/whitepapers/latest/microservices-on-aws/observability.html)

# OPS05-BP10 Automatización completa de la integración y la implementación
<a name="ops_dev_integ_auto_integ_deploy"></a>

 Automatice la compilación, la implementación y la comprobación de la carga de trabajo. Esto reduce tanto los errores causados por los procesos manuales como el esfuerzo requerido para implementar los cambios. 

 Aplique metadatos mediante [etiquetas de registro](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) y [Grupos de recursos de AWS](https://docs.aws.amazon.com/ARG/latest/APIReference/Welcome.html) mediante una [estrategia de etiquetado](https://aws.amazon.com/answers/account-management/aws-tagging-strategies/) coherente para permitir la identificación de sus recursos. Etiquete sus recursos para la organización, la contabilidad de costos, los controles de acceso y el objetivo de ejecución de actividades de operaciones automatizadas. 

 **Resultado deseado:** los desarrolladores utilizan herramientas para entregar código y progresar hasta producción. Los desarrolladores no tienen que iniciar sesión en la Consola de administración de AWS para entregar actualizaciones. Existe un registro de auditoría completo de los cambios y la configuración, que satisface las necesidades de gobernanza y cumplimiento. Los procesos son repetibles y están estandarizados en todos los equipos. Los desarrolladores pueden centrarse en el desarrollo y en la introducción de código, lo que aumenta la productividad. 

 **Patrones comunes de uso no recomendados:** 
+  El viernes finaliza con la creación del nuevo código para la ramificación de características. El lunes, después de ejecutar los scripts de pruebas de calidad del código y cada uno de los scripts de pruebas unitarias, comprueba el código para la siguiente versión programada. 
+  Se le asigna la tarea de codificar una solución para un problema crítico que afecta a un gran número de clientes en producción. Después de probar la corrección, confirma el código y envía un correo electrónico a la administración de cambios para solicitar la aprobación de su implementación en producción. 
+  Como desarrollador, debe iniciar sesión en la Consola de administración de AWS para crear un nuevo entorno de desarrollo utilizando métodos y sistemas no estándar. 

 **Beneficios de establecer esta práctica recomendada:** al implementar sistemas automatizados de administración de compilación e implementación, se reducen los errores causados por los procesos manuales y se reduce el esfuerzo para implementar los cambios, lo que ayuda a los miembros de su equipo a centrarse en la entrega de valor empresarial. Aumenta la velocidad de entrega a medida que progresa hasta producción. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Utilice sistemas de administración de compilación e implementación para hacer un seguimiento e implementar el cambio, a fin de reducir tanto los errores causados por los procesos manuales como el nivel de esfuerzo. Automatice completamente el proceso de integración e implementación, desde el registro del código hasta la compilación, prueba, implementación y validación. Esto reduce el tiempo de entrega, fomenta una mayor frecuencia de cambios, reduce el nivel de esfuerzo, aumenta la velocidad de comercialización, se traduce en un aumento de la productividad y aumenta la seguridad del código a medida que progresa hasta producción. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS05-BP03 Uso de sistemas de administración de la configuración](ops_dev_integ_conf_mgmt_sys.md) 
+  [OPS05-BP04 Uso de sistemas de administración de compilación e implementación](ops_dev_integ_build_mgmt_sys.md) 

 **Documentos relacionados:** 
+  [¿Qué es AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [¿Qué es AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Videos relacionados:** 
+ [AWS re:Invent 2022 - AWS Well-Architected best practices for DevOps on AWS](https://youtu.be/hfXokRAyorA)

# OPS 6. ¿Cómo mitiga los riesgos de implementación?
<a name="ops-06"></a>

 Adopte métodos que proporcionen una respuesta inmediata sobre la calidad y logren una recuperación rápida de los cambios que no obtengan los resultados deseados. El uso de estas prácticas ayuda a mitigar el impacto de los problemas generados con la implementación de cambios. 

**Topics**
+ [

# OPS06-BP01 Planificación para hacer frente a los cambios infructuosos
](ops_mit_deploy_risks_plan_for_unsucessful_changes.md)
+ [

# OPS06-BP02 Implementaciones de prueba
](ops_mit_deploy_risks_test_val_chg.md)
+ [

# OPS06-BP03 Uso de estrategias de implementación seguras
](ops_mit_deploy_risks_deploy_mgmt_sys.md)
+ [

# OPS06-BP04 Automatización de las pruebas y la reversión
](ops_mit_deploy_risks_auto_testing_and_rollback.md)

# OPS06-BP01 Planificación para hacer frente a los cambios infructuosos
<a name="ops_mit_deploy_risks_plan_for_unsucessful_changes"></a>

Planifique la reversión a un estado óptimo conocido o la corrección en el entorno de producción si una implementación causa un resultado no deseado. Tener una política para establecer un plan de este tipo ayuda a todos los equipos a desarrollar estrategias para recuperarse de los cambios fallidos. Algunos ejemplos de estrategias son los pasos de implementación y reversión, las políticas de cambio, los indicadores de características, el aislamiento del tráfico y el cambio de tráfico. Una sola versión puede incluir varios cambios de componentes relacionados. La estrategia debe proporcionar la capacidad de resistir o recuperarse de un error de cualquier cambio de componente.

 **Resultado deseado:** ha preparado un plan de recuperación detallado para su cambio en caso de que no tenga éxito. Además, ha reducido el tamaño de su versión para minimizar el impacto potencial en otros componentes de la carga de trabajo. Como resultado, ha reducido su impacto empresarial al acortar el posible tiempo de inactividad causado por un cambio infructuoso y ha aumentado la flexibilidad y la eficiencia de los tiempos de recuperación. 

 **Patrones comunes de uso no recomendados:** 
+  Ha llevado a cabo una implementación y la aplicación se comporta de forma inestable, aunque parece que hay usuarios activos en el sistema. Debe decidir si deshacer el cambio, lo que afectará a los usuarios activos, o esperar a revertir el cambio sabiendo que los usuarios pueden verse afectados igualmente. 
+  Después de hacer un cambio de rutina, sus nuevos entornos son accesibles, pero una de sus subredes ha quedado inaccesible. Tiene que decidir si revertirlo todo o intentar reparar la subred inaccesible. Mientras toma esa decisión, no se podrá acceder a la subred. 
+  Sus sistemas no tienen una arquitectura que permita actualizarlos con versiones más pequeñas. Como resultado, tiene dificultades para revertir esos cambios masivos durante una implementación infructuosa. 
+  No utiliza la infraestructura como código (IaC) y ha llevado a cabo actualizaciones manuales en su infraestructura que han dado lugar a una configuración no deseada. No puede hacer un seguimiento eficaz de los cambios manuales ni revertirlos. 
+  Como no ha medido el aumento de la frecuencia de sus implementaciones, su equipo no tiene incentivos para reducir el tamaño de los cambios y mejorar los planes de reversión para cada cambio, lo que genera más riesgos y mayores tasas de errores. 
+  No mide la duración total de una interrupción provocada por cambios infructuosos. Su equipo no puede establecer prioridades ni mejorar la eficacia del proceso de implementación y del plan de recuperación. 

 **Beneficios de establecer esta práctica recomendada:** tener un plan para recuperarse de cambios fallidos minimiza el tiempo medio de recuperación (MTTR) y reduce el impacto en la organización. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 La adopción por parte de los equipos de lanzamiento de políticas y prácticas coherentes permite a la organización planificar lo que debe suceder si se producen cambios infructuosos. La política debe permitir aplicar correcciones temporales en circunstancias concretas. En cualquier situación, un plan de corrección temporal o reversión debe estar bien documentado y probado antes de implementarlo en producción en vivo para minimizar el tiempo que lleva revertir un cambio. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Documente las políticas que requieren que los equipos tengan planes efectivos para revertir los cambios dentro de un período específico. 

   1.  Las políticas deben especificar cuándo se permite una situación de corrección temporal. 

   1.  Exija un plan de reversión documentado al que puedan acceder todas las partes involucradas. 

   1.  Especifique los requisitos para la reversión (por ejemplo, cuando se descubra que se han implementado cambios no autorizados). 

1.  Analice el grado de impacto de todos los cambios relacionados con cada componente de una carga de trabajo. 

   1.  Permita que los cambios repetibles se estandaricen, se diseñen con plantillas y se autoricen previamente si siguen un flujo de trabajo coherente que aplique las políticas de cambio. 

   1.  Reduzca el impacto potencial de cualquier cambio mediante la reducción del tamaño del cambio para que la recuperación lleve menos tiempo y cause menos repercusión en la empresa. 

   1.  Asegúrese de que los procedimientos de reversión reviertan el código al estado correcto conocido para evitar incidentes siempre que sea posible. 

1.  Integre herramientas y flujos de trabajo para aplicar sus políticas mediante programación. 

1.  Haga que los datos sobre los cambios sean visibles para otros propietarios de cargas de trabajo para mejorar la velocidad de diagnóstico de cualquier cambio infructuoso que no se pueda revertir. 

   1.  Mida el éxito de esta práctica a través de datos de cambios visibles e identifique las mejoras iterativas. 

1.  Utilice herramientas de supervisión para verificar el éxito o el fracaso de una implementación a fin de acelerar la toma de decisiones sobre la reversión. 

1.  Mida la duración de la interrupción durante un cambio infructuoso para mejorar continuamente sus planes de recuperación. 

 **Nivel de esfuerzo para el plan de implementación:** medio 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS06-BP04 Automatización de las pruebas y la reversión](ops_mit_deploy_risks_auto_testing_and_rollback.md) 

 **Documentos relacionados:** 
+ [AWS Builders' Library: Asegurar la seguridad en las restauraciones durante las implementaciones ](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments/)
+ [Documento técnico de AWS: Change Management in the Cloud ](https://docs.aws.amazon.com/whitepapers/latest/change-management-in-the-cloud/change-management-in-the-cloud.html)

 **Videos relacionados:** 
+ [ re:Invent 2019 \$1 Amazon’s approach to high-availability deployment ](https://aws.amazon.com/builders-library/amazon-approach-to-high-availability-deployment/)

# OPS06-BP02 Implementaciones de prueba
<a name="ops_mit_deploy_risks_test_val_chg"></a>

 Pruebe los procedimientos de lanzamiento en preproducción con la misma configuración de implementación, controles de seguridad, pasos y procedimientos que en producción. Valide que todos los pasos implementados se completen según lo esperado, como la inspección de archivos, configuraciones y servicios. Pruebe más a fondo todos los cambios con pruebas funcionales, de integración y de carga, junto con cualquier supervisión, como la comprobación de estado. Al llevar a cabo estas pruebas, puede identificar los problemas de implementación con prontitud y tiene la oportunidad de planificarlos y mitigarlos antes de llegar a producción. 

 Puede crear entornos paralelos temporales para probar cada cambio. Automatice la implementación de los entornos de prueba mediante la infraestructura como código (IaC) para reducir la cantidad de trabajo que implica y garantizar la estabilidad, la coherencia y una entrega de características más rápida. 

 **Resultado deseado:** su organización adopta una cultura de desarrollo basada en pruebas que incluye la implementación de pruebas. Esto garantiza que los equipos se centren en ofrecer valor empresarial en lugar de administrar las versiones. Los equipos participan desde el principio de la identificación de los riesgos de la implementación para determinar el curso de mitigación adecuado. 

 **Patrones comunes de uso no recomendados:** 
+  Durante las versiones de producción, las implementaciones no probadas provocan problemas frecuentes que requieren la solución de problemas y la escalada. 
+  Su versión contiene infraestructura como código (IaC) que actualiza los recursos existentes. No tiene la seguridad de si IaC se ejecuta correctamente o si afecta a los recursos. 
+  Implementa una característica nueva en su aplicación. No funciona según lo previsto y no hay visibilidad hasta que los usuarios afectados lo denuncien. 
+  Actualiza sus certificados. Instala accidentalmente los certificados en los componentes incorrectos, lo que pasa desapercibido y afecta a los visitantes del sitio web porque no se puede establecer una conexión segura con el sitio web. 

 **Beneficios de establecer esta práctica recomendada:** las exhaustivas pruebas en la preproducción de los procedimientos de implementación y los cambios introducidos por ellos minimizan la posible repercusión en producción causada por las etapas de implementación. Esto aumenta la confianza durante el lanzamiento de producción y minimiza el soporte operativo sin ralentizar la velocidad de los cambios que se introducen. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Probar el proceso de implementación es tan importante como probar los cambios que resultan de la implementación. Esto se puede lograr probando los pasos de implementación en un entorno de preproducción que refleje la producción lo más fielmente posible. Los problemas más habituales, como pasos de implementación incompletos o incorrectos o configuraciones incorrectas, pueden detectarse antes de pasar a producción. Además, puede poner a prueba sus pasos de recuperación. 

 **Ejemplo de cliente** 

 Como parte de su canalización de integración y entrega continuas (CI/CD), AnyCompany Retail lleva a cabo los pasos definidos necesarios para lanzar actualizaciones de infraestructura y software para sus clientes en un entorno similar al de producción. La canalización se compone de comprobaciones previas para detectar desviaciones (detectar cambios en los recursos hechos fuera de su IaC) en los recursos antes de la implementación, así como para validar las acciones que la IaC emprende tras su inicio. Valida los pasos de la implementación, como verificar que determinados archivos y configuraciones estén en su sitio y que los servicios estén en estado de ejecución y respondan correctamente a las comprobaciones de estado del host local antes de volver a registrarse en el equilibrador de carga. Además, todos los cambios se someten a una serie de pruebas automatizadas, como pruebas funcionales, de seguridad, de regresión, de integración y de carga. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Haga comprobaciones previas a la instalación para reflejar el entorno de preproducción en producción. 

   1.  Use la [detección de desviaciones](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) para detectar cuándo se han cambiado los recursos fuera de CloudFormation. 

   1.  Use los [conjuntos de cambio](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html) para validar que la intención de una actualización de la pila coincida con las acciones que CloudFormation lleva a cabo cuando se inicia el conjunto de cambios. 

1.  Esto desencadena un paso de aprobación manual en [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/approvals.html) para autorizar la implementación en el entorno de preproducción. 

1.  Utilice configuraciones de implementación, como los archivos [AWS CodeDeploy AppSpec](https://docs.aws.amazon.com/codedeploy/latest/userguide/application-specification-files.html), para definir los pasos de implementación y validación. 

1.  Cuando proceda, [integre AWS CodeDeploy con otros servicios de AWS](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws.html) o [integre AWS CodeDeploy con los productos y servicios de los socios](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-partners.html). 

1.  [Supervise las implementaciones](https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring.html) mediante Amazon CloudWatch, AWS CloudTrail y las notificaciones de eventos de Amazon SNS. 

1.  Lleve a cabo pruebas automatizadas posteriores a la implementación, incluidas pruebas funcionales, de seguridad, de regresión, de integración y de carga. 

1.  [Solucione los problemas](https://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting.html) de implementación. 

1.  La validación correcta de los pasos precedentes debería iniciar un flujo de trabajo de aprobación manual para autorizar la implementación en producción. 

 **Nivel de esfuerzo para el plan de implementación:** alto 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS05-BP02 Prueba y validación de los cambios](ops_dev_integ_test_val_chg.md) 

 **Documentos relacionados:** 
+ [AWS Builders' Library: Automatización de implementaciones seguras y sin intervención \$1 Implementaciones de prueba ](https://aws.amazon.com/builders-library/automating-safe-hands-off-deployments/#Test_deployments_in_pre-production_environments)
+ [Documento técnico de AWS: Práctica de integración y entrega continuas en AWS](https://docs.aws.amazon.com/whitepapers/latest/practicing-continuous-integration-continuous-delivery/testing-stages-in-continuous-integration-and-continuous-delivery.html)
+ [ The Story of Apollo - Amazon's Deployment Engine ](https://www.allthingsdistributed.com/2014/11/apollo-amazon-deployment-engine.html)
+  [How to test and debug AWS CodeDeploy locally before you ship your code](https://aws.amazon.com/blogs/devops/how-to-test-and-debug-aws-codedeploy-locally-before-you-ship-your-code/) 
+ [ Integrating Network Connectivity Testing with Infrastructure Deployment ](https://aws.amazon.com/blogs/networking-and-content-delivery/integrating-network-connectivity-testing-with-infrastructure-deployment/)

 **Videos relacionados:** 
+ [ re:Invent 2020 \$1 Testing software and systems at Amazon ](https://www.youtube.com/watch?v=o1sc3cK9bMU)

 **Ejemplos relacionados:** 
+ [ Tutorial: Deploy and Amazon ECS service with a validation test ](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorial-ecs-deployment-with-hooks.html)

# OPS06-BP03 Uso de estrategias de implementación seguras
<a name="ops_mit_deploy_risks_deploy_mgmt_sys"></a>

 Las implementaciones de producción seguras controlan el flujo de cambios beneficiosos con el objetivo de minimizar cualquier impacto percibido por los clientes como consecuencia de dichos cambios. Los controles de seguridad proporcionan mecanismos de inspección para validar los resultados deseados y limitar el alcance del impacto de cualquier defecto introducido por los cambios o por errores en la implementación. Las implementaciones seguras incluyen estrategias como: indicadores de características, caja individual, continuas (versiones de canarios), inmutables, división del tráfico e implementaciones azul-verde. 

 **Resultado deseado:** su organización utiliza un sistema de entrega continua e integración continua (CI/CD) que proporciona capacidades para automatizar implementaciones seguras. Los equipos deben utilizar estrategias adecuadas para implementaciones seguras. 

 **Patrones comunes de uso no recomendados:** 
+  Implementa un cambio sin éxito en toda la producción de una sola vez. Como resultado, todos los clientes resultan afectados simultáneamente. 
+  Un defecto introducido en una implementación simultánea en todos los sistemas requiere una versión de emergencia. Corregirlo para todos los clientes lleva varios días. 
+  La administración del lanzamiento de producción requiere la planificación y la participación de varios equipos. Esto limita su capacidad de actualizar con frecuencia las características para sus clientes. 
+  Lleva a cabo una implementación mutable al modificar los sistemas existentes. Tras descubrir que el cambio no ha tenido éxito, se ve obligado a modificar de nuevo los sistemas para restaurar la versión antigua, lo que prolonga el tiempo de recuperación. 

 **Beneficios de establecer esta práctica recomendada:** las implementaciones automatizadas equilibran la velocidad de las implementaciones con la entrega de cambios beneficiosos de manera coherente a los clientes. Limitar el impacto evita caros errores de implementación y maximiza la capacidad de los equipos de responder de manera eficiente a los errores. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Los errores continuos en la entrega pueden provocar una reducción de la disponibilidad del servicio y una mala experiencia para los clientes. Para maximizar la tasa de implementaciones satisfactorias, implemente controles de seguridad en el proceso de lanzamiento de principio a fin de minimizar los errores de implementación, con el objetivo de lograr implementaciones sin ningún error. 

 **Ejemplo de cliente** 

 AnyCompany Retail tiene la misión de lograr implementaciones con un tiempo de inactividad mínimo o nulo, lo que significa que los usuarios no perciban ningún impacto durante las implementaciones. Para lograrlo, la empresa ha establecido patrones de implementación (consulte el siguiente diagrama de flujo de trabajo), como implementaciones azul-verde y continuas. Todos los equipos adoptan uno o más de estos patrones en su canalización de CI/CD. 


| Flujo de trabajo de CodeDeploy para Amazon EC2 | Flujo de trabajo de CodeDeploy para Amazon ECS | Flujo de trabajo de CodeDeploy para Lambda | 
| --- | --- | --- | 
|  ![\[Flujo de proceso de implementación para Amazon EC2\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/images/deployment-process-ec2.png)  |  ![\[Flujo de proceso de implementación para Amazon ECS\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/images/deployment-process-ecs.png)  |  ![\[Flujo de proceso de implementación para Lambda\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/images/deployment-process-lambda.png)  | 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Use un flujo de trabajo de aprobación para iniciar la secuencia de pasos de implementación de producción, de la promoción a la producción. 

1.  Use un sistema de implementación automatizado como [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html). Las opciones de [implementaciones locales](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps.html) de AWS CodeDeploy para EC2/en las instalaciones e implementaciones azul-verde para EC2/en las instalaciones, AWS Lambda y Amazon ECS (consulte el diagrama de flujo de trabajo anterior). 

   1.  Cuando proceda, [integre AWS CodeDeploy con otros servicios de AWS](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws.html) o [integre AWS CodeDeploy con los productos y servicios de los socios](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-partners.html). 

1.  Utilice implementaciones azul/verde para bases de datos como [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/blue-green-deployments.html) y [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/blue-green-deployments.html). 

1.  [Supervise las implementaciones](https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring.html) mediante Amazon CloudWatch, AWS CloudTrail y las notificaciones de eventos de Amazon Simple Notification Service (Amazon SNS). 

1.  Haga pruebas automatizadas posteriores a la implementación, incluidas pruebas funcionales, de seguridad, de regresión, de integración y cualquier prueba de carga. 

1.  [Solucione los problemas](https://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting.html) de implementación. 

 **Nivel de esfuerzo para el plan de implementación:** medio 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS05-BP02 Prueba y validación de los cambios](ops_dev_integ_test_val_chg.md) 
+  [OPS05-BP09 Cambios frecuentes, pequeños y reversibles](ops_dev_integ_freq_sm_rev_chg.md) 
+  [OPS05-BP10 Automatización completa de la integración y la implementación](ops_dev_integ_auto_integ_deploy.md) 

 **Documentos relacionados:** 
+ [AWS Builders' Library: Automatización de implementaciones seguras y sin intervención \$1 Implementaciones de producción ](https://aws.amazon.com/builders-library/automating-safe-hands-off-deployments/?did=ba_card&trk=ba_card#Production_deployments)
+ [AWS Builders Library: My CI/CD pipeline is my release captain \$1 Safe, automatic production releases](https://aws.amazon.com//builders-library/cicd-pipeline/#Safe.2C_automatic_production_releases)
+ [Documento técnico de AWS: Práctica de integración y entrega continuas en AWS \$1 Métodos de implementación](https://docs.aws.amazon.com/whitepapers/latest/practicing-continuous-integration-continuous-delivery/deployment-methods.html)
+ [AWS CodeDeploy Guía del usuario de](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)
+ [Working with deployment configurations in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html)
+ [Configuración de una implementación de un lanzamiento canario de API Gateway ](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html)
+ [Amazon ECS Deployment Types](https://docs.aws.amazon.com/)
+ [Fully Managed Blue/Green Deployments in Amazon Aurora and Amazon RDS](https://aws.amazon.com/blogs/aws/new-fully-managed-blue-green-deployments-in-amazon-aurora-and-amazon-rds/)
+ [Blue/Green deployments with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html)

 **Videos relacionados:** 
+ [re:Invent 2020 \$1 Hands-off: Automating continuous delivery pipelines at Amazon](https://www.youtube.com/watch?v=ngnMj1zbMPY)
+ [re:Invent 2019 \$1 Amazon's Approach to high-availability deployment](https://www.youtube.com/watch?v=bCgD2bX1LI4)

 **Ejemplos relacionados:** 
+ [Try a Sample Blue/Green Deployment in AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html)
+ [ Taller \$1 Building CI/CD pipelines for Lambda canary deployments using AWS CDK](https://catalog.workshops.aws/cdk-cicd-for-lambda-canary-deployment/en-US) 
+ [ Taller \$1 Building your first DevOps Blue/Green pipeline with Amazon ECS ](https://catalog.us-east-1.prod.workshops.aws/workshops/4b59b9fb-48b6-461c-9377-907b2e33c9df/en-US)
+ [ Taller \$1 Building your first DevOps Blue/Green pipeline with Amazon EKS ](https://catalog.us-east-1.prod.workshops.aws/workshops/4eab6682-09b2-43e5-93d4-1f58fd6cff6e/en-US)
+ [ Taller \$1 EKS GitOps with ArgoCD ](https://catalog.workshops.aws/eksgitops-argocd-githubactions)
+ [ Taller \$1 CI/CD on AWS Workshop ](https://catalog.workshops.aws/cicdonaws/en-US)
+ [ Implementing cross-account CI/CD with AWS SAM for container-based Lambda functions ](https://aws.amazon.com/blogs/compute/implementing-cross-account-cicd-with-aws-sam-for-container-based-lambda/)

# OPS06-BP04 Automatización de las pruebas y la reversión
<a name="ops_mit_deploy_risks_auto_testing_and_rollback"></a>

 Para aumentar la velocidad, la fiabilidad y la confianza de su proceso de implementación, tenga una estrategia para automatizar las capacidades de prueba y reversión en los entornos de preproducción y producción. Automatice las pruebas al implementar en producción para simular las interacciones entre humanos y sistemas que verifican los cambios que se implementan. Automatice la reversión para volver rápidamente a un estado válido anterior conocido. La reversión debe iniciarse automáticamente en condiciones predefinidas, como cuando no se logra el resultado deseado del cambio o cuando la prueba automatizada fracasa. La automatización de estas dos actividades mejora la tasa de éxito de las implementaciones, minimiza el tiempo de recuperación y reduce el impacto potencial en la empresa. 

 **Resultado deseado:** sus pruebas automatizadas y sus estrategias de reversión se integran en el proceso de integración y entrega continuas (CI/CD). Su supervisión puede validarse según sus criterios de éxito e iniciar una reversión automática en caso de error. Esto minimiza cualquier impacto en los usuarios finales y los clientes. Por ejemplo, cuando se satisfacen todos los resultados de las pruebas, promociona el código al entorno de producción donde se inician las pruebas de regresión automatizadas, mediante el uso de los mismos casos de prueba. Si los resultados de la prueba de regresión no coinciden con las expectativas, se inicia una reversión automática en el flujo de trabajo de la canalización. 

 **Patrones comunes de uso no recomendados:** 
+  Sus sistemas no tienen una arquitectura que permita actualizarlos con versiones más pequeñas. Como resultado, tiene dificultades para revertir esos cambios masivos durante una implementación infructuosa. 
+  El proceso de implementación consta de una serie de pasos manuales. Tras implementar los cambios en la carga de trabajo, se inician las pruebas posteriores a la implementación. Tras las pruebas, se da cuenta de que no puede utilizar la carga de trabajo y los clientes están desconectados. A continuación, empieza a revertir a la versión anterior. Todos estos pasos manuales retrasan la recuperación general del sistema y provocan un impacto prolongado en sus clientes. 
+  Ha dedicado tiempo a desarrollar casos de prueba automatizados para funciones que no se utilizan con frecuencia en su aplicación, lo que minimiza el retorno de la inversión en su capacidad de llevar a cabo pruebas automatizadas. 
+  Su versión se compone de actualizaciones de aplicaciones, infraestructura, parches y configuración que son independientes entre sí. Sin embargo, tiene una única canalización de CI/CD que introduce todos los cambios a la vez. Un error en un componente le obliga a revertir todos los cambios, lo que hace que la reversión sea compleja e ineficiente. 
+  Su equipo completa el trabajo de codificación en el primer sprint y comienza el trabajo en el segundo, pero el plan no incluía las pruebas hasta el tercer sprint. Como resultado, las pruebas automatizadas revelaron defectos en el primer sprint que tenían que haberse resuelto antes de empezar a probar los resultados del segundo sprint, con lo que se retrasa todo el lanzamiento y se devalúan las pruebas automatizadas. 
+  Los casos de las pruebas de regresión automatizadas para el lanzamiento de producción se han completado, pero no está supervisando el estado de la carga de trabajo. Como no puede saber si el servicio se ha reiniciado o no, no está seguro de si es necesaria una reversión o si ya se ha producido. 

 **Beneficios de establecer esta práctica recomendada:** las pruebas automatizadas aumentan la transparencia del proceso de pruebas y su capacidad para abarcar más características en un intervalo más reducido. Al probar y validar los cambios en la producción, puede identificar los problemas de forma inmediata. La mejora de la coherencia con herramientas de prueba automatizadas permite una mejor detección de los defectos. Al revertir automáticamente a la versión anterior, se minimiza el impacto en los clientes. La reversión automatizada, en última instancia, inspira más confianza en sus capacidades de implementación al reducir el impacto empresarial. En general, estas capacidades reducen el tiempo de entrega y, al mismo tiempo, garantizan la calidad. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Automatice las pruebas de los entornos implementados para confirmar los resultados deseados con más rapidez. Automatice la reversión a un estado conocido correcto anterior cuando no se logren resultados predefinidos para minimizar el tiempo de recuperación y reducir los errores causados por los procesos manuales. Integre las herramientas de prueba con el flujo de trabajo de la canalización para probar y minimizar las entradas manuales de manera coherente. Priorice la automatización de los casos de prueba, como aquellos que mitigan los mayores riesgos y que deben probarse con frecuencia con cada cambio. Esto le ayuda a medir el retorno de la inversión (ROI) y da a los propietarios de cargas de trabajo la oportunidad de optimizar sus recursos y reducir costos. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Establezca un ciclo de vida de pruebas para su ciclo de vida de desarrollo que defina cada etapa del proceso de prueba, desde la planificación de los requisitos hasta el desarrollo de los casos de prueba, la configuración de las herramientas, las pruebas automatizadas y el cierre de los casos de prueba. 

   1.  Cree un enfoque de pruebas específico para la carga de trabajo a partir de su estrategia general de pruebas. 

   1.  Considere una estrategia de pruebas continuas cuando sea apropiado durante todo el ciclo de vida de desarrollo. 

1.  Seleccione herramientas automatizadas para efectuar pruebas y reversiones en función de sus requisitos empresariales y de las inversiones en curso. 

1.  Decida qué casos de prueba quiere automatizar y cuáles se deberán llevar a cabo manualmente. Estos se pueden definir en función de la prioridad de valor empresarial de la característica que se está probando. Alinee a todos los miembros del equipo con este plan y verifique la responsabilidad de efectuar las pruebas manuales. 

   1.  Aplique capacidades de pruebas automatizadas a casos de prueba específicos que tengan sentido para la automatización, como los casos repetibles o que se ejecutan con frecuencia, los que requieren tareas repetitivas o los que se requieren en varias configuraciones. 

   1.  Defina los scripts de automatización de pruebas, así como los criterios de éxito en la herramienta de automatización, de modo que se pueda iniciar la automatización continua del flujo de trabajo cuando fracasan casos específicos. 

   1.  Defina criterios de error concretos para la reversión automática. 

1.  Priorice la automatización de las pruebas para obtener resultados coherentes con un desarrollo exhaustivo de casos de prueba en los que la complejidad y la interacción humana tengan un mayor riesgo de fracaso. 

1.  Integre las herramientas automatizadas de pruebas y reversión en la canalización de CI/CD. 

   1.  Desarrolle criterios de éxito claros para los cambios. 

   1.  Supervise y observe para detectar estos criterios y revertir automáticamente los cambios cuando se cumplan criterios de reversión específicos. 

1.  Lleve a cabo diferentes tipos de pruebas automatizadas de producción, como: 

   1.  Pruebas A/B para mostrar los resultados en comparación con la versión actual entre dos grupos de pruebas de usuarios. 

   1.  Pruebas canario que permiten implementar el cambio en un subconjunto de usuarios antes de lanzarlo para todos. 

   1.  Pruebas de marca de características que permiten activar y desactivar las características de la nueva versión de una en una desde fuera de la aplicación para que cada característica nueva se pueda validar por sí sola. 

   1.  Pruebas de regresión para verificar la nueva funcionalidad con los componentes interrelacionados ya existentes. 

1.  Supervise los aspectos operativos de la aplicación, las transacciones y las interacciones con otras aplicaciones y componentes. Redacte informes que muestren el éxito de los cambios por carga de trabajo, de modo que pueda identificar qué partes de la automatización y el flujo de trabajo se pueden optimizar aún más. 

   1.  Elabore informes de resultados de pruebas que le ayuden a tomar decisiones rápidas sobre si se deben invocar o no los procedimientos de reversión. 

   1.  Implemente una estrategia que permita la reversión automática en función de condiciones de error predefinidas que resulten de uno o más de sus métodos de prueba. 

1.  Desarrolle los casos de prueba automatizados para poder volver a usarlos en futuros cambios repetibles. 

 **Nivel de esfuerzo para el plan de implementación:** medio 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS06-BP01 Planificación para hacer frente a los cambios infructuosos](ops_mit_deploy_risks_plan_for_unsucessful_changes.md) 
+  [OPS06-BP02 Implementaciones de prueba](ops_mit_deploy_risks_test_val_chg.md) 

 **Documentos relacionados:** 
+ [AWS Builders' Library: Asegurar la seguridad en las restauraciones durante las implementaciones ](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments/)
+  [Redeploy and rollback a deployment with AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html) 
+ [ 8 best practices when automating your deployments with AWS CloudFormation](https://aws.amazon.com/blogs/infrastructure-and-automation/best-practices-automating-deployments-with-aws-cloudformation/)

 **Ejemplos relacionados:** 
+ [ Serverless UI testing using Selenium, AWS Lambda, AWS Fargate, and AWS Developer Tools ](https://aws.amazon.com/blogs/devops/using-aws-codepipeline-aws-codebuild-and-aws-lambda-for-serverless-automated-ui-testing/)

 **Videos relacionados:** 
+ [ re:Invent 2020 \$1 Hands-off: Automating continuous delivery pipelines at Amazon ](https://www.youtube.com/watch?v=ngnMj1zbMPY)
+ [ re:Invent 2019 \$1 Amazon's Approach to high-availability deployment ](https://www.youtube.com/watch?v=bCgD2bX1LI4)

# OPS 7. ¿Cómo sabe que está listo para admitir una carga de trabajo?
<a name="ops-07"></a>

 Evalúe la disponibilidad operativa de la carga de trabajo, los procesos y procedimientos, y el personal para comprender los riesgos operativos relacionados con la carga de trabajo. 

**Topics**
+ [

# OPS07-BP01 Garantía de la capacidad del personal
](ops_ready_to_support_personnel_capability.md)
+ [

# OPS07-BP02 Garantía de una revisión sistemática de la preparación operativa
](ops_ready_to_support_const_orr.md)
+ [

# OPS07-BP03 Uso de manuales de procedimientos para llevar a cabo los procedimientos
](ops_ready_to_support_use_runbooks.md)
+ [

# OPS07-BP04 Uso de manuales de estrategias para investigar problemas
](ops_ready_to_support_use_playbooks.md)
+ [

# OPS07-BP05 Toma de decisiones fundamentadas para implementar sistemas y cambios
](ops_ready_to_support_informed_deploy_decisions.md)
+ [

# OPS07-BP06 Creación de planes de asistencia para cargas de trabajo de producción
](ops_ready_to_support_enable_support_plans.md)

# OPS07-BP01 Garantía de la capacidad del personal
<a name="ops_ready_to_support_personnel_capability"></a>

Disponga de un mecanismo para comprobar que cuente con la cantidad adecuada de personal formado para atender la carga de trabajo. Deben recibir formación sobre la plataforma y los servicios que componen su carga de trabajo. Transmítales los conocimientos necesarios para poder gestionar la carga de trabajo. Debe disponer de suficiente personal formado para atender el funcionamiento normal de la carga de trabajo y solucionar las incidencias que se produzcan. Cuente con suficiente personal para que pueda rotar durante las guardias y vacaciones, a fin de evitar que el personal se sienta quemado. 

 **Resultado deseado:** 
+  Hay suficiente personal formado para atender la carga de trabajo cuando esta se encuentre disponible. 
+  El personal recibe formación sobre el software y los servicios que componen la carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+ Se implementa una carga de trabajo sin miembros del equipo formados para operar la plataforma y los servicios en uso. 
+  Se carece de suficiente personal para facilitar las rotaciones de guardia o para que el personal se tome tiempo libre. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Contar con miembros del equipo cualificados permite un apoyo eficaz para su carga de trabajo. 
+  Si hay suficientes miembros en el equipo, es posible atender la carga de trabajo y las rotaciones de guardia, al tiempo que disminuye el riesgo de síndrome de burnout. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Compruebe que haya suficiente personal formado para atender la carga de trabajo. Compruebe que cuenta con suficientes miembros del equipo para cubrir las actividades operativas, incluidas las rotaciones de guardia. 

 **Ejemplo de cliente** 

 AnyCompany Retail se asegura de que los equipos que atienden la carga de trabajo cuentan con la formación y el personal adecuados. Tienen suficientes ingenieros para tolerar una rotación de guardia. El personal recibe formación sobre el software y la plataforma en los que se basa la carga de trabajo y se le anima a obtener certificaciones. Hay personal suficiente para que los empleados puedan tomarse tiempo libre sin dejar de atender la carga de trabajo y la rotación de guardia. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Asigne un número adecuado de personal para operar y respaldar la carga de trabajo, incluidas las tareas de guardia, los problemas de seguridad y los eventos del ciclo de vida, como las tareas de fin de soporte y de rotación de certificados. 

1.  Forme a su personal sobre el software y las plataformas que componen su carga de trabajo. 

   1.  [Capacitación y certificación de AWS](https://aws.amazon.com/training/) tiene una biblioteca de cursos sobre AWS. Ofrece cursos gratuitos y de pago, en línea y presenciales. 

   1.  [AWS organiza eventos y seminarios web](https://aws.amazon.com/events/) en los que puede aprender de la mano de expertos de AWS. 

1. Realice lo siguiente de forma periódica: 
   +  Evalúe el tamaño y las aptitudes del equipo a medida que cambien las condiciones operativas y la carga de trabajo. 
   +  Ajuste el tamaño y las competencias del equipo para que se ciñan a los requisitos operativos. 
   +  Verifique la habilidad y la capacidad para [hacer frente a los eventos del ciclo de vida previstos](https://docs.aws.amazon.com/health/latest/ug/aws-health-planned-lifecycle-events.html), la seguridad no planeada y las notificaciones operativas a través de AWS Health. 

 **Nivel de esfuerzo para el plan de implementación:** alto. La contratación y la formación de un equipo que atienda la carga de trabajo puede suponer un esfuerzo considerable, pero promete importantes ventajas a largo plazo. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS11-BP04 Administración de conocimientos](ops_evolve_ops_knowledge_management.md): los miembros del equipo deben disponer de la información necesaria para operar y atender la carga de trabajo. La administración del conocimiento es la clave para alcanzar este objetivo. 

 **Documentos relacionados:** 
+  [Eventos y seminarios web de AWS](https://aws.amazon.com/events/) 
+  [Capacitación y certificación de AWS](https://aws.amazon.com/training/) 

# OPS07-BP02 Garantía de una revisión sistemática de la preparación operativa
<a name="ops_ready_to_support_const_orr"></a>

Utilice las revisiones de la preparación operativa (ORR) para validar que puede utilizar su carga de trabajo. ORR es un mecanismo desarrollado en Amazon para validar que los equipos puedan utilizar con seguridad sus cargas de trabajo. Una ORR es un proceso de revisión e inspección que utiliza una lista de verificación de requisitos. Una ORR es una experiencia de autoservicio que los equipos utilizan para certificar sus cargas de trabajo. Las ORR incluyen las prácticas recomendadas procedentes de las lecciones aprendidas en nuestros años de creación de software. 

 Una lista de verificación de ORR se compone de recomendaciones de arquitectura, proceso operativo, administración de eventos y calidad de lanzamiento. Nuestro proceso de corrección de errores (CoE) es uno de los principales impulsores de estos elementos. Su análisis posterior al incidente debe impulsar la evolución de su propia ORR. Una ORR no solo consiste en seguir las prácticas recomendadas, sino en evitar que se repitan sucesos ya vistos. Por último, los requisitos de seguridad, gobernanza y conformidad también pueden incluirse en una ORR. 

 Ejecute las ORR antes de que una carga de trabajo se lance a la disponibilidad general y, después, a lo largo del ciclo de vida de desarrollo del software. Ejecutar la ORR antes del lanzamiento aumenta su capacidad para utilizar la carga de trabajo de forma segura. Vuelva a ejecutar periódicamente su ORR en la carga de trabajo para detectar cualquier desviación de las prácticas recomendadas. Puede tener listas de verificación de ORR para el lanzamiento de nuevos servicios y ORR para las revisiones periódicas. Esto le ayuda a mantenerse al día en cuanto a las nuevas prácticas recomendadas que surgen y a incorporar las lecciones aprendidas del análisis posterior al incidente. A medida que madure su uso de la nube, podrá incorporar los requisitos de ORR en su arquitectura de forma predeterminada. 

 **Resultado deseado:** tiene una lista de verificación de ORR con las prácticas recomendadas para su organización. Las ORR se llevan a cabo antes de lanzar las cargas de trabajo. Las ORR se llevan a cabo periódicamente a lo largo del ciclo de vida de la carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+ Lanza una carga de trabajo sin saber si puede utilizarla. 
+ Los requisitos de gobernanza y seguridad no se incluyen en la certificación de una carga de trabajo para su lanzamiento. 
+ Las cargas de trabajo no se revalúan periódicamente. 
+ Las cargas de trabajo se lanzan sin los procedimientos necesarios. 
+ Observa la repetición de los mismos errores de causa raíz en varias cargas de trabajo. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Sus cargas de trabajo incluyen las prácticas recomendadas de arquitectura, procesos y administración. 
+  Las lecciones aprendidas se incorporan al proceso de ORR. 
+  Se aplican los procedimientos necesarios cuando se lanzan las cargas de trabajo. 
+  Las ORR se ejecutan a lo largo del ciclo de vida del software de sus cargas de trabajo. 

 **Nivel de riesgo si no se establece esta práctica recomendada:** alto 

## Guía para la implementación
<a name="implementation-guidance"></a>

 Una ORR es dos cosas: un proceso y una lista de verificación. Su organización debe adoptar el proceso de ORR y contar con la asistencia de un patrocinador ejecutivo. Como mínimo, las ORR deben hacerse antes de que una carga de trabajo se lance a la disponibilidad general. Ejecute la ORR durante todo el ciclo de vida del desarrollo del software para mantenerla actualizada con las prácticas recomendadas o los nuevos requisitos. La lista de verificación de ORR debe incluir elementos de configuración, requisitos de seguridad y gobernanza, y las prácticas recomendadas de su organización. Con el tiempo, puede utilizar servicios, como [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html), [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) y las [barreras de protección de AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/guardrails.html) para convertir las prácticas recomendadas de la ORR en barreras de protección para la detección automática de las prácticas recomendadas. 

 **Ejemplo de cliente** 

 Tras varios incidentes de producción, AnyCompany Retail decidió implementar un proceso de ORR. Elaboró una lista de verificación compuesta de prácticas recomendadas, requisitos de gobernanza y conformidad, y lecciones aprendidas de las interrupciones. Las nuevas cargas de trabajo llevan a cabo las ORR antes de su lanzamiento. Cada carga de trabajo lleva a cabo una ORR anual con un subconjunto de prácticas recomendadas para incorporar nuevas prácticas y requisitos que se agregan a la lista de verificación de ORR. Con el tiempo, AnyCompany Retail utilizó [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) para detectar algunas prácticas recomendadas, lo que agilizó el proceso de ORR. 

 **Pasos para la implementación** 

 Para obtener más información sobre las ORR, lea el [documento técnico sobre las revisiones de la preparación operativa (ORR)](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/wa-operational-readiness-reviews.html). En él se ofrece información detallada sobre la historia del proceso ORR, cómo crear su propia práctica ORR y cómo desarrollar su lista de verificación de ORR. Los siguientes pasos son una versión abreviada de ese documento. Para conocer en profundidad qué son las ORR y cómo crear las suyas, le recomendamos que lea ese documento técnico. 

1. Reúna a las principales partes interesadas, incluidos los representantes de seguridad, operaciones y desarrollo. 

1. Pida a cada parte interesada que aporte al menos un requisito. Para la primera iteración, intente limitar el número de elementos a treinta o menos. 
   +  El [Appendix B: Example ORR questions](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/appendix-b-example-orr-questions.html) del documento técnico sobre las revisiones de la preparación operativa (ORR) contiene las preguntas de ejemplo que puede usar para empezar. 

1. Recopile sus requisitos en una hoja de cálculo. 
   + Puede usar [enfoques personalizados](https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-custom.html) en [AWS Well-Architected Tool](https://console.aws.amazon.com/wellarchiected/) para desarrollar su ORR y compartirlos entre sus cuentas y su organización de AWS. 

1. Identifique una carga de trabajo para llevar a cabo la ORR en ella. Lo ideal es una carga de trabajo previa al lanzamiento o una carga de trabajo interna. 

1. Repase la lista de verificación de ORR y tome nota de las detecciones. Los descubrimientos pueden ser correctos si existe una mitigación. Agregue cualquier descubrimiento que carezca de una mitigación a su lista de tareas pendientes e impleméntelas antes de lanzarlas. 

1. Siga agregando las prácticas recomendadas y los requisitos a su lista de verificación ORR con el tiempo. 

 Los clientes de Soporte con Enterprise Support pueden solicitar el [taller de revisión de la preparación operativa](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) a su gerente técnico de cuentas. El taller es una sesión de *trabajo en sentido inverso* interactiva para desarrollar su propia lista de verificación de ORR. 

 **Nivel de esfuerzo para el plan de implementación:** alto. La adopción de una práctica de ORR en su organización requiere el patrocinio ejecutivo y la aceptación de las partes interesadas. Cree y actualice la lista de verificación con las aportaciones de toda su organización. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+ [OPS01-BP03 Evaluación de los requisitos de gobernanza](ops_priorities_governance_reqs.md) : los requisitos de gobernanza encajan de forma natural en una lista de verificación de ORR. 
+ [OPS01-BP04 Evaluación de los requisitos de cumplimiento](ops_priorities_compliance_reqs.md) : los requisitos de conformidad se incluyen a veces en una lista de verificación de ORR. Otras veces son un proceso independiente. 
+ [OPS03-BP07 Recursos adecuados para los equipos](ops_org_culture_team_res_appro.md): la capacidad del equipo es un buen candidato para un requisito de ORR. 
+ [OPS06-BP01 Planificación para hacer frente a los cambios infructuosos](ops_mit_deploy_risks_plan_for_unsucessful_changes.md): antes de lanzar la carga de trabajo, debe establecerse un plan de restauración o de avance. 
+ [OPS07-BP01 Garantía de la capacidad del personal](ops_ready_to_support_personnel_capability.md): para respaldar una carga de trabajo hay que contar con el personal necesario. 
+ [SEC01-BP03 Identificación y validación de los objetivos de control](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_securely_operate_control_objectives.html): los objetivos de control de seguridad son excelentes requisitos de ORR. 
+ [REL13-BP01 Definición de objetivos de recuperación para el tiempo de inactividad y la pérdida de datos](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_planning_for_recovery_objective_defined_recovery.html): los planes de recuperación de desastres son un buen requisito de ORR. 
+ [COST02-BP01 Desarrollo de políticas basadas en los requisitos de su organización](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_govern_usage_policies.html): las políticas de administración de costos son adecuadas para incluirlas en su lista de verificación de ORR. 

 **Documentos relacionados:** 
+  [AWS Control Tower - Guardrails in AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/guardrails.html) 
+  [AWS Well-Architected Tool - Custom Lenses](https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-custom.html) 
+  [Operational Readiness Review Template de Adrian Hornsby](https://medium.com/the-cloud-architect/operational-readiness-review-template-e23a4bfd8d79) 
+  [Operational Readiness Reviews (ORR) Whitepaper](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/wa-operational-readiness-reviews.html) 

 **Videos relacionados:** 
+  [AWS Supports You \$1 Building an Effective Operational Readiness Review (ORR)](https://www.youtube.com/watch?v=Keo6zWMQqS8) 

 **Ejemplos relacionados:** 
+  [Sample Operational Readiness Review (ORR) Lens](https://github.com/aws-samples/custom-lens-wa-sample/tree/main/ORR-Lens) 

 **Servicios relacionados:** 
+  [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
+  [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) 
+  [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) 
+  [AWS Well-Architected Tool](https://docs.aws.amazon.com/wellarchitected/latest/userguide/intro.html) 

# OPS07-BP03 Uso de manuales de procedimientos para llevar a cabo los procedimientos
<a name="ops_ready_to_support_use_runbooks"></a>

 Un *manual de procedimientos* es un proceso documentado para lograr un resultado específico. Los manuales de procedimientos consisten en una serie de pasos que alguien sigue para conseguir algo. Los manuales de procedimientos se han utilizado en operaciones que se remontan a los primeros días de la aviación. En las operaciones en la nube, utilizamos manuales de procedimientos para reducir el riesgo y lograr los resultados deseados. En su forma más simple, un manual de procedimientos es una lista de verificación para completar una tarea. 

 Los manuales de procedimientos son una parte esencial del funcionamiento de su carga de trabajo. Desde la incorporación de un nuevo miembro del equipo hasta la implementación de una versión importante, los manuales de procedimientos son los procesos codificados que proporcionan resultados coherentes independientemente de quién los utilice. Los manuales de procedimientos deben publicarse en una ubicación central y actualizarse a medida que el proceso evolucione, ya que la actualización de los manuales de procedimientos es un componente clave de un proceso de administración de cambios. También deben incluir directrices sobre la gestión de errores, las herramientas, los permisos, las excepciones y las escalaciones en caso de que se produzca un problema. 

 A medida que su organización madure, comience a automatizar los manuales de procedimientos. Comience con manuales de procedimientos que sean cortos y se utilicen con frecuencia. Utilice lenguajes de scripting para automatizar pasos o facilitar que se haga. A medida que automatice los primeros manuales de procedimientos, dedicará tiempo a automatizar manuales de procedimientos más complejos. Con el tiempo, la mayoría de sus manuales de procedimientos deberían estar automatizados de alguna manera. 

 **Resultado deseado:** su equipo dispone de una colección de guías paso a paso para llevar a cabo las tareas de la carga de trabajo. Los manuales de procedimientos contienen el resultado deseado, las herramientas y los permisos necesarios y las instrucciones para la gestión de errores. Se almacenan en una ubicación central (sistema de control de versiones) y se actualizan con frecuencia. Por ejemplo, sus manuales de procedimientos ofrecen a sus equipos la capacidad de supervisar, comunicarse y responder a los eventos de AWS Health de las cuentas críticas durante las alarmas de las aplicaciones, los problemas operativos y los eventos planificados del ciclo de vida. 

 **Patrones comunes de uso no recomendados:** 
+  Depender de la memoria para completar cada paso de un proceso. 
+  Implementar manualmente los cambios sin una lista de verificación. 
+  Diferentes miembros del equipo llevan a cabo el mismo proceso, pero con diferentes pasos o resultados. 
+  Dejar que los manuales de procedimientos se desincronicen con los cambios del sistema y la automatización. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Reducción de los índices de error en las tareas manuales. 
+  Las operaciones se llevan a cabo de forma coherente. 
+  Los nuevos miembros del equipo pueden empezar a efectuar tareas antes. 
+  Los manuales de procedimientos pueden automatizarse para reducir el trabajo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Los manuales de procedimientos pueden adoptar varias formas en función del nivel de madurez de su organización. Como mínimo, deben consistir en un documento de texto paso a paso. El resultado deseado debe indicarse claramente. Documente claramente los permisos o herramientas especiales necesarios. Proporcione directrices detalladas sobre la gestión de errores y las derivaciones en caso de que algo vaya mal. Indique el propietario del manual de procedimientos y publíquelo en una ubicación central. Una vez que el manual de procedimientos esté documentado, haga que otra persona de su equipo lo ejecute para validarlo. A medida que los procedimientos evolucionen, actualice sus manuales de procedimientos de acuerdo con su proceso de administración de cambios. 

 Sus manuales de procedimientos deben automatizarse a medida que su organización madura. Con servicios como la [Automatización de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html), puede transformar un texto plano en automatizaciones que pueden ejecutarse contra su carga de trabajo. Estas automatizaciones pueden ejecutarse en respuesta a eventos, lo que reduce la carga operativa para mantener su carga de trabajo. AWS La Automatización de Systems Manager también proporciona una [experiencia de diseño visual](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-visual-designer.html) con poco código para crear manuales de automatización con mayor facilidad. 

 **Ejemplo de cliente** 

 AnyCompany Retail debe llevar a cabo actualizaciones del esquema de la base de datos durante implementaciones de software. El equipo de operaciones en la nube trabajó con el equipo de administración de bases de datos para crear un manual de procedimientos para implementar manualmente estos cambios. El manual de procedimientos enumeraba cada paso del proceso en forma de lista de verificación. Incluía una sección sobre la gestión de errores en caso de que algo saliera mal. Publicaron el manual de procedimientos en su wiki interna junto con sus otros manuales de procedimientos. El equipo de operaciones en la nube tiene previsto automatizar el manual de procedimientos en un futuro sprint. 

### Pasos para la implementación
<a name="implementation-steps"></a>

 Si no tiene un repositorio de documentos, un repositorio de control de versiones es un buen lugar para empezar a crear su biblioteca de manuales de procedimientos. Puede crear sus manuales de procedimientos con Markdown. Hemos proporcionado una plantilla de manual de procedimientos de ejemplo que puede utilizar para empezar a crear manuales de procedimientos. 

```
# Runbook Title
## Runbook Info
| Runbook ID | Description | Tools Used | Special Permissions | Runbook Author | Last Updated | Escalation POC | 
|-------|-------|-------|-------|-------|-------|-------|
| RUN001 | What is this runbook for? What is the desired outcome? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name |
## Steps
1. Step one
2. Step two
```

1.  Si no tiene un repositorio de documentación o un wiki, cree un nuevo repositorio de control de versiones en su sistema de control de versiones. 

1.  Identifique un proceso que no tenga un manual de procedimientos. Un proceso ideal es aquel que se lleva a cabo de forma semirregular, es corto en número de pasos y tiene errores de bajo impacto. 

1.  En su repositorio de documentos, use la plantilla para crear un nuevo borrador de documento Markdown. Rellene el título del manual de procedimientos y los campos obligatorios en Información del manual de procedimientos. 

1.  En el primer paso, rellene la parte Pasos del manual de procedimientos. 

1.  Asigne el manual de procedimientos a un miembro del equipo. Pídales que utilicen el manual de procedimientos para validar los pasos. Si falta algo o hay que aclararlo, actualice el manual de procedimientos. 

1.  Publique el manual de procedimientos en su almacén de documentación interno. Una vez publicado, comuníquelo a su equipo y a otras partes interesadas. 

1.  Con el tiempo, creará una biblioteca de manuales de procedimientos. A medida que esa biblioteca crezca, comience a trabajar para automatizar los manuales de procedimientos. 

 **Nivel de esfuerzo para el plan de implementación:** bajo. El estándar mínimo para un manual de procedimientos es una guía de texto paso a paso. La automatización de manuales de procedimientos puede aumentar el esfuerzo de implementación. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS02-BP02 Procesos y procedimientos con propietarios identificados](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_ops_model_def_proc_owners.html) 
+  [OPS07-BP04 Uso de manuales de estrategias para investigar problemas](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_ready_to_support_use_playbooks.html) 
+  [OPS10-BP01 Uso de un proceso para la administración de eventos, incidentes y problemas](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_event_response_event_incident_problem_process.html) 
+  [OPS10-BP02 Implementación de un proceso por alerta](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_event_response_process_per_alert.html) 
+  [OPS11-BP04 Administración de conocimientos](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_evolve_ops_knowledge_management.html) 

 **Documentos relacionados:** 
+  [Achieving Operational Excellence using automated playbook and runbook](https://aws.amazon.com/blogs/mt/achieving-operational-excellence-using-automated-playbook-and-runbook/) 
+  [AWS Systems Manager: Creación de sus propios manuales de procedimientos](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 
+  [Migration playbook for AWS large migrations - Task 4: Improving your migration runbooks](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-migration-playbook/task-four-migration-runbooks.html) 
+  [Use AWS Systems Manager Automation runbooks to resolve operational tasks](https://aws.amazon.com/blogs/mt/use-aws-systems-manager-automation-runbooks-to-resolve-operational-tasks/) 

 **Videos relacionados:** 
+  [AWS re:Invent 2019: DIY guide to runbooks, incident reports, and incident response](https://www.youtube.com/watch?v=E1NaYN_fJUo) 
+  [How to automate IT Operations on AWS \$1 Amazon Web Services](https://www.youtube.com/watch?v=GuWj_mlyTug) 
+  [Integrate Scripts into AWS Systems Manager](https://www.youtube.com/watch?v=Seh1RbnF-uE) 

 **Ejemplos relacionados:** 
+  [Well-Architected Labs: Automating operations with Playbooks and Runbooks](https://wellarchitectedlabs.com/operational-excellence/200_labs/200_automating_operations_with_playbooks_and_runbooks/) 
+  [AWS Entrada en el blog de : Build a Cloud Automation Practice for Operational Excellence: Best Practices from AWS Managed Services](https://aws.amazon.com/blogs/mt/build-a-cloud-automation-practice-for-operational-excellence-best-practices-from-aws-managed-services/) 
+  [AWS Systems Manager: tutoriales de Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk.html) 
+  [AWS Systems Manager: Restauración de un volumen raíz a partir de la última instantánea del manual de procedimientos](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-document-sample-restore.html) 
+  [Building an AWS incident response runbook using Jupyter notebooks and CloudTrail Lake](https://catalog.us-east-1.prod.workshops.aws/workshops/a5801f0c-7bd6-4282-91ae-4dfeb926a035/en-US) 
+  [Gitlab: Runbooks](https://gitlab.com/gitlab-com/runbooks) 
+  [Rubix: una biblioteca de Python para crear manuales de procedimientos en cuadernos de Jupyter](https://github.com/Nurtch/rubix) 
+  [Uso del Generador de documentos para crear un manual de procedimientos](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk-document-builder.html) 

 **Servicios relacionados:** 
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 

# OPS07-BP04 Uso de manuales de estrategias para investigar problemas
<a name="ops_ready_to_support_use_playbooks"></a>

 Los *manuales de estrategias* son guías paso a paso que se utilizan para investigar un incidente. Cuando se producen incidentes, se usan para investigar, determinar el impacto e identificar la causa raíz. Los manuales de estrategias se utilizan en diversas situaciones, desde implementaciones erróneas hasta incidentes de seguridad. En numerosos casos, identifican la causa raíz para la que se usa un manual de procedimientos para mitigarla. Las guías de estrategias son un componente esencial de los planes de respuesta a incidentes de su organización. 

 Un buen manual de estrategias tiene varias características clave. Orienta al usuario, paso a paso, a través del proceso de descubrimiento. Viéndolo desde fuera, ¿qué pasos debería seguir alguien para diagnosticar un incidente? Defina de forma clara en el manual de estrategias si se necesitan herramientas especiales o permisos de alto nivel en ella. El hecho de contar con un plan de comunicación para informar a las partes interesadas sobre el estado de la investigación es un componente clave. En las situaciones en las que no se pueda identificar la causa raíz, la guía de estrategias debe tener un plan de derivación. Si se identifica la causa raíz, la guía de estrategias debe señalar un manual de procedimientos que describa cómo resolverla. Los manuales de estrategias deben almacenarse de forma centralizada y se debe hacer un mantenimiento periódico de ellos. Si se utilizan para alertas específicas, facilite a su equipo indicaciones sobre cada guía de estrategias en cada alerta. 

 A medida que madure su organización, automatice los manuales de estrategias. Empiece con manuales de estrategias que cubran incidentes de poco riesgo. Utilice scripting para automatizar los pasos de descubrimiento. Asegúrese de que dispone de manuales de procedimientos complementarios para mitigar las causas raíz más habituales. 

 **Resultado deseado:** su organización dispone de manuales de estrategias para incidentes comunes. Dichos manuales de estrategias se almacenan en una ubicación central y están a disposición de los miembros del equipo. y se actualizan con frecuencia. Se crean manuales de procedimientos complementarios para cualquier causa raíz conocida. 

 **Patrones comunes de uso no recomendados:** 
+  No existe una forma estándar de investigar un incidente. 
+  Los miembros del equipo confían en la memoria muscular o en el conocimiento institucional para solucionar una implementación con errores. 
+  Los nuevos miembros del equipo aprenden a investigar los problemas con el método de ensayo y error. 
+  Las prácticas recomendadas para investigar los problemas no se comparten entre los equipos. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Los manuales de estrategias impulsan sus esfuerzos para mitigar los incidentes. 
+  Los distintos miembros del equipo pueden utilizar el mismo manual de estrategias para identificar la causa raíz de forma coherente. 
+  Las causas raíz conocidas pueden tener manuales de procedimientos desarrollados para ellas, lo que acelera el tiempo de recuperación. 
+  Los manuales de estrategias permiten a los miembros del equipo empezar a contribuir antes. 
+  Los equipos pueden escalar sus procesos con manuales de estrategias repetibles. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 La forma de crear y utilizar las guías de estrategias depende de la madurez de su organización. Si es la primera vez que utiliza la nube, cree guías de estrategias en formato de texto en un repositorio de documentos central. A medida que madure su organización, los manuales de estrategias pueden semiautomatizarse con lenguajes de scripting como Python. Estos scripts pueden ejecutarse en un cuaderno de Jupyter para acelerar el descubrimiento. Las organizaciones avanzadas cuentan con manuales de estrategias completamente automatizados para los problemas más habituales que se solucionan de forma automática con manuales de procedimientos. 

 Elabore una lista de incidentes comunes que afectan a la carga de trabajo para empezar a crear los manuales de estrategias. Como punto de partida, elija manuales de estrategias para incidentes con poco riesgo y en los que la causa raíz se haya reducido a unos pocos problemas. Una vez que disponga de manuales de estrategias para las situaciones más sencillas, continúe con las de mayor riesgo o cuya causa raíz no se conozca bien. 

 Sus manuales de estrategias en texto deben automatizarse a medida que su organización madura. Con servicios como la [Automatización de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html), se puede transformar un texto plano en automatizaciones. Estas automatizaciones pueden ejecutarse en la carga de trabajo para acelerar las investigaciones. Se pueden activar en respuesta a los incidentes, lo que reduce el tiempo medio para descubrir y resolver los incidentes. 

 Los clientes pueden usar el [Administrador de incidentes de AWS Systems Manager](https://docs.aws.amazon.com/incident-manager/latest/userguide/what-is-incident-manager.html) para responder a los incidentes. Este servicio proporciona una interfaz única para clasificar los incidentes, informar a las partes interesadas durante el descubrimiento y la mitigación y colaborar durante todo el incidente. Utiliza las automatizaciones de AWS para acelerar la detección y la recuperación. 

 **Ejemplo de cliente** 

 La empresa AnyCompany Retail se ha visto afectada por un incidente de producción. El ingeniero de guardia utilizó un manual de estrategias para investigar el problema. A medida que iba siguiendo los pasos, informaba a las partes interesadas clave identificadas en el manual de estrategias. El ingeniero identificó la causa raíz como una condición de secuencia en un servicio backend. Mediante un manual de procedimientos, el ingeniero relanzó el servicio, con lo que AnyCompany Retail volvió a estar en línea. 

### Pasos para la implementación
<a name="implementation-steps"></a>

 Si no tiene un repositorio de documentos, le sugerimos que cree uno de control de versiones para su biblioteca de manuales de estrategias. Puede crear los manuales de estrategias con Markdown, que es compatible con la mayoría de los sistemas de automatización de este tipo de manuales. Si está empezando desde cero, utilice la siguiente plantilla de guía de estrategias de ejemplo. 

```
# Playbook Title
## Playbook Info
| Playbook ID | Description | Tools Used | Special Permissions | Playbook Author | Last Updated | Escalation POC | Stakeholders | Communication Plan |
|-------|-------|-------|-------|-------|-------|-------|-------|-------|
| RUN001 | What is this playbook for? What incident is it used for? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name | Stakeholder Name | How will updates be communicated during the investigation? |
## Steps
1. Step one
2. Step two
```

1.  Si no tiene un repositorio de documentos o un wiki, cree un nuevo repositorio de control de versiones para los manuales de estrategias en su sistema de control de versiones. 

1.  Identifique un problema común que requiera una investigación. Este debería ser un escenario en el que la causa raíz se limita a unos pocos problemas y la resolución conlleva poco riesgo. 

1.  Con la plantilla de Markdown, rellene la sección Nombre del manual de estrategias y los campos de información de la guía de estrategias. 

1.  Rellene los pasos de solución adicionales. Indique con la mayor claridad posible las acciones que se deben llevar a cabo o las áreas que debe investigar. 

1.  Entregue a un miembro del equipo la guía de estrategias y pídale que la revise para validarla. Si falta algo o no está claro, actualice la guía de estrategias. 

1.  Publique el manual de estrategias en el repositorio de documentos e informe al equipo y a las partes interesadas. 

1.  Esta biblioteca de manuales de estrategias crecerá a medida que vaya agregando más guías. Una vez que tenga varias guías de estrategias, empiece a automatizarlas con herramientas como las Automatizaciones de AWS Systems Manager para sincronizar la automatización y las guías de estrategias. 

 **Nivel de esfuerzo para el plan de implementación:** bajo. Los manuales de estrategias deben ser documentos de texto almacenados en una ubicación central. Las organizaciones más maduras se inclinarán por la automatización de los manuales de estrategias. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS02-BP02 Procesos y procedimientos con propietarios identificados](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_ops_model_def_proc_owners.html) 
+  [OPS07-BP03 Uso de manuales de procedimientos para llevar a cabo los procedimientos](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_ready_to_support_use_runbooks.html) 
+  [OPS10-BP01 Uso de un proceso para la administración de eventos, incidentes y problemas](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_event_response_event_incident_problem_process.html) 
+  [OPS10-BP02 Implementación de un proceso por alerta](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_event_response_process_per_alert.html) 
+  [OPS11-BP04 Administración de conocimientos](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_evolve_ops_knowledge_management.html) 

 **Documentos relacionados:** 
+  [Achieving Operational Excellence using automated playbook and runbook](https://aws.amazon.com/blogs/mt/achieving-operational-excellence-using-automated-playbook-and-runbook/) 
+  [AWS Systems Manager: Creación de sus propios manuales de procedimientos](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 
+  [Use AWS Systems Manager Automation runbooks to resolve operational tasks](https://aws.amazon.com/blogs/mt/use-aws-systems-manager-automation-runbooks-to-resolve-operational-tasks/) 

 **Videos relacionados:** 
+  [AWS re:Invent 2019: DIY guide to runbooks, incident reports, and incident response (SEC318-R1)](https://www.youtube.com/watch?v=E1NaYN_fJUo) 
+  [AWS Systems Manager Incident Manager - AWS Virtual Workshops](https://www.youtube.com/watch?v=KNOc0DxuBSY) 
+  [Integrate Scripts into AWS Systems Manager](https://www.youtube.com/watch?v=Seh1RbnF-uE) 

 **Ejemplos relacionados:** 
+  [AWS Customer Playbook Framework](https://github.com/aws-samples/aws-customer-playbook-framework) 
+  [AWS Systems Manager: tutoriales de Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk.html) 
+  [Building an AWS incident response runbook using Jupyter notebooks and CloudTrail Lake](https://catalog.workshops.aws/workshops/a5801f0c-7bd6-4282-91ae-4dfeb926a035/en-US) 
+  [Rubix: una biblioteca de Python para crear manuales de procedimientos en cuadernos de Jupyter](https://github.com/Nurtch/rubix) 
+  [Uso del Generador de documentos para crear un manual de procedimientos](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk-document-builder.html) 

 **Servicios relacionados:** 
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
+  [AWS Systems Manager Incident Manager](https://docs.aws.amazon.com/incident-manager/latest/userguide/what-is-incident-manager.html) 

# OPS07-BP05 Toma de decisiones fundamentadas para implementar sistemas y cambios
<a name="ops_ready_to_support_informed_deploy_decisions"></a>

Disponga de procesos en caso de cambios fructíferos e infructuosos de la carga de trabajo. Un pre mortem es un ejercicio en el que un equipo simula un error para desarrollar estrategias de mitigación. haga ensayos de errores pre mortem para anticipar el fracaso y crear procedimientos cuando sea apropiado. Evalúe las ventajas y los riesgos de implementar cambios en la carga de trabajo. Verifique que todos los cambios cumplan con la gobernanza. 

 **Resultado deseado:** 
+  Tomará decisiones informadas cuando implemente cambios en la carga de trabajo. 
+  Los cambios cumplirán con la gobernanza. 

 **Patrones comunes de uso no recomendados:** 
+ implementación de un cambio en la carga de trabajo sin un proceso para gestionar una implementación infructuosa.
+ Hacer cambios en el entorno de producción que incumplen los requisitos de gobernanza.
+ Implementación de una nueva versión de la carga de trabajo sin establecer una línea de referencia para la utilización de recursos.

 **Beneficios de establecer esta práctica recomendada:** 
+  Estará preparado para cambios infructuosos en su carga de trabajo. 
+  Los cambios en la carga de trabajo cumplirán con las políticas de gobernanza. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Utilice ejercicios pre mortem para desarrollar procesos en caso de cambios infructuosos. Documente los procesos para los cambios infructuosos. Asegúrese de que todos los cambios se ajusten a la gobernanza. Evalúe las ventajas y los riesgos de implementar cambios en la carga de trabajo. 

 **Ejemplo de cliente** 

 AnyCompany Retail lleva a cabo con regularidad ejercicios pre mortem para validar los procesos en caso de cambios infructuosos. Documenta los procesos en una wiki compartida y la actualiza con frecuencia. Todos los cambios se ajustan a los requisitos de gobernanza. 

 **Pasos para la implementación** 

1.  Tome decisiones fundamentadas cuando implemente cambios en la carga de trabajo. Establezca y revise los criterios para una implementación fructífera. Desarrolle escenarios o criterios que desencadenen la reversión de un cambio. Sopese las ventajas de la implementación de cambios frente a los riesgos de un cambio infructuoso. 

1.  Verifique que todos los cambios cumplan las políticas de gobernanza. 

1.  Utilice ejercicios pre mortem para desarrollar planes en caso de cambios infructuosos y documentar las estrategias de mitigación. Lleve a cabo un ejercicio de simulación para modelar un cambio infructuoso y validar los procedimientos de reversión. 

 **Nivel de esfuerzo para el plan de implementación:** moderado. La implementación de una práctica de pre mortem exige la coordinación y el esfuerzo de las partes interesadas de toda la organización. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS01-BP03 Evaluación de los requisitos de gobernanza](ops_priorities_governance_reqs.md): los requisitos de gobernanza son un factor clave para determinar si se debe implementar un cambio. 
+  [OPS06-BP01 Planificación para hacer frente a los cambios infructuosos](ops_mit_deploy_risks_plan_for_unsucessful_changes.md): establezca planes para mitigar una implementación infructuosa y utilice actividades pre mortem para validarlas. 
+  [OPS06-BP02 Implementaciones de prueba](ops_mit_deploy_risks_test_val_chg.md): cada cambio de software debe probarse adecuadamente antes de su implementación, a fin de reducir los defectos en producción. 
+  [OPS07-BP01 Garantía de la capacidad del personal](ops_ready_to_support_personnel_capability.md): disponer de suficiente personal formado para atender la carga de trabajo es esencial para tomar una decisión informada sobre la implementación de un cambio en el sistema. 

 **Documentos relacionados:** 
+ [ Amazon Web Services: Risk and Compliance ](https://docs.aws.amazon.com/whitepapers/latest/aws-risk-and-compliance/welcome.html)
+ [Modelo de responsabilidad compartida de AWS](https://aws.amazon.com/compliance/shared-responsibility-model/)
+ [Governance in the Nube de AWS: The Right Balance Between Agility and Safety](https://aws.amazon.com/blogs/apn/governance-in-the-aws-cloud-the-right-balance-between-agility-and-safety/)

# OPS07-BP06 Creación de planes de asistencia para cargas de trabajo de producción
<a name="ops_ready_to_support_enable_support_plans"></a>

 Facilite la asistencia de cualquier software y servicio del que dependa su carga de trabajo de producción. Seleccione un nivel de asistencia adecuado para satisfacer sus necesidades de nivel de servicio de producción. Los planes de asistencia para estas dependencias son necesarios en caso de que se produzca una interrupción del servicio o un problema con el software. Documente los planes de asistencia y cómo solicitar asistencia de todos los proveedores de servicios y software. Implemente mecanismos que verifiquen que los puntos de asistencia de los contactos se mantengan actualizados. 

 **Resultado deseado:** 
+  Implemente planes de asistencia para el software y los servicios de los que dependen las cargas de trabajo de producción. 
+  Elija un plan de asistencia adecuado en función de las necesidades del nivel de servicio. 
+  Documente los planes de asistencia, los niveles de asistencia y la forma de solicitarla. 

 **Patrones comunes de uso no recomendados:** 
+  No dispone de un plan de asistencia para un proveedor de software fundamental. Su carga de trabajo se ve afectada por su proveedor y no puede hacer nada para acelerar una solución u obtener actualizaciones puntuales de él. 
+  Un desarrollador que era el principal punto de contacto para un proveedor de software ha abandonado la empresa. No puede ponerse en contacto directamente con el equipo de asistencia del proveedor. Debe dedicar tiempo a investigar y recorrer los sistemas de contacto genéricos, lo que aumenta el tiempo necesario para responder cuando sea necesario. 
+  Se produce una interrupción de la producción con un proveedor de software. No hay documentación sobre cómo presentar un caso de asistencia. 

 **Beneficios de establecer esta práctica recomendada:** 
+  Con el nivel de asistencia adecuado, podrá obtener una respuesta en el plazo necesario para satisfacer las necesidades de servicio. 
+  Como cliente con asistencia puede remitir a un nivel superior si hay problemas de producción. 
+  Los proveedores de software y servicios pueden ayudar en la resolución de problemas durante un incidente. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Facilite planes de asistencia de cualquier proveedor de software y servicio del que dependa su carga de trabajo de producción. Configure planes de asistencia adecuados para satisfacer las necesidades de nivel de servicio. Para los clientes de AWS, esto significa activar AWS Business Support o superior en cualquier cuenta en la que tenga cargas de trabajo de producción. Reúnase con los proveedores de asistencia con regularidad para obtener información actualizada sobre las ofertas de asistencia, los procesos y los contactos. Documente cómo solicitar asistencia a los proveedores de software y servicios, incluida la forma de remitir a un nivel superior si se produce una interrupción. Implemente mecanismos para mantener actualizados los contactos de asistencia. 

 **Ejemplo de cliente** 

 En AnyCompany Retail, todas las dependencias de software y servicios comerciales disponen de planes de asistencia. Por ejemplo, tienen activado AWS Enterprise Support en todas las cuentas con cargas de trabajo de producción. Cualquier desarrollador puede abrir un caso de asistencia cuando surja un problema. Hay una página wiki con información sobre cómo solicitar asistencia, a quién notificarlo y las prácticas recomendadas para agilizar un caso. 

 **Pasos para la implementación** 

1.  Colabore con las partes interesadas de su organización para identificar a los proveedores de software y servicios en los que se basa su carga de trabajo. Documente estas dependencias. 

1.  Determine las necesidades de nivel de servicio de su carga de trabajo. Seleccione un plan de asistencia que se ajuste a ellas. 

1.  Para el software y los servicios comerciales, establezca un plan de asistencia con los proveedores. 

   1.  Al suscribirse a AWS Business Support o un plan superior en todas las cuentas de producción, disfrutará de tiempos de respuesta más rápidos por parte de AWS Support, lo que resulta muy recomendable. Si no dispone de Premium Support, deberá tener un plan de acción para administrar los problemas que requieran la ayuda de AWS Support. AWS Support le ofrece una combinación de herramientas, tecnología, personal y programas diseñados para ayudarlo de forma proactiva a optimizar el rendimiento, rebajar los costos e innovar rápidamente. Además, AWS Business Support proporciona beneficios adicionales, incluido el acceso de API a AWS Trusted Advisor y AWS Healthpara la integración mediante programación con los sistemas, junto con otros métodos de acceso como la Consola de administración de AWS y los canales de Amazon EventBridge. 

1.  Documente el plan de asistencia en su herramienta de administración de conocimientos. Incluya la forma de solicitar asistencia, a quién notificar si se presenta un caso de asistencia y cómo derivar el caso a un nivel superior durante un incidente. Un wiki es un buen mecanismo para que cualquiera pueda llevar a cabo las actualizaciones necesarias en la documentación cuando tenga conocimiento de cambios en los procesos de asistencia o en los contactos. 

 **Nivel de esfuerzo para el plan de implementación:** bajo. La mayoría de los proveedores de software y servicios ofrecen planes de asistencia opcionales. Al documentar y compartir las prácticas recomendadas de asistencia en su sistema de administración de conocimientos, verifica que su equipo sabe qué hacer cuando se produce un problema de producción. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS02-BP02 Procesos y procedimientos con propietarios identificados](ops_ops_model_def_proc_owners.md) 

 **Documentos relacionados:** 
+ [AWS Support Plans ](https://docs.aws.amazon.com/awssupport/latest/user/aws-support-plans.html)

 **Servicios relacionados:** 
+ [AWS Business Support ](https://aws.amazon.com/premiumsupport/plans/business/)
+ [AWS Enterprise Support ](https://aws.amazon.com/premiumsupport/plans/enterprise/)