

# Administración de cambios
<a name="a-change-management"></a>

**Topics**
+ [REL 6 ¿Cómo supervisa los recursos de las cargas de trabajo?](w2aac19b9b9b5.md)
+ [REL 7 ¿Cómo diseña su carga de trabajo para que se adapte a los cambios en la demanda?](w2aac19b9b9b7.md)
+ [REL 8 ¿Cómo implementa los cambios?](w2aac19b9b9b9.md)

# REL 6 ¿Cómo supervisa los recursos de las cargas de trabajo?
<a name="w2aac19b9b9b5"></a>

Los registros y las métricas son una potente herramienta para obtener información sobre el estado de sus cargas de trabajo. Puede configurar su carga de trabajo de forma que supervise registros y métricas, y envíe notificaciones cuando se crucen ciertos umbrales o se produzcan eventos importantes. La supervisión permite que su carga de trabajo reconozca cuándo se cruzan umbrales de bajo rendimiento o se producen errores, para que pueda recuperarse de los errores rápidamente una vez recibida una respuesta.

**Topics**
+ [REL06-BP01 Supervisar todos los componentes de la carga de trabajo (generación)](rel_monitor_aws_resources_monitor_resources.md)
+ [REL06-BP02 Definir y calcular métricas (agregación)](rel_monitor_aws_resources_notification_aggregation.md)
+ [REL06-BP03 Enviar notificaciones (procesamiento y alarmas en tiempo real)](rel_monitor_aws_resources_notification_monitor.md)
+ [REL06-BP04 Automatizar las respuestas (procesamiento y alarmas en tiempo real)](rel_monitor_aws_resources_automate_response_monitor.md)
+ [REL06-BP05 Análisis](rel_monitor_aws_resources_storage_analytics.md)
+ [REL06-BP06 Realizar revisiones con frecuencia](rel_monitor_aws_resources_review_monitoring.md)
+ [REL06-BP07 Supervisar el seguimiento de las solicitudes de principio a fin en todo el sistema](rel_monitor_aws_resources_end_to_end.md)

# REL06-BP01 Supervisar todos los componentes de la carga de trabajo (generación)
<a name="rel_monitor_aws_resources_monitor_resources"></a>

 Supervise los componentes de la carga de trabajo con Amazon CloudWatch o herramientas de terceros. Supervise los servicios de AWS con el panel de AWS Health. 

 Debería supervisar todos los componentes de su carga de trabajo, incluidos los niveles del front-end, la lógica empresarial y el almacenamiento. Defina métricas claves, describa cómo extraerlas de los registros (si fuera necesario) y establezca umbrales para desencadenar los eventos de alarma correspondientes. Asegúrese de que las métricas sean pertinentes para los indicadores clave de rendimiento (KPI) de su carga de trabajo, y utilice métricas y registros para identificar signos de advertencia tempranos de degradación del servicio. Por ejemplo, una métrica relacionada con los resultados empresariales como el número de pedidos procesado satisfactoriamente por minuto, puede indicar problemas con la carga de trabajo más rápido que una métrica técnica, como el uso de la CPU. Utilice el panel de AWS Health para obtener una vista personalizada sobre el rendimiento y la disponibilidad de los servicios de AWS subyacentes a sus recursos de AWS. 

 La supervisión en la nube ofrece nuevas oportunidades. La mayoría de proveedores en la nube han desarrollado enlaces personalizables y pueden proporcionar conocimientos para ayudarle a supervisar varias capas de su carga de trabajo. Los servicios de AWS como Amazon CloudWatch aplican algoritmos estadísticos y de machine learning para analizar continuamente las métricas de los sistemas y aplicaciones, determinar las bases de referencia normales y hacer aflorar anomalías con una intervención mínima del usuario. Los algoritmos de detección de anomalías tienen en cuenta la estacionalidad y los cambios en las tendencias de las métricas. 

 AWS pone a disposición una gran cantidad de información de supervisión y registro para el consumo que se puede usar para definir métricas específicas de la carga de trabajo, procesos de cambio en la demanda y adoptar técnicas de machine learning independientemente de los conocimientos sobre ML. 

 Además, puede supervisar todos sus puntos de conexión externos para asegurarse de que sean independientes de su implementación base. Esta supervisión activa se puede llevar a cabo con transacciones sintéticas (a las que a veces se denomina *«canaries» de usuario*, y que no deben confundirse con los despliegues de valores controlados o «canary»), que ejecutan periódicamente varias tareas comunes que se ajustan a las acciones realizadas por los clientes de la carga de trabajo. Mantenga una duración breve para estas tareas y asegúrese de no sobrecargar sus cargas de trabajo durante las pruebas. Amazon CloudWatch Synthetics le permite: [crear pruebas de transacciones o «canaries» sintéticas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) para supervisar sus puntos de conexión y API. También puede combinar los nodos de cliente de la «canary» sintética con la consola de AWS X-Ray para detectar qué «canaries» sintéticas están teniendo problemas de errores, fallos o limitaciones para el periodo de tiempo seleccionado. 

 **Resultado deseado:** 

 Recopilar y usar métricas esenciales de todos los componentes de la carga de trabajo para garantizar la fiabilidad de la carga de trabajo y una experiencia de usuario óptima. Detectar que una carga de trabajo no consigue los resultados empresariales le permite declarar rápidamente una situación de desastre y recuperarse de un incidente. 

 **Patrones de uso no recomendados comunes:** 
+  Supervisar solamente las interfaces externas con su carga de trabajo 
+  No generar métricas específicas de una carga de trabajo y basarse solamente en las métricas que proporcionan los servicios de AWS que usa su carga de trabajo. 
+  Usar exclusivamente métricas técnicas en su carga de trabajo y no supervisar las métricas relacionadas con KPI no técnicos a los que contribuye la carga de trabajo. 
+  Basarse en el tráfico de producción y las comprobaciones de estado sencillas para supervisar y evaluar el estado de las cargas de trabajo. 

 **Beneficios de establecer esta práctica recomendada:** La supervisión de todos los niveles de la carga de trabajo le permite prever y resolver los problemas rápidamente en los componentes de la carga de trabajo. 

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

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

1.  **Habilite el registro cuando esté disponible.** La supervisión de los datos debe obtenerse a partir de todos los componentes de las cargas de trabajo. Active métodos de registro adicionales, como los registros de acceso de S3, y permita que su carga de trabajo registre datos específicos de la carga de trabajo. Recopile métricas para los promedios de CPU, E/S de red y E/S de disco de servicios como Amazon ECS, Amazon EKS, Amazon EC2, Elastic Load Balancing, AWS Auto Scaling y Amazon EMR. Consulte [Servicios de AWS que publican métricas de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) para consultar una lista de servicios de AWS que publican métricas en CloudWatch. 

1.  **Revise todas las métricas predeterminadas y explore las carencias en cuanto a recopilación de datos.** Todos los servicios generan métricas predeterminadas. La recopilación de métricas predeterminadas le permite comprender mejor las dependencias entre los componentes de la carga de trabajo, y cómo la fiabilidad y el rendimiento de los componentes afectan a la carga de trabajo. También puede crear y [publicar sus propias métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) en CloudWatch utilizando la AWS CLI o una API. Esto 

1.  **Evalúe todas las métricas para decidir sobre cuáles alertar en cada servicio de AWS en su carga de trabajo.** Puede decidir seleccionar un subconjunto de métricas que tenga un impacto importante en la fiabilidad de la carga de trabajo. Al centrarse en las métricas y umbrales críticos, podrá refinar el número de alertas [de emergencia](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) y contribuir a reducir al mínimo los falsos positivos. 

1.  **Defina las alertas y los procesos de recuperación para su carga de trabajo una vez que se active la alerta.** La definición de alertas le permite notificar, escalar y seguir los pasos necesarios rápidamente para recuperarse de un incidente y cumplir el objetivo de tiempo de recuperación (RTO) prescrito. Puede usar [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions) para invocar flujos de trabajo automatizados e iniciar procedimientos de recuperación basados en los umbrales definidos. 

1.  **Explore el uso de transacciones sintéticas para recopilar datos relevantes sobre el estado de las cargas de trabajo.** La supervisión sintética sigue las mismas rutas y lleva a cabo las mismas acciones que un cliente, lo que le permite verificar continuamente su experiencia de usuario incluso si no tiene tráfico de cliente en sus cargas de trabajo. Al usar [transacciones sintéticas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html), puede detectar los problemas antes de que lo hagan los clientes. 

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

 **Prácticas recomendadas relacionadas:** 
+ [REL11-BP03 Automatizar la reparación en todas las capas](rel_withstand_component_failures_auto_healing_system.md)

 **Documentos relacionados:** 
+  [Introducción al panel de AWS Health: estado de su cuenta](https://docs.aws.amazon.com/health/latest/ug/getting-started-health-dashboard.html) 
+  [Servicios de AWS que publican métricas de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
+  [Registros de acceso para su Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html) 
+  [Registros de acceso para su Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html) 
+  [Acceso a Amazon CloudWatch Logs para AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html) 
+  [Registro de acceso al servidor de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html) 
+  [Habilitar los registros de acceso para su Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html) 
+  [Exportación de datos de registro a Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html) 
+  [Instalar el agente de CloudWatch en una instancia Amazon EC2](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html) 
+  [Publicar métricas personalizadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 
+  [Uso de paneles de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  [Uso de métricas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
+  [Uso de «canaries» (Amazon CloudWatch Synthetics)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [¿Qué son Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 

   **Guías del usuario:** 
+  [Cree un registro de seguimiento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html) 
+  [Supervisión de memoria y métricas del disco para las instancias Linux de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 
+  [Uso de CloudWatch Logs con instancias de contenedor](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html) 
+  [Registros de flujo de VPC](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html) 
+  [¿Qué es Amazon DevOps Guru?](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  [¿Qué es AWS X-Ray?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Blogs relacionados:** 
+  [Depuración con Amazon CloudWatch Synthetics y AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 

 **Ejemplos relacionados y talleres:** 
+  [Laboratorios de AWS Well-Architected: excelencia operativa - supervisión de dependencias](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_dependency_monitoring/) 
+  [La Amazon Builders' Library: Instrumentación de los sistemas distribuidos para la visibilidad de las operaciones](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [Taller sobre observabilidad](https://catalog.workshops.aws/observability/en-US) 

# REL06-BP02 Definir y calcular métricas (agregación)
<a name="rel_monitor_aws_resources_notification_aggregation"></a>

 Almacene los datos de registro y aplique filtros cuando sea necesario para calcular métricas, como las veces que se produce un evento de registro específico o la latencia calculada a partir de las marcas temporales del evento de registro. 

 Amazon CloudWatch y Amazon S3 sirven como las capas principales de agregación y almacenamiento. En algunos servicios, como AWS Auto Scaling y Elastic Load Balancing, las métricas predeterminadas se proporcionan listas para usar para la carga de CPU o la latencia promedio de solicitudes en un clúster o instancia. En servicios de streaming, como VPC Flow Logs o AWS CloudTrail, los datos del evento se envían a CloudWatch Logs y debe definir y aplicar filtros para extraer las métricas de los datos del evento. Esto le presenta datos sobre las series temporales, que pueden servir como entradas para las alarmas de CloudWatch que defina para activar las alertas. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Defina y calcule métricas (agregación). Almacene los datos de registro y aplique filtros cuando sea necesario para calcular métricas, como las veces que se produce un evento de registro específico o la latencia calculada de las marcas temporales del evento de registro. 
  +  Los filtros de métricas definen los términos y patrones que analizar en los datos de registro a medida que se envían a CloudWatch Logs. CloudWatch Logs usa estos filtros para convertir los datos de registro en métricas numéricas de CloudWatch que puede representar en gráficas o a partir de las cuales puede establecer alarmas. 
    +  [Buscar y filtrar datos de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) 
  +  Use un tercero de confianza para agregar registros. 
    +  Siga las instrucciones de la solución externa. La mayoría de los productos de terceros se integran con CloudWatch y Amazon S3. 
  +  Algunos servicios de AWS pueden publicar registros directamente en Amazon S3. Si su requisito principal para los registros es almacenarlos en Amazon S3, puede hacer que el servidor que crea los registros los envíe directamente a Amazon S3 sin instalar infraestructura adicional. 
    +  [Enviar registros directamente a Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Sending-Logs-Directly-To-S3.html) 

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

 **Documentos relacionados:** 
+  [Consultas de ejemplo de Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) 
+  [Depuración con Amazon CloudWatch Synthetics y AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Taller sobre observabilidad](https://observability.workshop.aws/) 
+  [Buscar y filtrar datos de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) 
+  [Enviar registros directamente a Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Sending-Logs-Directly-To-S3.html) 
+  [La Amazon Builders' Library: Instrumentación de los sistemas distribuidos para la visibilidad de las operaciones](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 

# REL06-BP03 Enviar notificaciones (procesamiento y alarmas en tiempo real)
<a name="rel_monitor_aws_resources_notification_monitor"></a>

 Las organizaciones que deben estar informadas reciben notificaciones cuando ocurren eventos importantes. 

 Se pueden enviar alertas a los temas de Amazon Simple Notification Service (Amazon SNS) y luego enviárselas a cualquier número de suscriptores. Por ejemplo, Amazon SNS puede reenviar alertas a un alias de correo electrónico para que el personal técnico pueda responder. 

 **Patrones de uso no recomendados comunes:** 
+  Configurar alarmas con un umbral demasiado bajo, lo que causa que se envíen demasiadas notificaciones. 
+  No archivar las alarmas para su investigación futura. 

 **Beneficios de establecer esta práctica recomendada:** las notificaciones de los eventos (incluso aquellas que se pueden responder y resolver automáticamente) le permiten tener un registro de eventos y, potencialmente, abordarlos de distinta manera en un futuro. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Realice el procesamiento y envío de alarmas en tiempo real. Las organizaciones que deben estar informadas reciben notificaciones cuando ocurren eventos importantes. 
  +  Los paneles de Amazon CloudWatch son páginas de inicio personalizables de la consola de CloudWatch que puede usar para supervisar los recursos en una sola vista, incluso aquellos que están repartidos por diferentes regiones. 
    +  [Uso de paneles de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
  +  Cree una alarma cuando la métrica supera un límite. 
    +  [Uso de alarmas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 

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

 **Documentos relacionados:** 
+  [Taller sobre observabilidad](https://observability.workshop.aws/) 
+  [La Amazon Builders' Library: Instrumentación de los sistemas distribuidos para la visibilidad de las operaciones](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [Uso de alarmas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 
+  [Uso de paneles de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  [Uso de métricas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 

# REL06-BP04 Automatizar las respuestas (procesamiento y alarmas en tiempo real)
<a name="rel_monitor_aws_resources_automate_response_monitor"></a>

 Use la automatización para actuar cuando se detecte un evento, por ejemplo, para sustituir componentes defectuosos. 

 Las alertas pueden desencadenar eventos de AWS Auto Scaling, por lo que los clústeres reaccionan a los cambios en la demanda. Las alertas se pueden enviar a Amazon Simple Queue Service (Amazon SQS), lo que puede servir como punto de integración para sistemas de tickets de terceros. AWS Lambda también puede suscribirse a alertas, lo que facilita a los usuarios un modelo sin servidor y asíncrono que reacciona a los cambios dinámicamente. AWS Config supervisa y registra continuamente sus configuraciones de recursos de AWS y puede activar [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) para corregir problemas. 

 Amazon DevOps Guru puede supervisar automáticamente los recursos de la aplicación en busca de un comportamiento anómalo y ofrecer recomendaciones específicas para reducir el tiempo de identificación y resolución de problemas. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Use Amazon DevOps Guru para llevar a cabo acciones automatizadas. Amazon DevOps Guru puede supervisar automáticamente los recursos de la aplicación en busca de un comportamiento anómalo y ofrecer recomendaciones específicas para reducir el tiempo de identificación y resolución de problemas. 
  +  [¿Qué es Amazon DevOps Guru?](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  Utilice AWS Systems Manager para llevar a cabo acciones automatizadas. AWS Config supervisa y registra continuamente sus configuraciones de recursos de AWS, y puede activar la automatización de AWS Systems Manager para corregir problemas. 
  +  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
    +  Cree y use documentos de Systems Manager Automation. Estos documentos definen las acciones que Systems Manager realiza en sus instancias administradas y otros recursos de AWS cuando se ejecuta una automatización. 
    +  [Trabajar con documentos de automatización (guías de estrategias)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 
+  Amazon CloudWatch envía eventos de cambio de estados de alarma a Amazon EventBridge. Cree reglas de EventBridge para automatizar las respuestas. 
  +  [Creación de una regla de EventBridge que se active cuando se produzca un evento desde un recurso de AWS](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) 
+  Cree y ejecute un plan para automatizar las respuestas. 
  +  Registre en un inventario todos los procedimientos de respuesta a alertas. Debe planificar las respuestas a las alertas antes de clasificar las tareas. 
  +  Registre en un inventario todas las tareas con acciones específicas que se deben realizar. La mayoría de estas acciones se documentan en runbooks. También debe tener guías de estrategias para alertas de eventos imprevistos. 
  +  Examinar los runbooks y las guías de estrategias para todas las acciones automatizables. En general, si una acción se puede definir, lo más probable es que se pueda automatizar. 
  +  Clasifique primero las actividades propensas a errores o que requieran mucho tiempo. Es más conveniente eliminar las fuentes de error y reducir el tiempo de resolución. 
  +  Establezca un plan para completar la automatización. Mantenga un plan activo para automatizar y actualizar la automatización. 
  +  Examine los requisitos manuales para identificar oportunidades de automatización. Revise el proceso manual en busca de oportunidades de automatización. 

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

 **Documentos relacionados:** 
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
+  [Creación de una regla de EventBridge que se active cuando se produzca un evento desde un recurso de AWS](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) 
+  [Taller sobre observabilidad](https://observability.workshop.aws/) 
+  [La Amazon Builders' Library: Instrumentación de los sistemas distribuidos para la visibilidad de las operaciones](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [¿Qué es Amazon DevOps Guru?](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  [Trabajar con documentos de automatización (guías de estrategias)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 

# REL06-BP05 Análisis
<a name="rel_monitor_aws_resources_storage_analytics"></a>

 Recopile archivos de registros e historiales de métricas y analícelos para identificar tendencias e información sobre las cargas de trabajo. 

 Amazon CloudWatch Logs Insights es compatible con un [lenguaje de consultas sencillo pero potente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) que puede usar para analizar datos de registro. Amazon CloudWatch Logs también admite suscripciones que permiten a los datos dirigirse de forma fluida hacia Amazon S3, donde podrá usar Amazon Athena para consultar los datos. También es compatible con consultas en una gran variedad de formatos. Consulte [Formatos de SerDes y datos compatibles](https://docs.aws.amazon.com/athena/latest/ug/supported-format.html) en la Guía del usuario de Amazon Athena para obtener más información. Para los análisis de conjuntos de archivos de registro enormes, puede ejecutar un clúster de Amazon EMR para ejecutar análisis en la escala de los petabytes. 

 Hay una serie de herramientas proporcionadas por socios de AWS y terceros que permiten la agregación, procesamiento, almacenamiento y análisis. Entre estas herramientas se incluyen New Relic, Splunk, Loggly, Logstash, CloudHealth y Nagios. Sin embargo, la generación fuera de los registros del sistema y las aplicaciones es exclusiva de cada proveedor de la nube y, a menudo, exclusiva de cada servicio. 

 Una parte del proceso de monitoreo que a menudo se pasa por alto es la gestión de datos. Necesita determinar los requisitos de retención para supervisar los datos y, luego, aplicar las políticas del ciclo de vida correspondientemente. Amazon S3 permite la administración del ciclo de vida en el nivel del bucket de S3. Esta gestión del ciclo de vida se puede aplicar de manera diferente a diferentes rutas en el bucket. Hacia el final del ciclo de vida, puede realizar la transición de datos a Amazon Glacier para el almacenamiento a largo plazo y vencimiento, una vez alcanzado el final del periodo de retención. La clase de almacenamiento de S3 Intelligent-Tiering está diseñado para optimizar los costos trasladando automáticamente los datos al nivel de acceso más eficiente, sin que se vea afectado el rendimiento ni los gastos generales operativos. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  CloudWatch Logs Insights le permite buscar y analizar de forma interactiva sus datos de registro en Amazon CloudWatch Logs. 
  +  [Análisis de los datos de registro con CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html) 
  +  [Consultas de ejemplo de Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 
+  Use Amazon CloudWatch Logs para enviar registros a Amazon S3, donde puede usar Amazon Athena para consultar los datos. 
  +  [¿Cómo analizo mis registros de acceso al servidor de Amazon S3 mediante Athena?](https://aws.amazon.com/premiumsupport/knowledge-center/analyze-logs-athena/) 
    +  Cree una política de ciclo de vida de S3 para su bucket de registros de acceso al servidor. Configure la política de ciclo de vida para que se eliminen periódicamente los archivos de registros. De esta forma, reducirá la cantidad de datos que analiza Athena en cada consulta. 
      +  [¿Cómo creo una política de ciclo de vida para un bucket de S3?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html) 

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

 **Documentos relacionados:** 
+  [Consultas de ejemplo de Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) 
+  [Análisis de los datos de registro con CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html) 
+  [Depuración con Amazon CloudWatch Synthetics y AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [¿Cómo creo una política de ciclo de vida para un bucket de S3?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html) 
+  [¿Cómo analizo mis registros de acceso al servidor de Amazon S3 mediante Athena?](https://aws.amazon.com/premiumsupport/knowledge-center/analyze-logs-athena/) 
+  [Taller sobre observabilidad](https://observability.workshop.aws/) 
+  [La Amazon Builders' Library: Instrumentación de los sistemas distribuidos para la visibilidad de las operaciones](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 

# REL06-BP06 Realizar revisiones con frecuencia
<a name="rel_monitor_aws_resources_review_monitoring"></a>

 Revise frecuentemente cómo está implementada la supervisión de cargas de trabajo y actualícela en función de eventos y cambios importantes. 

 La supervisión efectiva se basa en métricas empresariales claves. Asegúrese de que estas métricas tengan cabida en su carga de trabajo a medida que cambien las prioridades empresariales. 

 La auditoría de su supervisión le permite asegurarse de que sabrá cuándo cumple una aplicación con sus objetivos de disponibilidad. El análisis de las causas raíces requiere la capacidad de descubrir qué ha ocurrido cuando se produce un error. AWS facilita servicios que le permiten realizar un seguimiento del estado de sus servicios durante un incidente: 
+  **Amazon CloudWatch Logs:** puede almacenar sus registros en este servicio e inspeccionar sus contenidos. 
+  **Amazon CloudWatch Logs Insights**: es un servicio totalmente administrado que le permite analizar registros inmensos en segundos. Le ofrece consultas y visualizaciones rápidas e interactivas.  
+  **AWS Config:** puede ver qué infraestructura de AWS se ha estado utilizando en diferentes momentos. 
+  **AWS CloudTrail:** puede ver qué API de AWS se invocaron en qué momento y desde qué entidad principal. 

 En AWS, realizamos una reunión semanal para [revisar el rendimiento operativo](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/wa-operational-readiness-reviews.html) y compartir lo que hemos aprendido entre los equipos. Como hay tantos equipos en AWS, creamos [La rueda](https://aws.amazon.com/blogs/opensource/the-wheel/) para elegir al azar una carga de trabajo que revisar. El establecimiento de una cadencia regular para las revisiones de rendimiento operativo y el intercambio de conocimientos mejorará su capacidad para lograr un mayor rendimiento de sus equipos operativos. 

 **Patrones de uso no recomendados comunes:** 
+  Recopilar solo métricas predeterminadas 
+  Establecer una estrategia de supervisión y no revisarla nunca 
+  No considerar la supervisión cuando se implementan cambios importantes 

 **Beneficios de establecer esta práctica recomendada:** la revisión periódica de la supervisión le permite anticiparse a los posibles problemas en lugar de reaccionar a las notificaciones cuando se produzca un problema previsto. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Cree varios paneles para la carga de trabajo. Debe tener un panel general que contenga las principales métricas del negocio, así como las métricas técnicas que ha identificado como más relevantes para el estado previsto de la carga de trabajo conforme cambie su uso. También debe tener paneles para los distintos niveles y dependencias de la aplicación que puedan inspeccionarse. 
  +  [Uso de paneles de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  Programe y realice revisiones periódicas de los paneles de cargas de trabajo. Realice una inspección periódica de los paneles. Puede tener diferentes cadencias para el alcance de la inspección. 
  +  Inspeccione las tendencias en las métricas. Compare los valores de las métricas con los valores históricos para saber si hay tendencias que puedan indicar que algo necesita ser investigado. Algunos ejemplos son un aumento de la latencia, una reducción de la función empresarial principal y un aumento de las respuestas a los errores. 
  +  Inspeccione valores atípicos o anomalías en las métricas. Los promedios o las medianas pueden ocultar valores atípicos y anomalías. Examine los valores más altos y más bajos durante el período de tiempo e investigue las causas de los valores extremos. Mientras elimina estas causas, la relajación de la definición de «extremo» le permitirá seguir mejorando la sistematicidad del rendimiento de sus cargas de trabajo. 
  +  Busque cambios bruscos en el comportamiento. Un cambio inmediato en la cantidad o en la dirección de una métrica podría indicar que se ha producido un cambio en la aplicación o factores externos que podrían necesitar la inclusión de métricas adicionales para su seguimiento. 

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

 **Documentos relacionados:** 
+  [Consultas de ejemplo de Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) 
+  [Depuración con Amazon CloudWatch Synthetics y AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Taller sobre observabilidad](https://observability.workshop.aws/) 
+  [La Amazon Builders' Library: Instrumentación de los sistemas distribuidos para la visibilidad de las operaciones](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [Uso de paneles de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 

# REL06-BP07 Supervisar el seguimiento de las solicitudes de principio a fin en todo el sistema
<a name="rel_monitor_aws_resources_end_to_end"></a>

 Use AWS X-Ray o herramientas de terceros para que los desarrolladores puedan analizar y depurar fácilmente los sistemas distribuidos para conocer el rendimiento de sus aplicaciones y servicios subyacentes. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Supervise el seguimiento de las solicitudes de principio a fin en todo el sistema. AWS X-Ray es un servicio que recopila datos sobre las solicitudes que sirve su aplicación y proporciona herramientas que puede usar para ver, filtrar y obtener información de esos datos con el fin de identificar problemas y oportunidades de optimización. Puede ver información detallada no solo de cualquier solicitud seguida que se envíe a su aplicación y su respuesta, sino también de las llamadas que realiza la aplicación a recursos, microservicios, bases de datos y API web de AWS que se encuentren en un punto posterior del proceso. 
  +  [¿Qué es AWS X-Ray?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
  +  [Depuración con Amazon CloudWatch Synthetics y AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 

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

 **Documentos relacionados:** 
+  [Depuración con Amazon CloudWatch Synthetics y AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Taller sobre observabilidad](https://observability.workshop.aws/) 
+  [La Amazon Builders' Library: Instrumentación de los sistemas distribuidos para la visibilidad de las operaciones](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [Uso de valores controlados (Amazon CloudWatch Synthetics)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [¿Qué es AWS X-Ray?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

# REL 7 ¿Cómo diseña su carga de trabajo para que se adapte a los cambios en la demanda?
<a name="w2aac19b9b9b7"></a>

Una carga de trabajo escalable proporciona elasticidad para agregar y eliminar recursos automáticamente a fin de que coincidan estrechamente con la demanda actual en cualquier momento dado.

**Topics**
+ [REL07-BP01 Usar la automatización al obtener o escalar recursos](rel_adapt_to_changes_autoscale_adapt.md)
+ [REL07-BP02 Obtener recursos tras detectar un impedimento en una carga de trabajo](rel_adapt_to_changes_reactive_adapt_auto.md)
+ [REL07-BP03 Obtener recursos tras detectar que se necesitan más recursos para una carga de trabajo](rel_adapt_to_changes_proactive_adapt_auto.md)
+ [REL07-BP04 Realizar pruebas de la carga de trabajo](rel_adapt_to_changes_load_tested_adapt.md)

# REL07-BP01 Usar la automatización al obtener o escalar recursos
<a name="rel_adapt_to_changes_autoscale_adapt"></a>

 Cuando reemplace recursos deteriorados o escale su carga de trabajo, automatice el proceso mediante el uso de servicios de AWS administrados, como Amazon S3 y AWS Auto Scaling. También puede utilizar herramientas de terceros y los SDK de AWS para automatizar el escalado. 

 Los servicios de AWS administrados incluyen Amazon S3, Amazon CloudFront, AWS Auto Scaling, AWS Lambda, Amazon DynamoDB, AWS Fargate y Amazon Route 53. 

 AWS Auto Scaling le permite detectar y reemplazar las instancias deterioradas. También le permite crear planes de escalado para los recursos, como instancias [Amazon EC2](https://aws.amazon.com/ec2/) y flotas de spot, tareas de [Amazon ECS](https://aws.amazon.com/ecs/) , tablas e índices de [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) y réplicas de [Amazon Aurora](https://aws.amazon.com/aurora/) . 

 Al escalar las instancias EC2, asegúrese de que utiliza varias zonas de disponibilidad (preferiblemente tres como mínimo) y agregue o elimine capacidad para mantener el equilibrio entre estas zonas de disponibilidad. Las tareas de ECS o los pods de Kubernetes (cuando se utiliza Amazon Elastic Kubernetes Service) también se deben distribuir en varias zonas de disponibilidad. 

 Al utilizar AWS Lambda, las instancias se escalan automáticamente. Cada vez que se recibe una notificación de evento para su función, AWS Lambda localiza rápidamente la capacidad libre en su flota de computación y ejecuta su código hasta la simultaneidad asignada. Debe asegurarse de que la simultaneidad necesaria está configurada en Lambda específico y en su Service Quotas. 

 Amazon S3 se escala automáticamente para gestionar las altas tasas de solicitudes. Por ejemplo, su aplicación puede alcanzar al menos 3500 solicitudes PUT/COPY/POST/DELETE o 5500 solicitudes GET/HEAD por segundo y prefijo en un bucket. No hay límites en el número de prefijos de un bucket. Puede aumentar su rendimiento de lectura o escritura si ejecuta en paralelo las lecturas. Por ejemplo, si crea diez prefijos en un bucket de Amazon S3 para ejecutar en paralelo las lecturas, podría escalar su rendimiento de lectura a 55 000 solicitudes de lectura por segundo. 

 Configure y use Amazon CloudFront o una red de entrega de contenido (CDN) de confianza. Una CDN puede proporcionar tiempos de respuesta más rápidos al usuario final y puede servir solicitudes de contenido desde la caché, lo que reduce la necesidad de escalar su carga de trabajo. 

 **Patrones de uso no recomendados comunes:** 
+  Implementar grupos de escalado automático para la reparación automatizada, pero no implementar la elasticidad. 
+  Utilizar el escalado automático para responder a los grandes aumentos de tráfico. 
+  Desplegar aplicaciones con un alto nivel de estado, lo que elimina la opción de la elasticidad. 

 **Beneficios de establecer esta práctica recomendada:** la automatización elimina la posibilidad de cometer errores manuales al desplegar y retirar los recursos. La automatización elimina el riesgo de sobrecostes y de denegación de servicio debido a la lentitud de respuesta en las necesidades de despliegue o retirada. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Configure y use AWS Auto Scaling. Esto supervisa sus aplicaciones y ajusta automáticamente la capacidad para mantener un rendimiento constante y predecible al menor coste posible. Con AWS Auto Scaling, puede configurar el escalado de aplicaciones para múltiples recursos en varios servicios. 
  +  [¿Qué es AWS Auto Scaling?](https://docs.aws.amazon.com/autoscaling/plans/userguide/what-is-aws-auto-scaling.html) 
    +  Configure el escalado automático en sus instancias y flotas de spot de Amazon EC2, tareas de Amazon ECS, tablas e índices de Amazon DynamoDB, réplicas de Amazon Aurora y dispositivos de AWS Marketplace según corresponda. 
      +  [Administración automática de la capacidad de rendimiento con el escalado automático de DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
        +  Use las operaciones de la API de servicio para especificar las alarmas, las políticas de escalado, los tiempos de calentamiento y los tiempos de enfriamiento. 
+  Use Elastic Load Balancing. Los equilibradores de carga pueden distribuir la carga por ruta o por conectividad de red. 
  +  [¿Qué es Elastic Load Balancing?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) 
    +  Application Load Balancers puede distribuir la carga por ruta. 
      +  [¿Qué es un Application Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
        +  Configure un Application Load Balancer para distribuir el tráfico entre diferentes cargas de trabajo en función de la ruta que corresponde al nombre de dominio. 
        +  Los Application Load Balancers se pueden utilizar para distribuir las cargas de manera que se integren con AWS Auto Scaling para administrar la demanda. 
          +  [Usar un equilibrador de carga con un grupo de escalado automático](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 
    +  Los equilibradores de carga de red pueden distribuir la carga por conexión. 
      +  [¿Qué es un equilibrador de carga de red?](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
        +  Configure un equilibrador de carga de red para distribuir el tráfico entre diferentes cargas de trabajo mediante TCP o para tener un conjunto constante de direcciones IP para la carga de trabajo. 
        +  Los equilibradores de carga de red se pueden utilizar para distribuir la carga de manera que se integre con AWS Auto Scaling para administrar la demanda. 
+  Use un proveedor de DNS de alta disponibilidad. Los nombres DNS permiten a sus usuarios acceder a sus cargas de trabajo con nombres en lugar de direcciones IP. Esta información se distribuye en un ámbito definido, normalmente de forma global para los usuarios de la carga de trabajo. 
  +  Utilice Amazon Route 53 o un proveedor de DNS de confianza. 
    +  [¿Qué es Amazon Route 53?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 
  +  Use Route 53 para administrar las distribuciones de CloudFront y los equilibradores de carga. 
    +  Determine los dominios y subdominios que va a administrar. 
    +  Cree conjuntos de registros apropiados mediante registros ALIAS o CNAME. 
      +  [Trabajar con los registros](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html) 
+  Utilice la red global de AWS para optimizar la ruta desde sus usuarios a sus aplicaciones. AWS Global Accelerator supervisa continuamente el estado de los puntos de conexión de sus aplicaciones y redirige el tráfico a los puntos en estado correcto en menos de 30 segundos. 
  +  AWS Global Accelerator es un servicio que mejora la disponibilidad y el rendimiento de sus aplicaciones con usuarios locales o globales. Proporciona direcciones IP estáticas que actúan como punto de entrada fijo a los puntos de conexión de aplicaciones en una o varias Regiones de AWS, como sus Application Load Balancers, equilibradores de carga de red o instancias Amazon EC2. 
    +  [¿Qué es AWS Global Accelerator?](https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html) 
+  Configure y use Amazon CloudFront o una red de entrega de contenido (CDN) de confianza. Una red de entrega de contenido puede ofrecer tiempos de respuesta más rápidos a los usuarios finales y atender solicitudes de contenido que pueden provocar un escalado innecesario de las cargas de trabajo. 
  +  [¿Qué es Amazon CloudFront?](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 
    +  Configure distribuciones de Amazon CloudFront para sus cargas de trabajo o utilice una CDN de terceros. 
      +  Puede limitar el acceso a sus cargas de trabajo para que solo sean accesibles desde CloudFront mediante los intervalos de IP para CloudFront en sus grupos de seguridad de puntos de conexión o políticas de acceso. 

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

 **Documentos relacionados:** 
+  [Socio de APN: socios que pueden ayudarle a crear soluciones informáticas automatizadas](https://aws.amazon.com/partners/find/results/?facets=%27Product%20:%20Compute%27) 
+  [AWS Auto Scaling: cómo funcionan los planes de escalado](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
+  [AWS Marketplace: productos que pueden usarse con escalo automático](https://aws.amazon.com/marketplace/search/results?searchTerms=Auto+Scaling) 
+  [Administración automática de la capacidad de rendimiento con el escalado automático de DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
+  [Usar un equilibrador de carga con un grupo de escalado automático](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 
+  [¿Qué es AWS Global Accelerator?](https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html) 
+  [¿Qué es Amazon EC2 Auto Scaling?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 
+  [¿Qué es AWS Auto Scaling?](https://docs.aws.amazon.com/autoscaling/plans/userguide/what-is-aws-auto-scaling.html) 
+  [¿Qué es Amazon CloudFront?](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html?ref=wellarchitected) 
+  [¿Qué es Amazon Route 53?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 
+  [¿Qué es Elastic Load Balancing?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) 
+  [¿Qué es un equilibrador de carga de red?](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [¿Qué es un Application Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Trabajar con los registros](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html) 

# REL07-BP02 Obtener recursos tras detectar un impedimento en una carga de trabajo
<a name="rel_adapt_to_changes_reactive_adapt_auto"></a>

 Escale recursos de forma retroactiva cuando sea necesario si la disponibilidad se ve afectada para restaurar la disponibilidad de la carga de trabajo. 

 Primero debe configurar las comprobaciones de estado y los criterios de dichas comprobaciones para indicar cuándo se ve afectada la disponibilidad por falta de recursos. A continuación, notifique al personal pertinente para que escale manualmente el recurso o active la automatización, a fin de que el escalado se realice de forma automática. 

 La escala puede ajustarse manualmente para su carga de trabajo; por ejemplo, se puede cambiar el número de instancias EC2 en un grupo de escalado automático o se puede modificar el rendimiento de una tabla de DynamoDB mediante la Consola de administración de AWS o la AWS CLI. Sin embargo, la automatización se debería usar siempre que sea posible (consulte **Usar la automatización al obtener o escalar recursos**). 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Obtenga recursos tras detectar un impedimento en una carga de trabajo. Escale recursos de forma retroactiva cuando sea necesario si la disponibilidad se ve afectada para restaurar la disponibilidad de la carga de trabajo. 
  +  Use planes de escalado, que son el componente principal de AWS Auto Scaling, para configurar un conjunto de instrucciones para escalar sus recursos. Si trabaja con AWS CloudFormation o agrega etiquetas a recursos de AWS, puede configurar planes de escalado para diferentes conjuntos de recursos y por aplicación. AWS Auto Scaling proporciona recomendaciones para estrategias de escalado personalizadas para cada recurso. Tras crear su plan de ajuste de escala, AWS Auto Scaling combina el ajuste dinámico y los métodos predictivos de escalado para ayudarle en su estrategia. 
    +  [AWS Auto Scaling: cómo funcionan los planes de escalado](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
  +  Amazon EC2 Auto Scaling le ayuda a garantizar que tenga el número correcto de instancias Amazon EC2 disponibles para gestionar la carga de tu aplicación. Puede crear colecciones de instancias EC2 denominadas grupos de escalado automático. Puede especificar el número mínimo de instancias en cada grupo de escalado automático, y Amazon EC2 Auto Scaling asegura que su grupo nunca tenga un tamaño por debajo de este. Puede especificar el número máximo de instancias en cada grupo de escalado automático, y Amazon EC2 Auto Scaling asegura que su grupo nunca tenga un tamaño por encima de este. 
    +  [¿Qué es Amazon EC2 Auto Scaling?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 
  +  El escalado automático de Amazon DynamoDB usa el servicio de Auto Scaling de aplicaciones de AWS para ajustar dinámicamente la capacidad de rendimiento aprovisionada en su nombre como respuesta a los patrones de tráfico reales. Esto permite que una tabla o un índice secundario global aumente su capacidad de lectoescritura aprovisionada para afrontar los picos repentinos de tráfico sin limitación. 
    +  [Administrar automáticamente la capacidad de rendimiento con Auto Scaling de DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 

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

 **Documentos relacionados:** 
+  [Socio de APN: socios que pueden ayudarle a crear soluciones informáticas automatizadas](https://aws.amazon.com/partners/find/results/?facets=%27Product%20:%20Compute%27) 
+  [AWS Auto Scaling: cómo funcionan los planes de escalado](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
+  [AWS Marketplace: productos que pueden usarse con Auto Scaling](https://aws.amazon.com/marketplace/search/results?searchTerms=Auto+Scaling) 
+  [Administrar automáticamente la capacidad de rendimiento con Auto Scaling de DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
+  [¿Qué es Amazon EC2 Auto Scaling?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 

# REL07-BP03 Obtener recursos tras detectar que se necesitan más recursos para una carga de trabajo
<a name="rel_adapt_to_changes_proactive_adapt_auto"></a>

 Escale recursos de forma proactiva para satisfacer la demanda y evitar que la disponibilidad se vea impactada. 

 Muchos servicios de AWS se escalan automáticamente para satisfacer la demanda. Si usa instancias de Amazon EC2 o clústeres de Amazon ECS, puede configurar su escalado automático para que se lleve a cabo en función de métricas de uso que se correspondan con la demanda para su carga de trabajo. Para Amazon EC2, el uso medio de la CPU, el recuento de solicitudes al equilibrador de carga o el ancho de banda de la red se pueden usar para escalar (o desescalar) horizontalmente instancias de EC2. Para Amazon ECS, el uso medio de la CPU, el recuento de solicitudes al equilibrador de carga o el uso de memoria se pueden usar para escalar (o desescalar) horizontalmente tareas de ECS. Al utilizar el escalado automático por objetivos en AWS, el escalador automático actúa como un termostato doméstico y agrega o retira recursos para mantener el valor objetivo (por ejemplo, un uso de la CPU del 70 %) que haya especificado. 

 AWS Auto Scaling también puede llevar a cabo [escalado automático predictivo](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/), que utiliza machine learning para analizar la carga de trabajo histórica de cada recurso y predice regularmente la carga futura para los próximos dos días. 

 La ley de Little ayuda a calcular cuántas instancias de computación (instancias de EC2, funciones Lambda simultáneas, etc.) necesitará. 

 *R* = *λW* 

 L = número de instancias (o simultaneidad media en el sistema) 

 λ = promedio de la tasa de llegada de solicitudes (solicitudes/s) 

 W = promedio del tiempo que pasa cada solicitud en el sistema (s) 

 Por ejemplo, a 100 sps, si cada solicitud tarda 0,5 segundos en procesarse, necesitará 50 instancias para satisfacer la demanda. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Obtenga recursos tras detectar que se necesitan más recursos para una carga de trabajo. Escale recursos de forma proactiva para satisfacer la demanda y evitar que la disponibilidad se vea impactada. 
  +  Calcule cuántos recursos de computación necesitará (simultaneidad de computación) para afrontar una tasa de solicitudes dada. 
    +  [Presentación de historias sobre la ley de Little](https://brooker.co.za/blog/2018/06/20/littles-law.html) 
  +  Cuando tenga un patrón de uso histórico, configure el escalado programado para el escalado automático de Amazon EC2. 
    +  [Escalado programado para Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html) 
  +  Use el escalado predictivo de AWS. 
    +  [Predictive Scaling for EC2, Powered by Machine Learning](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 

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

 **Documentos relacionados:** 
+  [AWS Auto Scaling: cómo funcionan los planes de escalado](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
+  [AWS Marketplace: productos que pueden usarse con Auto Scaling](https://aws.amazon.com/marketplace/search/results?searchTerms=Auto+Scaling) 
+  [Administrar automáticamente la capacidad de rendimiento con Auto Scaling de DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
+  [Predictive Scaling for EC2, Powered by Machine Learning](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 
+  [Escalado programado para Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html) 
+  [Presentación de historias sobre la ley de Little](https://brooker.co.za/blog/2018/06/20/littles-law.html) 
+  [¿Qué es Amazon EC2 Auto Scaling?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 

# REL07-BP04 Realizar pruebas de la carga de trabajo
<a name="rel_adapt_to_changes_load_tested_adapt"></a>

 Adopte una metodología de prueba de carga para medir si la actividad de escalado satisface los requisitos de la carga de trabajo. 

 Es importante realizar pruebas de carga sostenidas. Las pruebas de carga deben descubrir el punto de ruptura y probar el rendimiento de su carga de trabajo. AWS facilita la creación de entornos de prueba temporales que modelan la escala de su carga de trabajo de producción. En la nube, puede crear un entorno de prueba a escala de producción, completar sus pruebas y desmantelar los recursos. Debido a que solo paga por el entorno de prueba cuando se ejecuta, puede simular su entorno en directo por una fracción del coste de las pruebas en las instalaciones. 

 Las pruebas de carga en producción también deben considerarse como parte de los días de juego en los que se estresa el sistema de producción, durante las horas de menor uso por parte de los clientes, con todo el personal a mano para interpretar los resultados y abordar cualquier problema que surja. 

 **Patrones de uso no recomendados comunes:** 
+  Realizar pruebas de carga en despliegues que no tienen la misma configuración que su producción. 
+  Realizar pruebas de carga solo en elementos individuales de su carga de trabajo y no en toda ella. 
+  Realizar pruebas de carga con un subconjunto de solicitudes y no con un conjunto representativo de solicitudes reales. 
+  Realizar pruebas de carga con un pequeño factor de seguridad por encima de la carga prevista. 

 **Beneficios de establecer esta práctica recomendada:** sabrá qué componentes de su arquitectura presentan errores bajo carga y podrá identificar qué métricas se deben vigilar para indicar que se está acercando a esa carga a tiempo para solucionar el problema, con lo que se evitará el impacto de ese error. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Realice pruebas de carga para identificar qué aspecto de su carga de trabajo indica que debe agregar o eliminar capacidad. Las pruebas de carga deben tener un tráfico representativo similar al que se recibe en producción. Aumente la carga mientras vigila las métricas que ha instrumentado para determinar qué métrica indica cuándo debe agregar o eliminar recursos. 
  +  [Pruebas de carga distribuida en AWS: simular miles de usuarios conectados](https://aws.amazon.com/solutions/distributed-load-testing-on-aws/) 
    +  Identifique la combinación de solicitudes. Es posible que tenga una combinación variada de solicitudes, por lo que deberá tener en cuenta diversos periodos de tiempo a la hora de identificar la combinación de tráfico. 
    +  Implemente un controlador de carga. Puede utilizar software de código abierto o comercial para implementar un controlador de carga. 
    +  Realice la prueba de carga inicialmente con una capacidad pequeña. Se ven algunos efectos inmediatos al pasar la carga a una capacidad menor, posiblemente tan pequeña como una instancia o un contenedor. 
    +  Realice una prueba de carga con una capacidad mayor. Los efectos serán diferentes en una carga distribuida, por lo que debe realizar las pruebas en un entorno lo más parecido posible al del producto. 

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

 **Documentos relacionados:** 
+  [Pruebas de carga distribuida en AWS: simular miles de usuarios conectados](https://aws.amazon.com/solutions/distributed-load-testing-on-aws/) 

# REL 8 ¿Cómo implementa los cambios?
<a name="w2aac19b9b9b9"></a>

Los cambios controlados son necesarios para implementar nueva funcionalidad y garantizar que las cargas de trabajo y el entorno operativo ejecuten software conocido y puedan recibir parches o reemplazos de manera predecible. Si estos cambios no se controlan, puede ser difícil prever su efecto o abordar los problemas que surjan a raíz de ellos. 

**Topics**
+ [REL08-BP01 Usar runbooks para actividades estándares como la implementación](rel_tracking_change_management_planned_changemgmt.md)
+ [REL08-BP02 Integrar las pruebas funcionales como parte de su despliegue](rel_tracking_change_management_functional_testing.md)
+ [REL08-BP03 Integrar las pruebas de resiliencia como parte de su despliegue](rel_tracking_change_management_resiliency_testing.md)
+ [REL08-BP04 Desplegar mediante infraestructura inmutable](rel_tracking_change_management_immutable_infrastructure.md)
+ [REL08-BP05 Desplegar cambios con automatización](rel_tracking_change_management_automated_changemgmt.md)

# REL08-BP01 Usar runbooks para actividades estándares como la implementación
<a name="rel_tracking_change_management_planned_changemgmt"></a>

 Los runbooks son procedimientos predefinidos para obtener resultados concretos. Use runbooks para realizar actividades estándar manuales o automáticas. Algunos ejemplos incluyen implementar una carga de trabajo, aplicarle un parche a dicha carga de trabajo o realizar modificaciones de DNS. 

 Por ejemplo, se pueden implementar procesos para [garantizar la seguridad de la restauración durante los despliegues](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments). Tener la garantía de poder dar marcha atrás en un despliegue sin disrupciones para sus clientes es esencial a la hora de hacer que un servicio sea fiable. 

 Para los procedimientos de runbooks, empiece por un proceso manual efectivo válido, impleméntelo en el código y desencadene la ejecución automatizada cuando sea oportuno. 

 Incluso en el caso de cargas de trabajo sofisticadas con un alto nivel de automatización los runbooks siguen siendo útiles para [ejecutar días de juego](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html#GameDays) o ajustarse a los exhaustivos requisitos de presentación de informes y auditoría. 

 Tenga en cuenta que las guías de estrategias se usan en respuesta a incidentes específicos y los runbooks se usan para conseguir resultados determinados. A menudo, los runbooks se usan para actividades rutinarias, mientras que las guías de estrategias se utilizan para responder a eventos no rutinarios. 

 **Patrones de uso no recomendados comunes:** 
+  Realizar cambios imprevistos en la configuración en producción 
+  Omitir pasos del plan para realizar una implementación más rápida, lo que da lugar a una implementación errónea. 
+  Realizar cambios sin probar la revocación del cambio 

 **Beneficios de establecer esta práctica recomendada:** La planificación eficaz de los cambios aumenta su capacidad de realizar correctamente el cambio, ya que sabrá qué sistemas resultarán afectados. Validar el cambio en los entornos de prueba aumenta la confianza. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Puede obtener respuestas sistemáticas e inmediatas a eventos conocidos si documenta los procedimientos en runbooks. 
  +  [Conceptos del AWS Well-Architected Framework: runbook](https://wa.aws.amazon.com/wat.concept.runbook.en.html) 
+  Use el principio de la infraestructura como código para definir la infraestructura. Si usa AWS CloudFormation (o un tercero de confianza) para definir su infraestructura, puede utilizar software de control de versiones para crear versiones y hacer seguimiento de los cambios. 
  +  Use AWS CloudFormation (o un proveedor tercero de confianza) para definir su infraestructura. 
    +  [¿Qué es AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  Cree plantillas singulares y desacopladas, usando buenos principios de diseño de software. 
    +  Determine los permisos, las plantillas y las partes responsables de su implementación. 
      + [ Control de acceso con AWS Identity and Access Management](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)
    +  Use herramientas de control de código, como AWS CodeCommit o las de terceros de confianza, para llevar un control de las versiones. 
      +  [¿Qué es AWS CodeCommit?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

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

 **Documentos relacionados:** 
+  [Socio de APN: socios que pueden ayudarle a crear soluciones de implementación automatizadas](https://aws.amazon.com/partners/find/results/?keyword=devops) 
+  [AWS Marketplace: productos que pueden usarse para automatizar sus implementaciones](https://aws.amazon.com/marketplace/search/results?searchTerms=DevOps) 
+  [Conceptos del AWS Well-Architected Framework: runbook](https://wa.aws.amazon.com/wat.concept.runbook.en.html) 
+  [¿Qué es AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [¿Qué es AWS CodeCommit?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

   **Ejemplos relacionados:** 
+  [Automatización de operaciones con guías de estrategias y runbooks](https://wellarchitectedlabs.com/operational-excellence/200_labs/200_automating_operations_with_playbooks_and_runbooks/) 

# REL08-BP02 Integrar las pruebas funcionales como parte de su despliegue
<a name="rel_tracking_change_management_functional_testing"></a>

 Las pruebas funcionales se ejecutan como parte de la implementación automatizada. Si no se satisfacen los criterios de éxito, la canalización se detiene o se revierte. 

 Estas pruebas se llevan a cabo en un entorno de preproducción, que se lleva a cabo antes de la producción en la canalización. Idealmente, esto se realiza como parte de una canalización de despliegue. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Integre las pruebas funcionales como parte de su despliegue. Las pruebas funcionales se ejecutan como parte de la implementación automatizada. Si no se satisfacen los criterios de éxito, la canalización se detiene o se revierte. 
  +  Invoque AWS CodeBuild durante la «acción de prueba» de sus canalizaciones de lanzamiento de software modeladas en AWS CodePipeline. Esta función le permite ejecutar fácilmente una gran variedad de pruebas en el código, como pruebas unitarias, análisis de código estático y pruebas de integración. 
    +  [En AWS CodePipeline ahora se pueden hacer pruebas unitarias y de integración personalizadas con AWS CodeBuild](https://aws.amazon.com/about-aws/whats-new/2017/03/aws-codepipeline-adds-support-for-unit-testing/) 
  +  Use soluciones de AWS Marketplace para ejecutar pruebas automatizadas como parte de su canalización de entrega de software. 
    +  [Automatización de pruebas de software](https://aws.amazon.com/marketplace/solutions/devops/software-test-automation) 

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

 **Documentos relacionados:** 
+  [En AWS CodePipeline ahora se pueden hacer pruebas unitarias y de integración personalizadas con AWS CodeBuild](https://aws.amazon.com/about-aws/whats-new/2017/03/aws-codepipeline-adds-support-for-unit-testing/) 
+  [Automatización de pruebas de software](https://aws.amazon.com/marketplace/solutions/devops/software-test-automation) 
+  [¿Qué es AWS CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 

# REL08-BP03 Integrar las pruebas de resiliencia como parte de su despliegue
<a name="rel_tracking_change_management_resiliency_testing"></a>

 Las pruebas de resiliencia (mediante los [principios de la ingeniería del caos](https://principlesofchaos.org/)) se ejecutan como parte de la canalización de despliegue automatizada en un entorno previo a producción. 

 Estas pruebas se realizan por fases y se ejecutan en la canalización en un entorno previo a la producción. También deben ejecutarse en producción como parte de los [https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html#GameDays](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html#GameDays). 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Integre las pruebas de resiliencia como parte de su despliegue. Use la ingeniería del caos, la disciplina de poner a prueba una carga de trabajo para generar confianza en su capacidad de resistir condiciones adversas en producción. 
  +  Las pruebas de resiliencia introducen errores o degradación de los recursos para saber si la carga de trabajo responde con la resiliencia diseñada. 
    +  [Laboratorio de Well-Architected: Nivel 300: pruebas de resiliencia de EC2 RDS y S3](https://wellarchitectedlabs.com/Reliability/300_Testing_for_Resiliency_of_EC2_RDS_and_S3/README.html) 
  +  Estas pruebas se pueden ejecutar periódicamente en entornos previos a producción en canalizaciones de implementaciones automatizadas. 
  +  También deben ejecutarse en producción como parte de los días de juego programados. 
  +  Usando los principios de ingeniería del caos, proponga hipótesis sobre cómo funcionará la carga de trabajo con distintos errores y después pruebe sus hipótesis mediante pruebas de resiliencia. 
    +  [Principios de la ingeniería del caos](https://principlesofchaos.org/) 

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

 **Documentos relacionados:** 
+  [Principios de la ingeniería del caos](https://principlesofchaos.org/) 
+  [¿Qué es AWS Fault Injection Simulator?](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html) 

 **Ejemplos relacionados:** 
+  [Laboratorio de Well-Architected: Nivel 300: pruebas de resiliencia de EC2 RDS y S3](https://wellarchitectedlabs.com/Reliability/300_Testing_for_Resiliency_of_EC2_RDS_and_S3/README.html) 

# REL08-BP04 Desplegar mediante infraestructura inmutable
<a name="rel_tracking_change_management_immutable_infrastructure"></a>

 La infraestructura inmutable es un modelo que exige que no haya actualizaciones, parches de seguridad ni cambios de configuración en las cargas de trabajo de producción. Cuando es necesario realizar un cambio, la arquitectura se integra en una nueva infraestructura y se implementa en producción. 

 La implementación más habitual del paradigma de infraestructura inmutable es el ***servidor inmutable***. Esto significa que si un servidor necesita una actualización o una reparación, se despliegan nuevos servidores en lugar de actualizar los que ya están en uso. Por tanto, en lugar de iniciar sesión en un servidor mediante SSH y de actualizar la versión de software, cada cambio en la aplicación se inicia con un push de software en el repositorio de código, por ejemplo, un git push. Dado que los cambios no se permiten en una infraestructura inmutable, puede estar seguro sobre el estado del sistema desplegado. Las infraestructuras inmutables son inherentemente más coherentes, fiables y predecibles, y simplifican muchos de los aspectos del desarrollo de software y las operaciones. 

 Use un despliegue de valores controlados o azul-verde al desplegar aplicaciones en infraestructuras inmutables. 

 [https://martinfowler.com/bliki/CanaryRelease.html](https://martinfowler.com/bliki/CanaryRelease.html) es la práctica de dirigir a una pequeña cantidad de sus clientes a la nueva versión, que normalmente se ejecuta en una instancia de servicio único (la de valor controlado). A continuación, puede analizar en profundidad los errores o los cambios en el comportamiento que puedan generarse. Puede eliminar el tráfico del valor controlado si encuentra problemas críticos y enviar a los usuarios de vuelta a la versión anterior. Si el despliegue se completa correctamente, puede seguir desplegando a la velocidad que desee, mientras supervisa los cambios en busca de errores, hasta completar el despliegue. AWS CodeDeploy puede configurarse con unos ajustes de despliegue que permitan un despliegue de valores controlados. 

 [https://martinfowler.com/bliki/BlueGreenDeployment.html](https://martinfowler.com/bliki/BlueGreenDeployment.html) es similar al despliegue de valores controlados, excepto que una flota completa de la aplicación se despliega en paralelo. Alterne sus implementaciones en las dos pilas (azul y verde). Una vez más, puede enviar tráfico a la nueva versión y volver a la versión anterior si observa problemas con el despliegue. Normalmente, todo el tráfico se conmuta de una vez. Sin embargo, también puede usar fracciones de tráfico para cada versión para acelerar la adopción de la nueva versión utilizando las capacidades de enrutamiento ponderado por DNS de Amazon Route 53. AWS CodeDeploy y AWS Elastic Beanstalk se pueden configurar con unos ajustes de despliegue que permitan un despliegue verde-azul. 

![\[Diagrama que muestra un despliegue azul-verde con AWS Elastic Beanstalk y Amazon Route 53\]](http://docs.aws.amazon.com/es_es/wellarchitected/2022-03-31/framework/images/blue-green-deployment.png)


 Beneficios de la infraestructura inmutable: 
+  **Reducción de las alteraciones de configuración:** al sustituir con frecuencia los servidores desde una configuración básica conocida y con control de versiones, la infraestructura se **restablece** a un estado conocido, evitando así las alteraciones de configuración. 
+  **Despliegues simplificados**: los despliegues se simplifican porque no tienen que ser compatibles con las mejoras. Las mejoras son simplemente nuevos despliegues. 
+  **Despliegues atómicos fiables:** o los despliegues son completamente correctos o no se cambia nada. Esto aporta un mayor grado de confianza en el proceso de despliegue. 
+  **Despliegues más seguros con procesos de recuperación y restauración rápidos:** Los despliegues son más seguros porque la versión activa anterior no se cambia. Puede restaurarla si se detecta algún error. 
+  **Entornos de prueba y depuración coherentes:** dado que todos los servidores utilizan la misma imagen, no se presentan diferencias entre entornos. Una compilación se implementa en varios entornos. También evita la inconsistencia entre entornos y simplifica las pruebas y la depuración. 
+  **Mayor escalabilidad:** dado que los servidores emplean una imagen de base y son coherentes y repetibles, el escalado automático resulta trivial. 
+  **Cadena de herramientas simplificada**: la cadena de herramientas se simplifica, ya que puede librarse de las herramientas de administración de la configuración mediante la gestión de mejoras en el software de producción. No se instalan herramientas ni agentes adicionales en los servidores. Los cambios se llevan a cabo en la imagen de base, se prueban y se despliegan. 
+  **Mayor seguridad:** al denegar todos los cambios en los servidores, puede desactivar el SSH en las instancias y eliminar las claves. Esto reduce el vector de ataque y mejora la postura de seguridad de su organización. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Haga despliegues mediante infraestructura inmutable. La infraestructura inmutable es un modelo en el que no se producen actualizaciones, no se aplican parches de seguridad ni se llevan a cabo cambios de configuración *in situ* en los sistemas de producción. Si es necesario realizar algún cambio, se crea una nueva versión de la arquitectura y se implementa en producción. 
  +  [Información general sobre una implementación azul/verde](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html#welcome-deployment-overview-blue-green) 
  +  [Implementar aplicaciones sin servidor gradualmente](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/automating-updates-to-serverless-apps.html) 
  +  [Infraestructura inmutable: fiabilidad, coherencia y confianza gracias a la inmutabilidad](https://medium.com/@adhorn/immutable-infrastructure-21f6613e7a23) 
  +  [CanaryRelease](https://martinfowler.com/bliki/CanaryRelease.html) 

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

 **Documentos relacionados:** 
+  [CanaryRelease](https://martinfowler.com/bliki/CanaryRelease.html) 
+  [Implementar aplicaciones sin servidor gradualmente](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/automating-updates-to-serverless-apps.html) 
+  [Infraestructura inmutable: fiabilidad, coherencia y confianza gracias a la inmutabilidad](https://medium.com/@adhorn/immutable-infrastructure-21f6613e7a23) 
+  [Información general sobre una implementación azul/verde](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html#welcome-deployment-overview-blue-green) 
+  [La Amazon Builders' Library: Garantizar la seguridad de las reversiones durante las implementaciones](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 

# REL08-BP05 Desplegar cambios con automatización
<a name="rel_tracking_change_management_automated_changemgmt"></a>

 Las implementaciones y la aplicación de parches se automatizan para eliminar su impacto negativo. 

 Los cambios en los sistemas de producción son una de las mayores áreas de riesgo para muchas organizaciones. Consideramos que los despliegues son un problema de primera clase que se debe resolver junto con los problemas comerciales que nuestro software aborda. Hoy en día, significa el uso de la automatización siempre que sea práctico en las operaciones, incluidas las pruebas y el despliegue de cambios, la adición o eliminación de capacidad y la migración de datos. AWS CodePipeline le permite administrar los pasos necesarios para lanzar su carga de trabajo. Esto incluye un estado de despliegue utilizando AWS CodeDeploy para automatizar el despliegue del código de la aplicación en instancias de Amazon EC2, instancias locales, funciones de Lambda sin servidor o servicios de Amazon ECS. 

**Recomendación**  
 Aunque la sabiduría convencional sugiere que mantenga a los humanos informados sobre los procedimientos operativos más difíciles, le sugerimos que automatice los procedimientos más difíciles por esa misma razón. 

 **Patrones de uso no recomendados comunes:** 
+  Realizar los cambios manualmente 
+  Omitir los pasos de la automatización a través de flujos de trabajo de emergencia 
+  No seguir los planes 

 **Beneficios de establecer esta práctica recomendada:** El uso de la automatización para implementar todos los cambios elimina la posibilidad de que se introduzcan errores humanos y proporciona la capacidad de probar los cambios antes de modificarlos en producción para garantizar que se cumplan los planes. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>
+  Automatice su proceso de despliegue. Las canalizaciones de implementación le permiten invocar pruebas automatizadas, detectar anomalías y detener la canalización en un paso determinado antes de la implementación en producción o revertir automáticamente un cambio. 
  +  [La Amazon Builders' Library: Garantizar la seguridad de las reversiones durante las implementaciones](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 
  +  [La Amazon Builders' Library: Agilizar el proceso con la entrega continua](https://aws.amazon.com/builders-library/going-faster-with-continuous-delivery/) 
    +  Use AWS CodePipeline o un producto de terceros de confianza para definir y ejecutar los procesos. 
      +  Configure la canalización para que se inicie cuando se confirme un cambio en su repositorio de código. 
        +  [¿Qué es AWS CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 
      +  Use Amazon Simple Notification Service (Amazon SNS) y Amazon Simple Email Service (Amazon SES) para enviar notificaciones sobre problemas en la canalización o integrar una herramienta de chat de equipo como Amazon Chime. 
        +  [¿Qué es Amazon Simple Notification Service?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 
        +  [¿Qué es Amazon SES?](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html) 
        +  [¿Qué es Amazon Chime?](https://docs.aws.amazon.com/chime/latest/ug/what-is-chime.html) 
        +  [Automatice los mensajes de chat con webhooks.](https://docs.aws.amazon.com/chime/latest/ug/webhooks.html) 

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

 **Documentos relacionados:** 
+  [Socio de APN: socios que pueden ayudarle a crear soluciones de implementación automatizadas](https://aws.amazon.com/partners/find/results/?keyword=devops) 
+  [AWS Marketplace: productos que pueden usarse para automatizar sus despliegues](https://aws.amazon.com/marketplace/search/results?searchTerms=DevOps) 
+  [Automatice los mensajes de chat con webhooks.](https://docs.aws.amazon.com/chime/latest/ug/webhooks.html) 
+  [La Amazon Builders' Library: Garantizar la seguridad de las reversiones durante las implementaciones](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 
+  [La Amazon Builders' Library: Agilizar el proceso con la entrega continua](https://aws.amazon.com/builders-library/going-faster-with-continuous-delivery/) 
+  [¿Qué es AWS CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 
+  [¿Qué es CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 
+  [¿Qué es Amazon SES?](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html) 
+  [¿Qué es Amazon Simple Notification Service?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 

 **Vídeos relacionados:** 
+  [AWS Summit 2019: entrega e integración continuas en AWS](https://youtu.be/tQcF6SqWCoY) 