

# Gerenciamento de alterações
<a name="a-change-management"></a>

**Topics**
+ [REL 6  Como você monitora recursos de carga de trabalho?](w2aac19b9b9b5.md)
+ [REL 7  Como você projeta sua carga de trabalho para se adaptar às mudanças na demanda?](w2aac19b9b9b7.md)
+ [REL 8  Como você implementa uma alteração?](w2aac19b9b9b9.md)

# REL 6  Como você monitora recursos de carga de trabalho?
<a name="w2aac19b9b9b5"></a>

Os logs e as métricas são uma ferramenta poderosa para saber a integridade das suas cargas de trabalho. Você pode configurar sua carga de trabalho para monitorar logs e métricas e enviar notificações quando os limites forem ultrapassados ou em caso de eventos importantes. O monitoramento permite que sua carga de trabalho reconheça quando os limites de baixa performance são ultrapassados ou quando há falhas, para que ela possa se recuperar automaticamente em resposta.

**Topics**
+ [REL06-BP01 Monitorar todos os componentes da workload (geração)](rel_monitor_aws_resources_monitor_resources.md)
+ [REL06-BP02 Definir e calcular as métricas (agregação)](rel_monitor_aws_resources_notification_aggregation.md)
+ [REL06-BP03 Enviar notificações (processamento e emissão de alarmes em tempo real)](rel_monitor_aws_resources_notification_monitor.md)
+ [REL06-BP04 Automatizar respostas (processamento e emissão de alarmes em tempo real)](rel_monitor_aws_resources_automate_response_monitor.md)
+ [REL06-BP05 Análises](rel_monitor_aws_resources_storage_analytics.md)
+ [REL06-BP06 Realizar revisões regularmente](rel_monitor_aws_resources_review_monitoring.md)
+ [REL06-BP07 Monitorar o rastreamento completo das solicitações por meio do seu sistema](rel_monitor_aws_resources_end_to_end.md)

# REL06-BP01 Monitorar todos os componentes da workload (geração)
<a name="rel_monitor_aws_resources_monitor_resources"></a>

 monitore os componentes da carga de trabalho com o Amazon CloudWatch ou ferramentas de terceiros. Monitore os serviços da AWS com o painel do AWS Health. 

 Todos os componentes da carga de trabalho devem ser monitorados, incluindo front-end, lógica de negócios e níveis de armazenamento. Defina as principais métricas, descreva como extraí-las dos logs (se necessário) e defina limites de ativação para eventos de alarme correspondentes. Certifique-se de que as métricas sejam relevantes para os indicadores-chave de performance (KPIs) da workload e use métricas e logs para identificar os primeiros sinais de alerta de degradação do serviço. Por exemplo, uma métrica relacionada a resultados de negócios, como o número de pedidos processados ​​com êxito por minuto, pode indicar problemas de workload mais rapidamente do que uma métrica técnica, como a utilização da CPU. Use o painel do AWS Health para uma visualização personalizada da performance e da disponibilidade dos serviços da AWS subjacentes aos recursos da AWS. 

 O monitoramento na nuvem oferece novas oportunidades. A maioria dos provedores de nuvem desenvolveu ganchos personalizáveis ​​e pode entregar insights para ajudar você a monitorar várias camadas da workload. Serviços da AWS, como o Amazon CloudWatch, aplicam algoritmos estatísticos e de machine learning para analisar continuamente métricas de sistemas e de aplicações, determinam linhas de base normais e detectam anomalias com intervenção mínima do usuário. Os algoritmos de detecção de anomalias consideram a sazonalidade e as mudanças de tendência das métricas. 

 A AWS disponibiliza uma abundância de informações de monitoramento e de log para consumo, que podem ser usadas para definir métricas específicas de workload, processos de alteração sob demanda e adotar técnicas de machine learning, independentemente da experiência em ML. 

 Além disso, monitore todos os seus endpoints externos para garantir que eles sejam independentes de sua implementação de base. Este monitoramento ativo pode ser feito com transações sintéticas (às vezes chamadas de *canários de usuário*, mas que não devem ser confundido com implantações canário) que executam periodicamente um número de tarefas comuns que correspondem às ações realizadas pelos clientes da workload. Mantenha estas tarefas de curta duração e certifique-se de não sobrecarregar a workload durante o teste. O Amazon CloudWatch Synthetics permite [criar canários sintéticos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) para monitorar seus endpoints e APIs. Você também pode combinar os nós sintéticos do cliente canário com o console do AWS X-Ray para identificar quais canários sintéticos estão enfrentando problemas com erros, falhas ou taxas de controle de utilização para o período selecionado. 

 **Resultado desejado:** 

 Coletar e usar métricas críticas de todos os componentes da workload para garantir sua confiabilidade e a experiência ideal do usuário. Detectar que uma workload não está alcançando resultados de negócios permite que você declare rapidamente um desastre e se recupere de um incidente. 

 **Antipadrões comuns:** 
+  Monitorar apenas as interfaces externas com sua carga de trabalho. 
+  Não gerar métricas específicas de workload e confiar apenas nas métricas fornecidas pelos serviços da AWS usados pela sua workload. 
+  Usar apenas métricas técnicas na workload e não monitorar nenhuma métrica relacionada a KPIs não técnicos para os quais a workload contribui. 
+  Depender do tráfego de produção e de verificações de integridade simples para monitorar e avaliar o estado da workload. 

 **Benefícios do estabelecimento dessa prática recomendada:** O monitoramento em todos os níveis da workload permite prever e resolver problemas mais rapidamente nos componentes que a compõem. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Alto 

## Orientações para a implementação
<a name="implementation-guidance"></a>

1.  **Habilite o registro em log quando disponível.** Os dados de monitoramento devem ser obtidos de todos os componentes das workloads. Ative o registro em log adicional, como os logs de acesso do S3, e habilite sua workload para registrar dados específicos da workload. Colete métricas para médias de CPU, E/S de rede e E/S de disco de serviços como o Amazon ECS, o Amazon EKS, o Amazon EC2, o Elastic Load Balancing, o AWS Auto Scaling e o Amazon EMR. Perceber [Serviços da AWS que publicam métricas do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) para uma lista dos serviços da AWS que publicam métricas do CloudWatch. 

1.  **Revise todas as métricas padrão e explore quaisquer lacunas na coleta de dados.** Cada serviço gera métricas padrão. A coleta de métricas padrão permite que você entenda melhor as dependências entre os componentes da workload e como a confiabilidade e a performance destes componentes a afetam. Você também pode criar e [publicar suas próprias métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) para CloudWatch usando o AWS CLI ou uma API. Isso 

1.  **Avalie todas as métricas para decidir quais alertar para cada serviço da AWS na sua workload.** Você pode escolher selecionar um subconjunto de métricas que tenha um grande impacto na confiabilidade da workload. Focar em métricas e limites críticos permite refinar o número de alertas [de emergência](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) e pode ajudar a minimizar falso-positivos. 

1.  **Defina alertas e o processo de recuperação para a workload depois que o alerta for acionado.** A definição de alertas permite que você notifique, escalone e siga rapidamente as etapas necessárias para se recuperar de um incidente e atender ao seu objetivo de tempo de recuperação (RTO) prescrito. Você pode usar o [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 fluxos de trabalho automatizados e iniciar procedimentos de recuperação com base em limites definidos. 

1.  **Explore o uso de transações sintéticas para coletar dados relevantes sobre o estado das workloads.** O monitoramento sintético segue as mesmas rotas e realiza as mesmas ações que um cliente, possibilitado que você verifique continuamente a experiência do cliente, mesmo quando não há tráfego de clientes nas workloads. Ao usar [transações sintéticas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html), você pode descobrir problemas antes que seus clientes o façam. 

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

 **Práticas recomendadas relacionadas:** 
+ [REL11-BP03 Automatizar a reparação em todas as camadas](rel_withstand_component_failures_auto_healing_system.md)

 **Documentos relacionados:** 
+  [Conceitos básicos do painel do AWS Health: integridade da sua conta](https://docs.aws.amazon.com/health/latest/ug/getting-started-health-dashboard.html) 
+  [Serviços da AWS que publicam métricas do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
+  [Logs de acesso para o Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html) 
+  [Logs de acesso para seu application load balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html) 
+  [Acessar o Amazon CloudWatch Logs para o AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html) 
+  [Registro em log de acesso ao servidor do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html) 
+  [Habilite logs de acesso para o Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html) 
+  [Exportação de dados de log para o Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html) 
+  [Instalação do agente do CloudWatch em uma instância do 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 painéis do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  [Uso de métricas do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
+  [Uso de canários (Amazon CloudWatch Synthetics)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [O que é o Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 

   **Guias do usuário:** 
+  [Criação de uma trilha](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html) 
+  [Monitoramento de métricas de memória e de disco para instâncias do Linux do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 
+  [Uso do CloudWatch Logs com instâncias de contêiner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html) 
+  [Logs de fluxo da VPC](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html) 
+  [O que é o Amazon DevOps Guru?](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  [O que é o AWS X-Ray?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Blogs relacionados:** 
+  [Depuração com o Amazon CloudWatch Synthetics e o AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 

 **Exemplos e workshops relacionados:** 
+  [Laboratórios do AWS Well-Architected: excelência operacional: monitoramento de dependência](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_dependency_monitoring/) 
+  [A Amazon Builders’ Library: instrumentação de sistemas distribuídos para visibilidade operacional](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [Workshop de observabilidade](https://catalog.workshops.aws/observability/en-US) 

# REL06-BP02 Definir e calcular as métricas (agregação)
<a name="rel_monitor_aws_resources_notification_aggregation"></a>

 Armazene os dados de log e aplique filtros quando necessário para calcular métricas, como contagens de um evento de log específico ou latência calculada com base na data e hora dos eventos de log. 

 O Amazon CloudWatch e o Amazon S3 funcionam como camadas primárias de agregação e armazenamento. Para alguns serviços, como o AWS Auto Scaling e o Elastic Load Balancing, métricas padrão são fornecidas para carga de CPU ou latência média de solicitação em um cluster ou uma instância. Para serviços de streaming, como o VPC Flow Logs e o AWS CloudTrail, dados de evento são encaminhados ao CloudWatch Logs, e você precisa definir e aplicar filtros de métricas para extraí-las dos dados do evento. Isso fornece dados de séries temporais, que podem servir como entradas para alarmes do CloudWatch que você define para acionar alertas. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Alto 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Defina e calcule as métricas (agregação). Armazene os dados de log e aplique filtros quando necessário para calcular métricas como contagens de um evento de log específico ou latência calculada com base na data e hora dos eventos de log 
  +  Os filtros de métrica definem os termos e os padrões a serem procurados nos dados de log à medida que são enviados para o CloudWatch Logs. O CloudWatch Logs usa esses filtros para transformar dados de log em métricas numéricas do CloudWatch, que você pode representar graficamente ou para as quais pode definir um alarme. 
    +  [Pesquisa e filtragem de dados de log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) 
  +  Use um terceiro confiável para agregar logs. 
    +  Siga as instruções do terceiro. A maioria dos produtos de terceiros integra-se ao CloudWatch e ao Amazon S3. 
  +  Alguns serviços da AWS podem publicar logs diretamente no Amazon S3. Se seu principal requisito de logs for o armazenamento no Amazon S3, você poderá facilmente fazer com que o serviço que produz os logs os envie diretamente ao Amazon S3 sem configurar uma infraestrutura adicional. 
    +  [Envie logs diretamente ao 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 exemplo do Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) 
+  [Depuração com o Amazon CloudWatch Synthetics e o AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Um workshop de observabilidade](https://observability.workshop.aws/) 
+  [Pesquisa e filtragem de dados de log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) 
+  [Envie logs diretamente ao Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Sending-Logs-Directly-To-S3.html) 
+  [A Amazon Builders’ Library: instrumentação de sistemas distribuídos para visibilidade operacional](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 

# REL06-BP03 Enviar notificações (processamento e emissão de alarmes em tempo real)
<a name="rel_monitor_aws_resources_notification_monitor"></a>

 As organizações que precisam estar a par de tudo, recebem notificações quando ocorrem eventos importantes. 

 Os alertas também podem ser enviados para tópicos do Amazon Simple Notification Service (Amazon SNS) e, em seguida, publicados para qualquer número de assinantes. Por exemplo, o Amazon SNS pode encaminhar alertas a um alias de e-mail para que a equipe técnica possa responder. 

 **Antipadrões comuns:** 
+  Configurar alarmes com um limite muito baixo, fazendo com que muitas notificações sejam enviadas. 
+  Não arquivar alarmes para exploração futura. 

 **Benefícios do estabelecimento dessa prática recomendada:** As notificações sobre eventos (mesmo aqueles que podem ser respondidos e resolvidos automaticamente) permitem que você tenha um registro dos eventos e, possivelmente, resolva-os de maneira diferente no futuro. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Alto 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Realize o processamento e a emissão de alarmes em tempo real. As organizações que precisam estar a par de tudo, recebem notificações quando ocorrem eventos importantes 
  +  Os painéis do Amazon CloudWatch são páginas iniciais personalizáveis no console do CloudWatch, que você pode usar para monitorar os recursos em uma única visualização, mesmo aqueles distribuídos por regiões diferentes. 
    +  [Uso de painéis do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
  +  Crie um alarme quando a métrica ultrapassar um limite. 
    +  [Uso de alarmes do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 

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

 **Documentos relacionados:** 
+  [Um workshop de observabilidade](https://observability.workshop.aws/) 
+  [A Amazon Builders’ Library: instrumentação de sistemas distribuídos para visibilidade operacional](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [Uso de alarmes do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 
+  [Uso de painéis do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  [Uso de métricas do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 

# REL06-BP04 Automatizar respostas (processamento e emissão de alarmes em tempo real)
<a name="rel_monitor_aws_resources_automate_response_monitor"></a>

 use a automação para executar uma ação quando um evento é detectado, por exemplo, para substituir componentes com falha. 

 Alertas podem acionar eventos do AWS Auto Scaling, para que os clusters possam reagir a alterações na demanda. Os alertas podem ser enviados ao Amazon Simple Queue Service (Amazon SQS), que pode servir como um ponto de integração para sistemas de tíquetes de terceiros. O AWS Lambda também pode assinar alertas, fornecendo aos usuários um modelo de tecnologia sem servidor assíncrono que reage a alterações dinamicamente. O AWS Config monitora e registra continuamente as configurações de recursos da AWS e pode acionar o [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) para corrigir problemas. 

 O Amazon DevOps Guru pode monitorar automaticamente recursos de aplicações em busca de comportamento anômalo e entregar recomendações direcionadas para acelerar os tempos de identificação e correção de problemas. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Use o Amazon DevOps Guru para realizar ações automatizadas. O Amazon DevOps Guru pode monitorar automaticamente recursos de aplicações em busca de comportamento anômalo e entregar recomendações direcionadas para acelerar os tempos de identificação e correção de problemas. 
  +  [O que é o Amazon DevOps Guru?](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  Use o AWS Systems Manager para realizar ações automatizadas. O AWS Config monitora e registra continuamente as configurações de recursos da AWS e pode acionar o AWS Systems Manager Automation para corrigir problemas. 
  +  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
    +  Crie e use documentos do Systems Manager Automation. Eles definem as ações que o Systems Manager realiza nas suas instâncias gerenciadas e em outros recursos da AWS quando ocorre um processo de automação. 
    +  [Trabalhar com documentos de automação (playbooks)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 
+  O Amazon CloudWatch envia eventos de mudança de estado de alarme para o Amazon EventBridge. Crie regras do EventBridge para automatizar respostas. 
  +  [Criar uma regra do EventBridge que seja acionada em um evento de um recurso da AWS](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) 
+  Crie e execute um plano para automatizar respostas. 
  +  Faça o inventário de todos os seus procedimentos de resposta de alerta. Você deve planejar suas respostas de alerta antes de classificar as tarefas. 
  +  Faça o inventário de todas as tarefas com ações específicas que devem ser executadas. A maioria dessas ações está documentada nos runbooks. Você também deve ter playbooks para alertas de eventos inesperados. 
  +  Examine os runbooks e os playbooks de todas as ações automatizáveis. Em geral, se for possível definir uma ação, ela provavelmente poderá ser automatizada. 
  +  Classifique primeiro as atividades demoradas ou propensas a erros. É mais vantajoso remover as fontes de erros e reduzir o tempo de resolução. 
  +  Estabeleça um plano para concluir a automação. Mantenha um plano ativo para automatizar e atualizar a automação. 
  +  Examine os requisitos manuais para criar oportunidades de automação. Desafie seu processo manual para criar oportunidades de automatização. 

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

 **Documentos relacionados:** 
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
+  [Criar uma regra do EventBridge que seja acionada em um evento de um recurso da AWS](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) 
+  [Um workshop de observabilidade](https://observability.workshop.aws/) 
+  [A Amazon Builders’ Library: instrumentação de sistemas distribuídos para visibilidade operacional](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [O que é o Amazon DevOps Guru?](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  [Trabalhar com documentos de automação (playbooks)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 

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

 colete arquivos de log e históricos de métricas e analise-os para obter tendências mais abrangentes e informações sobre a carga de trabalho. 

 O Amazon CloudWatch Logs oferece suporte a uma [linguagem de consulta simples, mas poderosa](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) que você pode usar para analisar dados de log. O Amazon CloudWatch Logs também oferece suporte a assinaturas que permitem que os dados fluam perfeitamente ao Amazon S3, onde você pode usar o ou o Amazon Athena para consultar esses dados. Ele oferece suporte a consultas em uma grande variedade de formatos. Perceber [Formatos de dados e SerDes compatíveis](https://docs.aws.amazon.com/athena/latest/ug/supported-format.html) no guia do usuário do Amazon Athena para obter mais informações. Para análise de conjuntos enormes de arquivos de log, você pode executar um cluster do Amazon EMR para executar análises em escala de petabytes. 

 Existem várias ferramentas fornecidas por parceiros da AWS e por terceiros que permitem agregação, processamento, armazenamento e estudo analítico. Essas ferramentas incluem New Relic, Splunk, Loggly, Logstash, CloudHealth e Nagios. Porém, a geração fora dos registros do aplicativo e do sistema é única para cada provedor de nuvem e costuma ser única para cada serviço. 

 Uma parte do processo de monitoramento que costuma ser negligenciada é o gerenciamento de dados. Você precisa determinar os requisitos de retenção para monitorar os dados e então aplicar as políticas de ciclo de vida de acordo. O Amazon S3 oferece suporte ao gerenciamento de ciclo de vida no nível do bucket do S3. Esse gerenciamento de ciclo de vida pode ser aplicado de modo diferente a diferentes caminhos no bucket. Mais perto do fim do ciclo de vida, você pode fazer a transição dos dados ao Amazon Glacier para armazenamento de longo prazo e posterior expiração após o fim do período de retenção. A classe de armazenamento S3 Intelligent-Tiering foi projetada para otimizar custos movendo automaticamente dados para o nível de acesso mais econômico, sem impacto na performance ou sobrecarga operacional. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  O CloudWatch Logs Insights permite pesquisar e analisar dinamicamente seus dados de log no Amazon CloudWatch Logs. 
  +  [Análise de dados de log com o CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html) 
  +  [Consultas de exemplo do Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 
+  Use o Amazon CloudWatch Logs para enviar logs para o Amazon S3, onde você pode usar o Amazon Athena para consultar dados. 
  +  [Como analiso meus logs de acesso ao servidor do Amazon S3 usando o Athena?](https://aws.amazon.com/premiumsupport/knowledge-center/analyze-logs-athena/) 
    +  Crie uma política de ciclo de vida do S3 para o bucket de logs de acesso ao seu servidor. Configure a política de ciclo de vida para remover periodicamente os arquivos de log. Esse procedimento reduz a quantidade de dados que o Athena analisa em cada consulta. 
      +  [Como faço para criar uma política de ciclo de vida de um bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html) 

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

 **Documentos relacionados:** 
+  [Consultas de exemplo do Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) 
+  [Análise de dados de log com o CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html) 
+  [Depuração com o Amazon CloudWatch Synthetics e o AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Como faço para criar uma política de ciclo de vida de um bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html) 
+  [Como analiso meus logs de acesso ao servidor do Amazon S3 usando o Athena?](https://aws.amazon.com/premiumsupport/knowledge-center/analyze-logs-athena/) 
+  [Um workshop de observabilidade](https://observability.workshop.aws/) 
+  [A Amazon Builders’ Library: instrumentação de sistemas distribuídos para visibilidade operacional](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 

# REL06-BP06 Realizar revisões regularmente
<a name="rel_monitor_aws_resources_review_monitoring"></a>

 Revise frequentemente a implementação do monitoramento da workload e atualize-a com base em eventos e alterações significativos. 

 O monitoramento eficaz é orientado pelas principais métricas de negócios. Certifique-se de que essas métricas sejam acomodadas em sua carga de trabalho à medida que as prioridades de negócios mudam. 

 Auditar seu monitoramento ajuda a garantir que você saiba quando um aplicativo está atingindo as respectivas metas de disponibilidade. A análise da causa raiz requer a capacidade de descobrir o que aconteceu quando ocorreram falhas. A AWS fornece serviços que permitem acompanhar o estado dos seus serviços durante um incidente: 
+  **Amazon CloudWatch Logs:** você pode armazenar seus logs nesse serviço e inspecionar seu conteúdo. 
+  **Amazon CloudWatch Logs Insights**: é um serviço totalmente gerenciado que permite analisar logs massivos em segundos. Ele oferece consultas e visualizações rápidas e interativas.  
+  **AWS Config:** você pode ver qual infraestrutura da AWS estava em uso em diferentes momentos. 
+  **AWS CloudTrail:** você pode ver quais APIs da AWS foram invocadas, a que horas e por qual entidade principal. 

 Na AWS, realizamos uma reunião semanal para [revisar a performance operacional](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/wa-operational-readiness-reviews.html) e para compartilhar aprendizados entre as equipes. Como há tantas equipes na AWS, criamos [A roda](https://aws.amazon.com/blogs/opensource/the-wheel/) para escolher aleatoriamente uma carga de trabalho para revisão. Estabelecer um ritmo regular para análises de performance operacional e compartilhamento de conhecimento aprimora sua capacidade de obter uma performance superior de suas equipes operacionais. 

 **Antipadrões comuns:** 
+  Coletar apenas as métricas padrão. 
+  Definir uma estratégia de monitoramento e nunca revisá-la. 
+  Não analisar o monitoramento quando alterações importantes são implantadas. 

 **Benefícios do estabelecimento dessa prática recomendada:** A revisão regular do monitoramento permite a antecipação de possíveis problemas, em vez de reagir a notificações quando um problema previsto realmente ocorrer. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Crie vários painéis para a workload. Você deve ter um painel superior com as principais métricas de negócios e as métricas técnicas identificadas como as mais relevantes à integridade projetada da carga de trabalho conforme a variação do uso. Você também deve ter painéis para vários níveis e dependências da aplicação que podem ser inspecionados. 
  +  [Uso de painéis do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  Programe e realize revisões regulares dos painéis da workload. Realize uma inspeção regular dos painéis. Você pode ter graus diferentes de profundidade para a inspeção. 
  +  Inspecione as tendências nas métricas. Compare os valores das métricas com os valores históricos para ver se há tendências que possam indicar algo que precise de investigação. Exemplos disso incluem: aumento da latência, diminuição da função principal de negócios e aumento das respostas a falhas. 
  +  Verifique se há exceções ou anomalias nas suas métricas. As médias ou os valores medianos podem mascarar as exceções e as anomalias. Examine os valores mais altos e mais baixos durante o período e investigue as causas das pontuações extremas. À medida que você continua a eliminar essas causas, a redução da definição de extremo permite melhorar cada vez mais a consistência da performance da workload. 
  +  Procure mudanças bruscas no comportamento. Uma mudança imediata na quantidade ou na direção de uma métrica pode indicar que houve uma alteração na aplicação ou fatores externos aos quais você talvez precise adicionar outras métricas para acompanhar. 

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

 **Documentos relacionados:** 
+  [Consultas de exemplo do Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) 
+  [Depuração com o Amazon CloudWatch Synthetics e o AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Um workshop de observabilidade](https://observability.workshop.aws/) 
+  [A Amazon Builders’ Library: instrumentação de sistemas distribuídos para visibilidade operacional](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [Uso de painéis do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 

# REL06-BP07 Monitorar o rastreamento completo das solicitações por meio do seu sistema
<a name="rel_monitor_aws_resources_end_to_end"></a>

 Use o AWS X-Ray ou ferramentas de terceiros para que os desenvolvedores possam analisar e depurar mais facilmente os sistemas distribuídos para entender a performance das aplicações e dos serviços subjacentes delas. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Monitore o rastreamento completo das solicitações por meio do seu sistema. O AWS X-Ray é um serviço que coleta dados sobre as solicitações atendidas por sua aplicação e fornece ferramentas que você pode usar para visualizar, filtrar e obter insights desses dados para identificar problemas e oportunidades de otimização. Para qualquer solicitação rastreada para a sua aplicação, você pode ver informações detalhadas sobre a solicitação e a resposta e também sobre as chamadas que a aplicação faz para recursos downstream da AWS, microsserviços, bancos de dados e APIs da Web. 
  +  [O que é o AWS X-Ray?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
  +  [Depuração com o Amazon CloudWatch Synthetics e o 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:** 
+  [Depuração com o Amazon CloudWatch Synthetics e o AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Um workshop de observabilidade](https://observability.workshop.aws/) 
+  [A Amazon Builders’ Library: instrumentação de sistemas distribuídos para visibilidade operacional](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [Uso de canários (Amazon CloudWatch Synthetics)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [O que é o AWS X-Ray?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

# REL 7  Como você projeta sua carga de trabalho para se adaptar às mudanças na demanda?
<a name="w2aac19b9b9b7"></a>

Uma carga de trabalho escalável oferece elasticidade para adicionar ou remover recursos automaticamente para que atendam melhor à demanda atual a qualquer momento.

**Topics**
+ [REL07-BP01 Usar a automação ao obter ou escalar recursos](rel_adapt_to_changes_autoscale_adapt.md)
+ [REL07-BP02 Obter recursos após a detecção de danos em uma workload](rel_adapt_to_changes_reactive_adapt_auto.md)
+ [REL07-BP03 Obter recursos após a detecção de que mais recursos são necessários para uma workload](rel_adapt_to_changes_proactive_adapt_auto.md)
+ [REL07-BP04 Fazer o teste de carga da sua workload](rel_adapt_to_changes_load_tested_adapt.md)

# REL07-BP01 Usar a automação ao obter ou escalar recursos
<a name="rel_adapt_to_changes_autoscale_adapt"></a>

 Ao substituir recursos danificados ou escalar sua workload, automatize o processo por meio dos serviços gerenciados pela AWS, como o Amazon S3 e o AWS Auto Scaling. Você também pode usar ferramentas de terceiros e os AWS SDKs para automatizar a escalabilidade. 

 Os serviços gerenciados pela AWS incluem o Amazon S3, o Amazon CloudFront, o AWS Auto Scaling, o AWS Lambda, o Amazon DynamoDB, o AWS Fargate e o Amazon Route 53. 

 O AWS Auto Scaling permite detectar e substituir instâncias danificadas. Ele também permite criar planos de escalabilidade para recursos, incluindo instâncias e frotas Spot do [Amazon EC2](https://aws.amazon.com/ec2/) , tarefas do [Amazon ECS](https://aws.amazon.com/ecs/) tabelas e índices do [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) e réplicas do [Amazon Aurora](https://aws.amazon.com/aurora/) . 

 Ao escalar instâncias do EC2, certifique-se de usar várias zonas de disponibilidade (de preferência, pelo menos três) e adicione ou remova capacidade para manter o equilíbrio entre essas zonas de disponibilidade. Tarefas do ECS ou pods do Kubernetes (ao usar o Amazon Elastic Kubernetes Service) também devem ser distribuídos em várias zonas de disponibilidade. 

 Ao usar o AWS Lambda, as instâncias são escaladas automaticamente. Sempre que uma notificação de evento é recebida para sua função, o AWS Lambda localiza rapidamente a capacidade livre dentro de sua frota de computação e executa seu código até a simultaneidade alocada. Você precisa se certificar de que a simultaneidade necessária esteja configurada no Lambda específico e no seu Service Quotas. 

 O Amazon S3 escala automaticamente para lidar com altas taxas de solicitação. Por exemplo, seu aplicativo pode atingir pelo menos 3.500 solicitações PUT/COPY/POST/DELETE ou 5.500 solicitações GET/HEAD por segundo por prefixo em um bucket. Não há limites para o número de prefixos em um bucket. Você pode aumentar a performance de leitura ou gravação paralelizando as leituras. Por exemplo, se você criar 10 prefixos em um bucket do Amazon S3 para paralelizar leituras, poderá escalar sua performance de leitura para 55 mil solicitações de leitura por segundo. 

 Configure e use o Amazon CloudFront ou uma rede de entrega de conteúdo (CDN) confiável. Uma CDN pode fornecer tempos mais rápidos de resposta ao usuário final e atender às solicitações de conteúdo do cache, reduzindo a necessidade de escalar a workload. 

 **Antipadrões comuns:** 
+  Implementar grupos de Auto Scaling para autorreparação, mas não implementar elasticidade. 
+  Usar a escalabilidade automática para responder a grandes aumentos no tráfego. 
+  Implantar aplicativos altamente com estado, eliminando a opção de elasticidade. 

 **Benefícios do estabelecimento dessa prática recomendada:** A automação elimina a possibilidade de erros manuais na implantação e no descomissionamento de recursos. A automação remove o risco de custos excedentes e de negação de serviço decorrentes da lentidão na resposta às necessidades de implantação ou de descomissionamento. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Alto 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Configure e use o AWS Auto Scaling. Ele monitora seus aplicativos e ajusta automaticamente a capacidade para manter uma performance estável e previsível com o menor custo possível. Ao usar o AWS Auto Scaling, você pode configurar a escalabilidade da aplicação para vários recursos em diversos serviços. 
  +  [O que é o AWS Auto Scaling?](https://docs.aws.amazon.com/autoscaling/plans/userguide/what-is-aws-auto-scaling.html) 
    +  Configure o Auto Scaling nas instâncias do Amazon EC2 e frotas spot, nas tarefas do Amazon ECS, nas tabelas e índices do Amazon DynamoDB, nas réplicas do Amazon Aurora e nos dispositivos do AWS Marketplace, conforme aplicável. 
      +  [Gerenciamento da capacidade de throughput de modo automático com o DynamoDB Auto Scaling](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
        +  Use as operações de API de serviço para especificar alarmes, políticas de escalabilidade e tempos de aquecimento e de resfriamento. 
+  Use o Elastic Load Balancing. Os load balancers podem distribuir a carga por caminho ou por conectividade de rede. 
  +  [O que é o Elastic Load Balancing?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) 
    +  O Application Load Balancers pode distribuir a carga por caminho. 
      +  [O que é um Application Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
        +  Configure um Application Load Balancer para distribuir o tráfego para diferentes workloads com base no caminho sob o nome de domínio. 
        +  É possível usar os Application Load Balancers para distribuir as cargas de maneira integrada ao AWS Auto Scaling para gerenciar a demanda. 
          +  [Uso de um balanceador de carga com um grupo de Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 
    +  Os Network Load Balancers podem distribuir a carga por conexão. 
      +  [O que é um Network Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
        +  Configure um Network Load Balancer para distribuir o tráfego para cargas de trabalho diferentes por meio do TCP ou para ter um conjunto constante de endereços IP para a carga de trabalho. 
        +  É possível usar os Network Load Balancers para distribuir as cargas de maneira integrada ao AWS Auto Scaling para gerenciar a demanda. 
+  Use um provedor DNS altamente disponível. Nomes DNS permitem que os usuários insiram nomes, em vez de endereço IP, para acessar suas workloads e distribuem essas informações a um escopo definido, em geral, globalmente para usuários da workload. 
  +  Use o Amazon Route 53 ou um provedor DNS confiável. 
    +  [O que é o Amazon Route 53?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 
  +  Use o Route 53 para gerenciar as distribuições e os balanceadores de carga do CloudFront. 
    +  Determine os domínios e subdomínios que serão gerenciados. 
    +  Crie conjuntos de registros adequados com os registros ALIAS ou CNAME. 
      +  [Trabalhando com registros](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html) 
+  Use a rede global da AWS para otimizar o caminho dos usuários às aplicações. O AWS Global Accelerator monitora continuamente a integridade dos endpoints da aplicação e redireciona o tráfego para endpoints íntegros em menos de 30 segundos. 
  +  O AWS Global Accelerator é um serviço que melhora a disponibilidade e a performance das aplicações com usuários locais ou globais. Ele fornece endereços IP estáticos que atuam como um ponto de entrada fixo para os endpoints da aplicação em uma ou várias Regiões da AWS, como os Application Load Balancers, os Network Load Balancers ou as instâncias do Amazon EC2. 
    +  [O que é o AWS Global Accelerator?](https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html) 
+  Configure e use o Amazon CloudFront ou uma rede de entrega de conteúdo (CDN) confiável. Uma rede de entrega de conteúdo pode fornecer tempos mais rápidos de resposta ao usuário final e atender às solicitações de conteúdo que podem causar escalabilidade desnecessária das suas workloads. 
  +  [O que é o Amazon CloudFront?](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 
    +  Configure as distribuições do Amazon CloudFront para suas workloads ou use uma CDN de terceiros. 
      +  Você pode limitar o acesso às workloads para que elas sejam acessíveis somente pelo CloudFront usando os intervalos de IPs para o CloudFront nos seus grupos de segurança ou suas políticas de acesso de endpoint. 

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

 **Documentos relacionados:** 
+  [Parceiro da APN: parceiros que podem ajudá-lo a criar soluções de computação automatizadas](https://aws.amazon.com/partners/find/results/?facets=%27Product%20:%20Compute%27) 
+  [AWS Auto Scaling: como funcionam os planos de escalabilidade](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
+  [AWS Marketplace: produtos que podem ser usados com Auto Scaling](https://aws.amazon.com/marketplace/search/results?searchTerms=Auto+Scaling) 
+  [Gerenciamento da capacidade de throughput de modo automático com o DynamoDB Auto Scaling](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
+  [Uso de um balanceador de carga com um grupo de Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 
+  [O que é o AWS Global Accelerator?](https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html) 
+  [O que é o Amazon EC2 Auto Scaling?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 
+  [O que é o AWS Auto Scaling?](https://docs.aws.amazon.com/autoscaling/plans/userguide/what-is-aws-auto-scaling.html) 
+  [O que é o Amazon CloudFront?](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html?ref=wellarchitected) 
+  [O que é o Amazon Route 53?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 
+  [O que é o Elastic Load Balancing?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) 
+  [O que é um Network Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [O que é um Application Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Trabalhando com registros](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html) 

# REL07-BP02 Obter recursos após a detecção de danos em uma workload
<a name="rel_adapt_to_changes_reactive_adapt_auto"></a>

 Escale recursos de modo reativo quando necessário, se a disponibilidade for afetada, para restaurar a disponibilidade da carga de trabalho. 

 Primeiro, você deve configurar as verificações de integridade e os critérios nessas verificações para indicar quando a disponibilidade é afetada pela falta de recursos. Em seguida, notifique o pessoal apropriado para escalar manualmente o recurso ou acione a automação para escalá-lo automaticamente. 

 A escala pode ser ajustada manualmente para sua workload. Por exemplo, é possível alterar o número de instâncias do EC2 em um grupo de Auto Scaling ou modificar o throughput de uma tabela do DynamoDB por meio do Console de gerenciamento da AWS ou do AWS CLI. No entanto, a automação deve ser usada sempre que possível (consulte **Use a automação ao obter ou escalar recursos**). 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Obtenha recursos após a detecção de danos em uma workload. Escale recursos de modo reativo quando necessário, se a disponibilidade for afetada, para restaurar a disponibilidade da carga de trabalho. 
  +  Use planos de escalabilidade, componente principal do AWS Auto Scaling, para configurar um conjunto de instruções para escalar seus recursos. Se você trabalha com o AWS CloudFormation ou adiciona tags aos recursos da AWS, poderá configurar planos de escalabilidade para diferentes conjuntos de recursos por aplicação. O AWS Auto Scaling fornece recomendações para estratégias de escalabilidade personalizadas para cada recurso. Depois que o plano de escalabilidade for criado, o AWS Auto Scaling combinará os métodos de escalabilidade dinâmica e preditiva para oferecer suporte à sua estratégia de escalabilidade. 
    +  [AWS Auto Scaling: como funcionam os planos de escalabilidade](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
  +  O Amazon EC2 Auto Scaling ajuda a garantir que você tenha o número correto de instâncias do Amazon EC2 disponíveis para processar a carga da aplicação. Você cria coleções de instâncias do EC2, chamadas de grupos de Auto Scaling. Você pode especificar o número mínimo de instâncias em cada grupo de Auto Scaling, e o Amazon EC2 Auto Scaling garante que o grupo nunca fique abaixo desse tamanho. Você pode especificar o número mínimo de instâncias em cada grupo de Auto Scaling, e o Amazon EC2 Auto Scaling garante que o grupo nunca fique abaixo desse tamanho. 
    +  [O que é o Amazon EC2 Auto Scaling?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 
  +  A escalabilidade automática do Amazon DynamoDB usa o serviço AWS Application Auto Scaling para ajustar dinamicamente a capacidade de throughput provisionado por você, em resposta aos padrões de tráfego reais. Isso permite que uma tabela ou um índice secundário global aumente sua capacidade provisionada de leitura e gravação para sustentar aumentos repentinos no tráfego, sem controle de utilização. 
    +  [Gerenciamento da capacidade de throughput de modo automático com o DynamoDB Auto Scaling](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 

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

 **Documentos relacionados:** 
+  [Parceiro da APN: parceiros que podem ajudá-lo a criar soluções de computação automatizadas](https://aws.amazon.com/partners/find/results/?facets=%27Product%20:%20Compute%27) 
+  [AWS Auto Scaling: como funcionam os planos de escalabilidade](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
+  [AWS Marketplace: produtos que podem ser usados com Auto Scaling](https://aws.amazon.com/marketplace/search/results?searchTerms=Auto+Scaling) 
+  [Gerenciamento da capacidade de throughput de modo automático com o DynamoDB Auto Scaling](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
+  [O que é o Amazon EC2 Auto Scaling?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 

# REL07-BP03 Obter recursos após a detecção de que mais recursos são necessários para uma workload
<a name="rel_adapt_to_changes_proactive_adapt_auto"></a>

 Escale os recursos proativamente para atender à demanda e evitar impacto na disponibilidade. 

 Muitos serviços da AWS são escalados automaticamente para atender à demanda. Se estiver usando instâncias do Amazon EC2 ou clusters do Amazon ECS, você poderá configurar a escalabilidade automática deles para que ocorra com base nas métricas de uso que correspondam à demanda da workload. Para o Amazon EC2, a utilização média da CPU, a contagem de solicitações do load balancer ou a largura de banda da rede podem ser usadas para expandir (ou reduzir) instâncias do EC2. Para o Amazon ECS, a utilização média da CPU, a contagem de solicitações do balanceador de carga e a utilização da memória podem ser usadas para aumentar (ou reduzir) a escala horizontalmente de tarefas do ECS. Ao usar o Target Auto Scaling na AWS, o Autoscaler atua como um termostato doméstico, adicionando ou removendo recursos para manter o valor pretendido (por exemplo, 70% de utilização da CPU) que você especificar. 

 O AWS Auto Scaling também pode fazer o [Auto Scaling preditivo](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/), que usa machine learning para analisar a carga de trabalho histórica de cada recurso e prevê regularmente a carga futura para os próximos dois dias. 

 A Lei de Little ajuda a calcular quantas instâncias de computação (instâncias do EC2, funções simultâneas do Lambda etc.) são necessárias. 

 *B* = *λW* 

 L = número de instâncias (ou simultaneidade média no sistema) 

 λ = taxa média na qual as solicitações chegam (requisição por segundo) 

 W = tempo médio que cada solicitação gasta no sistema (s) 

 Por exemplo, a 100 rps, se cada solicitação demorar 0,5 segundos para ser processada, você precisará de 50 instâncias para acompanhar a demanda. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Obtenha recursos após a detecção de que mais recursos são necessários para uma workload. Escale os recursos proativamente para atender à demanda e evitar impacto na disponibilidade. 
  +  Calcule quantos recursos de computação serão necessários (simultaneidade de computação) para processar uma determinada taxa de solicitações. 
    +  [Histórias sobre a Lei de Little](https://brooker.co.za/blog/2018/06/20/littles-law.html) 
  +  Quando você tiver um padrão histórico de uso, configure a escalabilidade programada para a escalabilidade automática do Amazon EC2. 
    +  [Escalabilidade programada para o Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html) 
  +  Use a escalabilidade preditiva da AWS. 
    +  [Escalabilidade preditiva para o EC2 com 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: como funcionam os planos de escalabilidade](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
+  [AWS Marketplace: produtos que podem ser usados com Auto Scaling](https://aws.amazon.com/marketplace/search/results?searchTerms=Auto+Scaling) 
+  [Gerenciamento da capacidade de throughput de modo automático com o DynamoDB Auto Scaling](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
+  [Escalabilidade preditiva para o EC2 com Machine Learning](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 
+  [Escalabilidade programada para o Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html) 
+  [Histórias sobre a Lei de Little](https://brooker.co.za/blog/2018/06/20/littles-law.html) 
+  [O que é o Amazon EC2 Auto Scaling?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 

# REL07-BP04 Fazer o teste de carga da sua workload
<a name="rel_adapt_to_changes_load_tested_adapt"></a>

 Adote uma metodologia de teste de carga para avaliar se a ação de escalabilidade atende aos requisitos da carga de trabalho. 

 É importante realizar testes de carga sustentada. Os testes de carga devem descobrir o ponto de interrupção e testar a performance da workload. A AWS facilita a configuração de ambientes de teste temporários que modelam a escala de sua workload de produção. Na nuvem, você pode criar um ambiente de teste em escala de produção sob demanda, concluir seus testes e descomissionar os recursos. Como você paga somente pelo ambiente de teste quando está em execução, é possível simular seu ambiente ativo por uma fração do custo dos testes no local. 

 Os testes de carga em produção também devem ser considerados como parte dos dias de jogos em que o sistema de produção é destacado, durante horas de menor utilização do cliente, com todo o pessoal disponível para interpretar os resultados e resolver os problemas que surgirem. 

 **Antipadrões comuns:** 
+  Executar testes de carga em implantações que não têm a mesma configuração da sua produção. 
+  Executar testes de carga apenas em componentes individuais da carga de trabalho, e não nela toda. 
+  Executar testes de carga com um subconjunto de solicitações, e não com um conjunto representativo de solicitações reais. 
+  Executar testes de carga para um pequeno fator de segurança acima da carga esperada. 

 **Benefícios do estabelecimento dessa prática recomendada:** Você sabe quais componentes em sua arquitetura falham sob carga e pode identificar as métricas que devem ser observadas para indicar que você está se aproximando dessa carga a tempo de resolver o problema, evitando o impacto dessa falha. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Realize testes de carga para identificar qual aspecto da workload indica que é necessário adicionar ou remover capacidade. Os testes de carga devem ter tráfego representativo semelhante ao que você recebe na produção. Aumente a carga enquanto observa as métricas que você preparou para determinar aquelas que indicam quando é necessário adicionar ou remover recursos. 
  +  [Teste de carga distribuída na AWS: simular milhares de usuários conectados](https://aws.amazon.com/solutions/distributed-load-testing-on-aws/) 
    +  Identifique a combinação de solicitações. Você pode ter diversas combinações de solicitações, portanto, deve examinar vários períodos ao identificar a combinação de tráfego. 
    +  Implemente um direcionador de carga. Você pode usar um código personalizado, um código aberto ou um software comercial para implementar um direcionador de carga. 
    +  Faça o teste de carga inicialmente com uma pequena capacidade. Você vê alguns efeitos imediatos ao direcionar a carga para uma capacidade menor, possivelmente tão pequena quanto uma instância ou um contêiner. 
    +  Faça o teste de carga com uma capacidade maior. Os efeitos serão diferentes em uma carga distribuída, portanto, você deve testar o mais próximo possível de um ambiente de produto. 

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

 **Documentos relacionados:** 
+  [Teste de carga distribuída na AWS: simular milhares de usuários conectados](https://aws.amazon.com/solutions/distributed-load-testing-on-aws/) 

# REL 8  Como você implementa uma alteração?
<a name="w2aac19b9b9b9"></a>

As alterações controladas são necessárias para implantar novas funcionalidades e garantir que as cargas de trabalho e o ambiente operacional executem softwares conhecidos e possam ser corrigidos ou substituídos de maneira previsível. Se essas alterações forem descontroladas, será difícil prever o efeito ou resolver problemas decorrentes delas. 

**Topics**
+ [REL08-BP01 Usar runbooks para atividades padrão, como implantação](rel_tracking_change_management_planned_changemgmt.md)
+ [REL08-BP02 Integrar testes funcionais como parte da sua implantação](rel_tracking_change_management_functional_testing.md)
+ [REL08-BP03 Integrar testes de resiliência como parte da sua implantação](rel_tracking_change_management_resiliency_testing.md)
+ [REL08-BP04 Implantar usando uma infraestrutura imutável](rel_tracking_change_management_immutable_infrastructure.md)
+ [REL08-BP05 Implantar alterações com automação](rel_tracking_change_management_automated_changemgmt.md)

# REL08-BP01 Usar runbooks para atividades padrão, como implantação
<a name="rel_tracking_change_management_planned_changemgmt"></a>

 Os runbooks são os procedimentos predefinidos para alcançar um resultado específico. Use-os para executar atividades padrão, sejam elas feitas manualmente ou automaticamente. Os exemplos incluem a implantação de uma workload, a aplicação de patches a ela ou a realização de modificações de DNS. 

 Por exemplo, coloque processos em vigor para [garantir a segurança de reversão durante implantações](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments). Garantir que você possa reverter uma implantação sem qualquer interrupção para seus clientes é essencial para tornar um serviço confiável. 

 Para procedimentos de runbooks, comece com um processo manual efetivo válido, implemente-o em código e acione-o para ser executado automaticamente quando adequado. 

 Mesmo para cargas de trabalho sofisticadas altamente automatizadas, os runbooks ainda são úteis para [organizar dias de jogos](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html#GameDays) ou atender a requisitos rigorosos de relatórios e auditoria. 

 Observe que playbooks são usados em resposta a incidentes específicos, e runbooks são usados para alcançar resultados específicos. Muitas vezes, os runbooks são para atividades de rotina, enquanto os playbooks são usados para responder a eventos que não são rotineiras. 

 **Antipadrões comuns:** 
+  Executar alterações não planejadas na configuração em produção. 
+  Ignorar as etapas do seu plano para agilizar a implantação, resultando em falha na implantação. 
+  Fazer alterações sem testar a inversão delas. 

 **Benefícios do estabelecimento desta prática recomendada:** O planejamento eficaz da alteração aumenta sua capacidade de executá-la com êxito, porque você está ciente de todos os sistemas afetados. A validação da alteração em ambientes de teste aumenta sua confiança. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Alto 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Documente os procedimentos em runbooks para permitir respostas consistentes e rápidas a eventos bem conhecidos. 
  +  [AWS Well-Architected Framework: conceitos: runbook](https://wa.aws.amazon.com/wat.concept.runbook.en.html) 
+  Use o princípio de infraestrutura como código para definir sua infraestrutura. Ao usar o AWS CloudFormation (ou um terceiro confiável) para definir a infraestrutura, você poderá usar o software de controle de versão para controlar as versões e acompanhar as alterações. 
  +  Use o AWS CloudFormation (ou um provedor confiável de terceiros) para definir sua infraestrutura. 
    +  [O que é o AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  Use bons princípios de design de software para criar modelos exclusivos e desacoplados. 
    +  Determine as permissões, os modelos e as partes responsáveis pela implementação. 
      + [ Controle de acesso com o AWS Identity and Access Management](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)
    +  Use o controle de origem, como o AWS CodeCommit ou uma ferramenta confiável de terceiros, para controle de versão. 
      +  [O que é o AWS CodeCommit?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

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

 **Documentos relacionados:** 
+  [Parceiro da APN: parceiros que podem ajudá-lo a criar soluções de implantação automatizada](https://aws.amazon.com/partners/find/results/?keyword=devops) 
+  [AWS Marketplace: produtos que podem ser usados para automatizar suas implantações](https://aws.amazon.com/marketplace/search/results?searchTerms=DevOps) 
+  [AWS Well-Architected Framework: conceitos: runbook](https://wa.aws.amazon.com/wat.concept.runbook.en.html) 
+  [O que é o AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [O que é o AWS CodeCommit?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

   **Exemplos relacionados:** 
+  [Automatização de operações com playbooks e runbooks](https://wellarchitectedlabs.com/operational-excellence/200_labs/200_automating_operations_with_playbooks_and_runbooks/) 

# REL08-BP02 Integrar testes funcionais como parte da sua implantação
<a name="rel_tracking_change_management_functional_testing"></a>

 Os testes funcionais são executados como parte da implantação automatizada. Se os critérios de êxito não forem atendidos, o pipeline será interrompido ou revertido. 

 Esses testes são executados em um ambiente de pré-produção, que é preparado antes da produção no pipeline. Idealmente, isso é feito como parte de um pipeline de implantação. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Alto 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Integre testes funcionais como parte da sua implantação. Os testes funcionais são executados como parte da implantação automatizada. Se os critérios de êxito não forem atendidos, o pipeline será interrompido ou revertido. 
  +  Invoque o AWS CodeBuild durante a “ação de teste” dos pipelines de lançamento de software baseados no AWS CodePipeline. Esse recurso permite que você execute facilmente uma variedade de testes no código, como testes de unidade, análises de código estático e testes de integração. 
    +  [O AWS CodePipeline adiciona compatibilidade para testes de unidade e de integração personalizada com o AWS CodeBuild](https://aws.amazon.com/about-aws/whats-new/2017/03/aws-codepipeline-adds-support-for-unit-testing/) 
  +  Use as soluções do AWS Marketplace para executar testes automatizados como parte do pipeline de entrega de software. 
    +  [Automação de teste de software](https://aws.amazon.com/marketplace/solutions/devops/software-test-automation) 

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

 **Documentos relacionados:** 
+  [O AWS CodePipeline adiciona compatibilidade para testes de unidade e de integração personalizada com o AWS CodeBuild](https://aws.amazon.com/about-aws/whats-new/2017/03/aws-codepipeline-adds-support-for-unit-testing/) 
+  [Automação de teste de software](https://aws.amazon.com/marketplace/solutions/devops/software-test-automation) 
+  [O que é o AWS CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 

# REL08-BP03 Integrar testes de resiliência como parte da sua implantação
<a name="rel_tracking_change_management_resiliency_testing"></a>

 Os testes de resiliência (usando os [princípios da engenharia do caos](https://principlesofchaos.org/)) são executados como parte do pipeline de implantação automatizado em um ambiente de pré-produção. 

 Esses testes são preparados e executados no pipeline em um ambiente de pré-produção. Eles também devem ser executados em produção como parte de [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). 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Integre testes de resiliência como parte da sua implantação. Use a engenharia do caos, a disciplina de experimentar em uma workload, para gerar confiança na capacidade da workload de resistir a condições conturbadas na produção. 
  +  Os testes de resiliência injetam falhas ou degradação de recursos para avaliar se a workload responde com a resiliência projetada. 
    +  [Laboratório do Well-Architected: nível 300: testes de resiliência do EC2 RDS e do S3](https://wellarchitectedlabs.com/Reliability/300_Testing_for_Resiliency_of_EC2_RDS_and_S3/README.html) 
  +  Esses testes podem ser executados regularmente em ambientes de pré-produção nos pipelines de implantação automatizados. 
  +  Eles também devem ser executados em produção, como parte dos dias de jogo programados. 
  +  Ao adotar os princípios da engenharia do caos, proponha hipóteses de como a carga de trabalho será executada sob várias condições adversas e, em seguida, teste essas hipóteses por meio dos testes de resiliência. 
    +  [Princípios da engenharia do caos](https://principlesofchaos.org/) 

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

 **Documentos relacionados:** 
+  [Princípios da engenharia do caos](https://principlesofchaos.org/) 
+  [O que é o AWS Fault Injection Simulator?](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html) 

 **Exemplos relacionados:** 
+  [Laboratório do Well-Architected: nível 300: testes de resiliência do EC2 RDS e do S3](https://wellarchitectedlabs.com/Reliability/300_Testing_for_Resiliency_of_EC2_RDS_and_S3/README.html) 

# REL08-BP04 Implantar usando uma infraestrutura imutável
<a name="rel_tracking_change_management_immutable_infrastructure"></a>

 A infraestrutura imutável é um modelo que não requer atualizações, patches de segurança ou alterações de configuração nas workloads de produção. Quando uma alteração é necessária, a arquitetura é criada em uma nova infraestrutura e implantada na produção. 

 A implementação mais comum do paradigma de infraestrutura imutável é o ***servidor imutável***. Isso significa que, se um servidor precisar de uma atualização ou uma correção, novos servidores serão implantados em vez de atualizar os já em uso. Portanto, em vez de fazer login no servidor via SSH e atualizar a versão do software, cada alteração no aplicativo começa com um push de software para o repositório de código, por exemplo, git push. Como as alterações não são permitidas na infraestrutura imutável, você pode ter certeza sobre o estado do sistema implantado. As infraestruturas imutáveis são inerentemente mais consistentes, confiáveis e previsíveis, e simplificam muitos aspectos do desenvolvimento e operações de software. 

 Use uma implantação de canário ou azul/verde ao implantar aplicativos em infraestruturas imutáveis. 

 [https://martinfowler.com/bliki/CanaryRelease.html](https://martinfowler.com/bliki/CanaryRelease.html) é a prática de direcionar um pequeno número de seus clientes para a nova versão, geralmente em execução em uma única instância de serviço (o canário). Em seguida, você examina profundamente todas as alterações de comportamento ou erros gerados. Você poderá remover o tráfego da implantação canário se encontrar problemas críticos e enviar os usuários de volta para a versão anterior. Se a implantação for bem-sucedida, você poderá continuar implantando a uma velocidade desejada enquanto monitora as alterações em busca de erros até a implantação estar concluída. O AWS CodeDeploy pode ser configurado com uma configuração de implantação que permitirá uma implantação canário. 

 [https://martinfowler.com/bliki/BlueGreenDeployment.html](https://martinfowler.com/bliki/BlueGreenDeployment.html) é semelhante à implantação canário, com a diferença que um conjunto completo do aplicativo é implantado em paralelo. Você alterna as implantações entre as duas pilhas (azul e verde). Novamente, é possível enviar o tráfego para a nova versão e voltar para a versão antiga se houver problemas na implantação. Normalmente, todo o tráfego é alternado de uma só vez. No entanto, você também pode usar frações do tráfego para cada versão para aumentar a adoção da nova versão usando os recursos de roteamento de DNS ponderado do Amazon Route 53. O AWS CodeDeploy e o AWS Elastic Beanstalk podem ser definidos com uma configuração de implantação que permitirá uma implantação azul/verde. 

![\[Diagrama mostrando a implantação azul/verde com o AWS Elastic Beanstalk e o Amazon Route 53\]](http://docs.aws.amazon.com/pt_br/wellarchitected/2022-03-31/framework/images/blue-green-deployment.png)


 Benefícios da infraestrutura imutável: 
+  **Redução em desvios de configuração:** ao substituir frequentemente os servidores de uma configuração básica, conhecida e controlada por versão, a infraestrutura é **redefinida** para um estado conhecido, evitando desvios de configuração. 
+  **Implantações simplificadas**: as implantações são simplificadas porque não precisam oferecer suporte a atualizações. As atualizações são apenas novas implantações. 
+  **Implantações atômicas confiáveis:** as implantações são concluídas com êxito ou nada muda. Ele dá mais confiança no processo de implantação. 
+  **Implantações mais seguras com processos rápidos de reversão e recuperação:** as implantações são mais seguras, pois a versão de trabalho anterior não é alterada. Você pode reverter para ele se forem detectados erros. 
+  **Ambientes consistentes de teste e depuração:** como todos os servidores usam a mesma imagem, não há diferenças entre ambientes. Uma compilação é implantada em vários ambientes. Ele também evita ambientes inconsistentes e simplifica o teste e a depuração. 
+  **Maior escalabilidade:** como os servidores usam uma imagem base, são consistentes e podem ser repetidos, a escalabilidade automática é trivial. 
+  **Cadeia de ferramentas simplificada**: a cadeia de ferramentas é simplificada, pois você pode se livrar das ferramentas de gerenciamento de configuração gerenciando atualizações de software de produção. Não há ferramentas ou agentes adicionais instalados nos servidores. As alterações são feitas na imagem base, testadas e implementadas. 
+  **Maior segurança:** ao negar todas as alterações nos servidores, você pode desabilitar o SSH nas instâncias e remover chaves. Isso reduz o vetor de ataque, melhorando a postura de segurança da sua organização. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Faça a implantação com uma infraestrutura imutável. A infraestrutura imutável é um modelo no qual não ocorrem atualizações, patches de segurança ou alterações de configuração *no local* em sistemas de produção. Se for necessária uma alteração, outra versão da arquitetura será criada e implantada na produção. 
  +  [Visão geral de uma implantação azul/verde](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html#welcome-deployment-overview-blue-green) 
  +  [Implantação gradual de aplicativos sem servidor](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/automating-updates-to-serverless-apps.html) 
  +  [Infraestrutura imutável: confiabilidade, consistência e confiança por meio da imutabilidade](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) 
+  [Implantação gradual de aplicativos sem servidor](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/automating-updates-to-serverless-apps.html) 
+  [Infraestrutura imutável: confiabilidade, consistência e confiança por meio da imutabilidade](https://medium.com/@adhorn/immutable-infrastructure-21f6613e7a23) 
+  [Visão geral de uma implantação azul/verde](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html#welcome-deployment-overview-blue-green) 
+  [A Amazon Builders’ Library: garanta a segurança da reversão durante implantações](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 

# REL08-BP05 Implantar alterações com automação
<a name="rel_tracking_change_management_automated_changemgmt"></a>

 As implantações e a aplicação de patches são automatizadas para eliminar o impacto negativo. 

 As alterações nos sistemas de produção são uma das maiores áreas de risco para muitas organizações. Consideramos as implantações um problema de primeira classe a ser resolvido junto com os problemas de negócio que o software aborda. Atualmente, isso significa usar a automação nas operações sempre que for viável, incluindo testar e implantar alterações, adicionar ou remover capacidade e migrar dados. O AWS CodePipeline permite gerenciar as etapas necessárias para liberar a sua carga de trabalho. Isso inclui um estado de implantação usando o AWS CodeDeploy para automatizar a implantação do código do aplicativo em instâncias do Amazon EC2, instâncias on-premises, funções do Lambda sem servidor ou serviços do Amazon ECS. 

**Recomendação**  
 Embora a sabedoria convencional sugira que você mantenha humanos no ciclo para os procedimentos operacionais mais difíceis, sugerimos automatizar esses procedimentos exatamente por isso. 

 **Antipadrões comuns:** 
+  Executar as alterações manualmente. 
+  Ignorar as etapas da sua automação por meio de fluxos de trabalho de emergência. 
+  Não seguir seus planos. 

 **Benefícios do estabelecimento desta prática recomendada:** Ao usar a automação para implantar todas as alterações, você elimina as chances de introduzir erros humanos e permite que sejam feitos testes antes de alterar a produção para garantir que seus planos sejam conduzidos. 

 **Nível de exposição a riscos quando esta prática recomendada não for estabelecida:** Médio 

## Orientações para a implementação
<a name="implementation-guidance"></a>
+  Automatize seu pipeline de implantação. Os pipelines de implantação permitem invocar testes automatizados e detecção de anomalias. Além disso, eles interrompem o pipeline em uma determinada etapa antes da implantação em produção ou revertem automaticamente uma alteração. 
  +  [A Amazon Builders’ Library: garanta a segurança da reversão durante implantações](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 
  +  [A Amazon Builders’ Library: acelere a entrega contínua](https://aws.amazon.com/builders-library/going-faster-with-continuous-delivery/) 
    +  Use o AWS CodePipeline (ou um produto de terceiros confiável) para definir e executar seus pipelines. 
      +  Configure o pipeline para ser iniciado quando uma alteração for confirmada no repositório do seu código. 
        +  [O que é o AWS CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 
      +  Use o Amazon Simple Notification Service (Amazon SNS) e o Amazon Simple Email Service (Amazon SES) para enviar notificações sobre problemas no pipeline ou integrar-se com uma ferramenta de bate-papo da equipe, como o Amazon Chime. 
        +  [O que é o Amazon Simple Notification Service?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 
        +  [O que é o Amazon SES?](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html) 
        +  [O que é o Amazon Chime?](https://docs.aws.amazon.com/chime/latest/ug/what-is-chime.html) 
        +  [Automatize mensagens de chat com webhooks.](https://docs.aws.amazon.com/chime/latest/ug/webhooks.html) 

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

 **Documentos relacionados:** 
+  [Parceiro da APN: parceiros que podem ajudá-lo a criar soluções de implantação automatizada](https://aws.amazon.com/partners/find/results/?keyword=devops) 
+  [AWS Marketplace: produtos que podem ser usados para automatizar suas implantações](https://aws.amazon.com/marketplace/search/results?searchTerms=DevOps) 
+  [Automatize mensagens de chat com webhooks.](https://docs.aws.amazon.com/chime/latest/ug/webhooks.html) 
+  [A Amazon Builders’ Library: garanta a segurança da reversão durante implantações](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 
+  [A Amazon Builders’ Library: acelere a entrega contínua](https://aws.amazon.com/builders-library/going-faster-with-continuous-delivery/) 
+  [O que é o AWS CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 
+  [O que é o 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) 
+  [O que é o Amazon SES?](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html) 
+  [O que é o Amazon Simple Notification Service?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 

 **Vídeos relacionados:** 
+  [Conferência da AWS 2019: CI/CD na AWS](https://youtu.be/tQcF6SqWCoY) 