

# AWS Well-Architected Framework
<a name="welcome"></a>

Data de publicação: **10 de abril de 2023** ([Revisões do documento](document-revisions.md))

O AWS Well-Architected Framework ajuda a entender os prós e os contras das decisões que você toma ao criar sistemas na AWS. Ao usar o Framework, você terá acesso a práticas recomendadas de arquitetura para projetar e operar sistemas confiáveis, seguros, eficientes, econômicos e sustentáveis na nuvem.

## Introdução
<a name="introduction"></a>

 O AWS Well-Architected Framework ajuda a entender os prós e os contras das decisões que você toma ao criar sistemas na AWS. O uso do Framework ajuda você a aprender as práticas recomendadas de arquitetura para projetar e operar workloads confiáveis, seguras, eficientes, econômicas e sustentáveis na Nuvem AWS. Ele fornece uma maneira de você avaliar consistentemente suas arquiteturas em relação às práticas recomendadas e identificar áreas de melhoria. O processo para revisar uma arquitetura é uma conversa construtiva sobre decisões de arquitetura e não é um mecanismo de auditoria. Acreditamos que ter sistemas bem projetados aumenta significativamente a probabilidade de sucesso dos negócios. 

 Os arquitetos de soluções da AWS têm vários anos de experiência em arquitetura de soluções em uma ampla variedade de segmentos de negócios verticais e casos de uso. Ajudamos a projetar e analisar as arquiteturas de milhares de clientes na AWS. Por meio dessa experiência, identificamos as práticas recomendadas e principais estratégias para a arquitetura de sistemas na nuvem. 

 O AWS Well-Architected Framework documenta um conjunto de perguntas fundamentais que permitem compreender se uma arquitetura específica se alinha bem às práticas recomendadas da nuvem. Ele fornece uma abordagem consistente para avaliar os sistemas em relação às qualidades que você espera dos sistemas modernos baseados em nuvem e a correção necessária para alcançar essas qualidades. À medida que a AWS evoluir, e continuarmos a aprender mais com o trabalho com nossos clientes, aprimoraremos ainda mais a definição do Well-Architected. 

 Este Framework é destinado a pessoas que ocupam cargos de tecnologia, como diretores de tecnologia (CTOs), arquitetos, desenvolvedores e membros da equipe de operações. Ele descreve as práticas recomendadas e as estratégias da AWS a serem usadas ao projetar e operar uma workload na nuvem, além de fornecer links para detalhes de implementação e padrões de arquitetura adicionais. Para obter mais informações, consulte a [página inicial do AWS Well-Architected](https://aws.amazon.com/architecture/well-architected/?ref=wellarchitected-wp). 

 A AWS também fornece um serviço para analisar suas workloads gratuitamente. A [AWS Well-Architected Tool](https://aws.amazon.com/well-architected-tool/?ref=wellarchitected-wp) (AWS WA Tool) é um serviço na nuvem que fornece um processo consistente para analisar e medir a arquitetura usando o AWS Well-Architected Framework. A AWS WA Tool fornece recomendações para tornar suas workloads mais confiáveis, seguras, eficientes e econômicas. 

 Para ajudar você a aplicar as práticas recomendadas, criamos o [AWS Well-Architected Labs](https://www.wellarchitectedlabs.com/?ref=wellarchitected-wp), que oferece um repositório de código e documentação para que você tenha uma experiência prática na implementação das práticas recomendadas. Também nos juntamos a parceiros selecionados da rede de parceiros da AWS (APN), membros do [programa de parceiros do AWS Well-Architected](https://aws.amazon.com/architecture/well-architected/partners/?ref=wellarchitected-wp). Esses parceiros da AWS têm profundo conhecimento sobre a AWS e podem ajudar você a analisar e melhorar suas workloads. 

# Definições
<a name="definitions"></a>

 Todos os dias, os especialistas da AWS ajudam os clientes a projetar sistemas para aproveitar as práticas recomendadas na nuvem. Trabalhamos com você para oferecer vantagens e desvantagens arquitetônicas à medida que seus projetos evoluem. Conforme você implanta esses sistemas em ambientes dinâmicos, aprendemos como esses sistemas se desempenham e as consequências dessas vantagens e desvantagens. 

 Com base no que aprendemos, criamos o AWS Well-Architected Framework, que fornece um conjunto consistente de práticas recomendadas para os clientes e parceiros avaliarem arquiteturas e um conjunto de perguntas que você pode usar para avaliar o alinhamento de uma arquitetura com as práticas recomendadas da AWS. 

 O AWS Well-Architected Framework é baseado em seis pilares: excelência operacional, segurança, confiabilidade, eficiência de performance, otimização de custos e sustentabilidade. 

 **Tabela 1. Os pilares do AWS Well-Architected Framework** 


|  **Nome**  |  **Descrição**  | 
| --- | --- | 
|  Excelência operacional  |  The ability to support development and run workloads effectively, gain insight into their operations, and to continuously improve supporting processes and procedures to deliver business value.  | 
|  Segurança  | The security pillar describes how to take advantage of cloud technologies to protect data, systems, and assets in a way that can improve your security posture. | 
|  Confiabilidade  |  The reliability pillar encompasses the ability of a workload to perform its intended function correctly and consistently when it’s expected to. This includes the ability to operate and test the workload through its total lifecycle. This paper provides in-depth, best practice guidance for implementing reliable workloads on AWS.  | 
|  Eficiência de performance  |  The ability to use computing resources efficiently to meet system requirements, and to maintain that efficiency as demand changes and technologies evolve.  | 
|  Otimização de custos  |  The ability to run systems to deliver business value at the lowest price point.  | 
|  Sustentabilidade  |  The ability to continually improve sustainability impacts by reducing energy consumption and increasing efficiency across all components of a workload by maximizing the benefits from the provisioned resources and minimizing the total resources required.  | 

 No AWS Well-Architected Framework, usamos estes termos: 
+  Um **componente** é o código, a configuração e os recursos da AWS que juntos atendem a um requisito. Um componente geralmente é a unidade de propriedade técnica e é dissociada de outros componentes. 
+  O termo **workload** é usado para identificar um conjunto de componentes que juntos promovem o valor empresarial. Uma workload é normalmente o nível de detalhes sobre o qual os líderes de negócios e tecnologia se comunicam. 
+  Consideramos a **arquitetura** a forma como os componentes funcionam juntos em uma workload. Como os componentes se comunicam e interagem é, com frequência, o foco dos diagramas de arquitetura. 
+  **Marcos** assinalam as principais alterações em sua arquitetura, à medida que evoluem ao longo do ciclo de vida do produto (projeto, implementação, teste, ativação e produção). 
+  Dentro de uma organização, o **portfólio de tecnologia** é a coleção de workloads necessárias para fazer uma empresa funcionar. 
+ O **nível de esforço** refere-se à categorização da quantidade de tempo, esforço e complexidade que uma tarefa exige para implementação. Cada organização precisa considerar o tamanho e a especialização da equipe, além da complexidade da workload, a fim de ter contexto adicional para categorizar adequadamente o respectivo nível de esforço.
  + **Alto:** o trabalho pode levar várias semanas ou vários meses. Isso poderia ser dividido em vários lançamentos, histórias e tarefas. 
  + **Médio:** o trabalho pode levar vários dias ou várias semanas. Isso poderia ser dividido em vários lançamentos e tarefas.
  + **Baixo:** o trabalho pode levar várias horas ou vários dias. Isso poderia ser dividido em várias tarefas.

 Ao arquitetar workloads, você obtém vantagens e desvantagens entre os pilares com base no contexto da sua empresa. Essas decisões de negócios podem definir suas prioridades de engenharia. Você pode otimizar para melhorar o impacto sobre a sustentabilidade e reduzir os custos à custa da confiabilidade em ambientes de desenvolvimento ou, no caso de soluções essenciais à missão, otimizar a confiabilidade e aumentar os custos e o impacto sobre a sustentabilidade. Em soluções de comércio eletrônico, a performance pode afetar a receita e a propensão do cliente a comprar. Segurança e excelência operacional geralmente não têm vantagens e desvantagens em relação aos outros pilares. 

# Sobre arquitetura
<a name="on-architecture"></a>

 Em ambientes locais, os clientes geralmente têm uma equipe central de arquitetura de tecnologia que atua como uma sobreposição para outras equipes de produtos ou recursos para garantir que estejam seguindo as melhores práticas. As equipes de arquitetura de tecnologia tipicamente incluem um conjunto de funções, como arquiteto técnico (infraestrutura), arquiteto de soluções (software), arquiteto de dados, arquiteto de redes e arquiteto de segurança. Muitas vezes, essas equipes usam o [TOGAF](http://pubs.opengroup.org/architecture/togaf9-doc/arch/?ref=wellarchitected-wp) ou o [Zachman Framework](https://www.zachman.com/about-the-zachman-framework?ref=wellarchitected-wp) como parte de um recurso de arquitetura empresarial. 

 Na AWS, preferimos distribuir os recursos entre equipes, em vez de termos uma equipe centralizada com esses recursos. Existem riscos na escolha de distribuir autoridade para tomada de decisões como, por exemplo, garantir que as equipes atendam aos padrões internos. Atenuamos esses riscos de duas formas. Primeiro, temos *práticas* (formas de fazer as coisas, processos, padrões e normas aceitas) que se concentram em permitir que cada equipe tenha essa capacidade, e colocamos especialistas que garantem que as equipes elevem o nível dos padrões que precisam cumprir. Em segundo lugar, implementamos *mecanismos* que realizam verificações automatizadas para garantir que os padrões sejam atendidos.

****  
 “Boas intenções nunca funcionam, você precisa de bons mecanismos para fazer qualquer coisa acontecer” — Jeff Bezos. 

Isso significa substituir os melhores esforços humanos por mecanismos (muitas vezes automatizados) que examinam a conformidade com base em regras ou processos. Essa abordagem distribuída é apoiada pelos [princípios de liderança da Amazon](https://www.amazon.jobs/en/principles?ref=wellarchitected-wp) e estabelece uma cultura em todas as funções que *funciona retroativamente*, a partir do cliente. Trabalhar de trás para a frente é uma parte fundamental do nosso processo de inovação. Começamos com o cliente e o que ele quer, e deixamos isso definir e orientar nossos esforços. As equipes dedicadas ao cliente criam produtos em resposta a uma necessidade do cliente. 

 Na arquitetura, isso significa que esperamos que todas as equipes tenham a capacidade de criar arquiteturas e seguir as práticas recomendadas. Para ajudar as novas equipes a obter essas capacidades ou as equipes existentes a elevar seus padrões, viabilizamos o acesso a uma comunidade virtual de engenheiros-chefes que podem analisar os projetos e ajudá-las a entender quais são as práticas recomendadas da AWS. A comunidade de engenheiros-chefe trabalha para que as práticas recomendadas sejam visíveis e acessíveis. Uma forma de fazer isso, por exemplo, é por meio de palestras na hora do almoço, focadas na aplicação das melhores práticas a exemplos reais. Essas conversas são gravadas e podem ser usadas como parte dos materiais de integração para novos membros da equipe. 

 As práticas recomendadas da AWS surgem de nossa experiência na execução de milhares de sistemas em escala da internet. Preferimos usar dados para definir as práticas recomendadas, mas também usamos especialistas, como engenheiros-chefes, para defini-las. À medida que os engenheiros-chefes veem surgir novas melhores práticas, eles trabalham como uma comunidade para garantir que elas sejam seguidas pelas equipes. Com o tempo, essas melhores práticas são formalizadas em nossos processos internos de análise, bem como em mecanismos que reforçam a conformidade. O Well-Architected Framework é a implementação voltada para o cliente do nosso processo de análise interna, no qual codificamos nosso pensamento de engenharia principal nas funções de campo, como a arquitetura de soluções e equipes de engenharia internas. O Well-Architected Framework é um mecanismo escalável que permite que você aproveite esses aprendizados. 

 Seguindo a abordagem de uma comunidade de engenheiros-chefes com propriedade distribuída de arquitetura, acreditamos que uma arquitetura corporativa do Well-Architected pode emergir, impulsionada pela necessidade do cliente. Líderes de tecnologia (como CTOs ou gerentes de desenvolvimento), realizando análises do Well-Architected em todas as suas cargas de trabalho, permitirão uma melhor compreensão dos riscos em seu portfólio de tecnologia. Usando essa abordagem, você pode identificar temas entre as equipes que sua organização poderia abordar por mecanismos, treinamentos ou palestras na hora do almoço, em que seus engenheiros principais possam compartilhar seus pensamentos sobre áreas específicas com várias equipes. 

# Princípios gerais do projeto
<a name="general-design-principles"></a>

 O Well-Architected Framework identifica um conjunto de princípios gerais do projeto para facilitar um bom projeto na nuvem: 
+  **Pare de adivinhar suas necessidades de recursos**: se você tomar uma decisão ruim relacionada à capacidade ao implantar uma workload, poderá acabar com recursos ociosos caros ou lidando com as implicações da performance da capacidade limitada. Com a computação em nuvem, esses problemas terminaram. Você pode aumentar ou diminuir a escala da sua capacidade automaticamente, dependendo de sua necessidade. 
+  **Teste sistemas em uma escala 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 on-premises. 
+  **Automatize para simplificar os testes de arquitetura**: a automação permite criar e replicar suas workloads a baixo custo e evitar a despesa do esforço manual. Você pode acompanhar as alterações em sua automação, auditar o impacto e reverter para os parâmetros anteriores quando necessário. 
+  **Permita arquiteturas evolutivas**: em um ambiente tradicional, as decisões de arquitetura são frequentemente implementadas como eventos estáticos e únicos, com algumas versões principais de um sistema durante sua vida útil. À medida que uma empresa e seu contexto continuarem a evoluir, essas decisões iniciais poderão prejudicar a capacidade do sistema de fornecer requisitos de negócios variáveis. Na nuvem, a capacidade de automatizar e testar sob demanda reduz o risco de impacto das alterações no projeto. Isso permite que os sistemas evoluam com o tempo, para que as empresas possam tirar proveito das inovações como prática padrão. 
+  **Direcione as arquiteturas usando dados**: na nuvem, você pode coletar dados sobre como suas escolhas de arquitetura afetam o comportamento da workload. Isso permite que você tome decisões baseadas em fatos sobre como melhorar sua workload. Sua infraestrutura de nuvem é código, portanto, você pode usar esses dados para informar suas escolhas e melhorias na arquitetura ao longo do tempo. 
+  **Faça melhorias por meio de dias de jogo**: teste a performance de sua arquitetura e de seus processos, agendando regularmente dias de jogo para simular eventos em produção. Isso ajudará a compreender onde as melhorias podem ser feitas e pode ajudar a desenvolver experiência organizacional ao lidar com eventos. 