Os 5 pilares do AWS Well-Architected Framework
Tags: ptbr, aws, serverless, devops
Published: 2019-05-26 23:33:08

[Créditos da imagem - Eplexity](https://eplexity.com/what-is-the-aws-well-architected-framework)

Criar um sistema de software é muito parecido com a construção de um edifício. Se a fundação não for sólida, os problemas estruturais podem prejudicar a integridade e a função do edifício.

Ao arquitetar soluções de tecnologia no Amazon Web Services (AWS), se você negligenciar os cinco pilares da excelência operacional, segurança, confiabilidade, eficiência de desempenho e otimização de custos, pode se tornar um desafio construir um sistema que atenda às suas expectativas e exigências. Incorporar esses pilares à sua arquitetura ajuda a produzir sistemas estáveis ​​e eficientes. Isso permite que você se concentre nos outros aspectos do design, como requisitos funcionais.

O [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/) ajuda os **Cloud Architects** a construir a infraestrutura mais segura, de alto desempenho, resiliente e eficiente possível para seus aplicativos. Essa estrutura fornece uma abordagem consistente para os clientes e [Parceiros da Rede de Parceiros da AWS](https://aws.amazon.com/partners/) (APN) avaliar arquiteturas e fornece orientação para implementar designs que se adaptem às necessidades de sua aplicação ao longo do tempo.

Neste post, fornecemos uma visão geral dos cinco pilares do **Well-Architected Framework** e exploramos os princípios de design e as melhores práticas. Você pode encontrar mais detalhes, incluindo definições, perguntas frequentes e recursos, no **whitepaper** de cada pilar ao qual linkamos abaixo.

[Ler o whitepaper do Well-Architected Framework >>](https://d1.awsstatic.com/whitepapers/architecture/AWS_Well-Architected_Framework.pdf)

# 1. Excelência Operacional

O pilar de excelência operacional inclui a capacidade de executar e monitorar sistemas para agregar valor aos negócios e melhorar continuamente os processos e procedimentos de suporte. Você pode encontrar uma orientação detalhada sobre a implementação no [whitepaper do Pilar de Excelência Operacional](https://d1.awsstatic.com/whitepapers/architecture/AWS-Operational-Excellence-Pillar.pdf).

## Princípios de design

Existem seis princípios de design para excelência operacional na nuvem:

- Executar operações como código
- Anotar documentação
- Faça alterações pequenas, reversíveis e frequentes
- Refine os procedimentos de operações com frequência
- Antecipe falhas
- Aprenda com todas as falhas operacionais

## Melhores práticas

As equipes de operações precisam entender seus negócios e as necessidades do cliente para que possam dar suporte aos resultados de negócios. **Ops** cria e usa procedimentos para responder a eventos operacionais e valida sua eficácia para dar suporte às necessidades de negócios. **Ops** também coleta métricas que são usadas para medir a realização dos resultados desejados.

Tudo continua mudando - seu contexto de negócios, prioridades de negócios, necessidades do cliente, etc. É importante projetar operações para apoiar a evolução ao longo do tempo em resposta a mudanças e incorporar as lições aprendidas através de seu desempenho.

# 2. Segurança

O pilar de segurança inclui a capacidade de proteger informações, sistemas e ativos, ao mesmo tempo em que agrega valor aos negócios por meio de avaliações de risco e estratégias de mitigação. Você pode encontrar orientação detalhada sobre a implementação no [whitepaper Pilar de Segurança](https://d1.awsstatic.com/whitepapers/architecture/AWS-Security-Pillar.pdf).

## Princípios de design

Existem seis princípios de design para segurança na nuvem:

- Implemente uma forte base de identidade
- Ativar rastreabilidade
- Aplique segurança em todas as camadas
- Automatize as práticas recomendadas de segurança
- Proteja os dados em trânsito e em repouso
- Prepare-se para eventos de segurança

## Melhores práticas

Antes de arquitetar qualquer sistema, você precisa implementar práticas que influenciem a segurança. Você vai querer controlar quem pode fazer o quê. Além disso, você deseja identificar incidentes de segurança, proteger seus sistemas e serviços e manter a confidencialidade e a integridade dos dados por meio da proteção de dados.

Você deve ter um processo bem definido e praticado para responder a incidentes de segurança. Essas ferramentas e técnicas são importantes porque apoiam objetivos como evitar perdas financeiras ou cumprir obrigações regulatórias. O modelo de responsabilidade compartilhada da AWS permite que as organizações atinjam metas de segurança e conformidade. Como a AWS protege fisicamente a infraestrutura que suporta nossos serviços em nuvem, você pode se concentrar no uso de serviços para atingir suas metas.

# 3. Confiabilidade

O pilar da confiabilidade inclui a capacidade de um sistema se recuperar de interrupções de infraestrutura ou serviço, adquirir dinamicamente recursos de computação para atender à demanda e mitigar interrupções, como configurações incorretas ou problemas de rede temporários. Você pode encontrar uma orientação detalhada sobre a implementação no [whitepaper Pilar de Confiabilidade](https://d1.awsstatic.com/whitepapers/architecture/AWS-Reliability-Pillar.pdf).

## Princípios de design

Existem cinco princípios de design para confiabilidade na nuvem:

- Procedimentos de recuperação de teste
- Recuperar automaticamente de falhas
- Escalar horizontalmente para aumentar a disponibilidade do sistema agregado
- Pare de adivinhar capacidade
- Gerenciar mudanças na automação

## Melhores práticas

Para obter confiabilidade, um sistema deve ter uma base e um monitoramento bem planejados, com mecanismos para lidar com mudanças na demanda ou nos requisitos. O sistema deve ser projetado para detectar falhas e se auto-curar automaticamente.

Antes de arquitetar qualquer sistema, os requisitos fundamentais que influenciam a confiabilidade devem estar em vigor. Por exemplo, você deve ter largura de banda de rede suficiente para o seu data center. Esses requisitos são às vezes negligenciados (porque estão além do escopo de um único projeto). Essa negligência pode ter um impacto significativo na capacidade de fornecer um sistema confiável. Em um ambiente **on-premises**, esses requisitos podem causar longos prazos de entrega devido a dependências e, portanto, devem ser incorporados durante o planejamento inicial.

Com a AWS, a maioria desses requisitos fundamentais já está incorporado ou pode ser tratada conforme necessário. A nuvem é projetada para ser essencialmente ilimitada, portanto, é responsabilidade da AWS satisfazer o requisito de capacidade de rede e computação suficientes, enquanto você está livre para alterar o tamanho e a alocação de recursos, como o tamanho dos dispositivos de armazenamento, sob demanda.

# 4. Eficiência de desempenho

O pilar de eficiência de desempenho inclui a capacidade de usar os recursos de computação de maneira eficiente para atender aos requisitos do sistema e manter essa eficiência à medida que as mudanças na demanda e as tecnologias evoluem. Você pode encontrar uma orientação detalhada sobre a implementação no [whitepaper Pilar de Eficiência de Desempenho](https://d1.awsstatic.com/whitepapers/architecture/AWS-Performance-Efficiency-Pillar.pdf).

## Princípios de design

Existem cinco princípios de design para eficiência de desempenho na nuvem:

- Democratize tecnologias avançadas
- Seja global em minutos
- Use arquiteturas serverless
- Experimente com mais frequência
- Simpatia mecânica (*‌Mechanical sympathy*)

## Melhores práticas

Adote uma abordagem orientada à dados para selecionar uma arquitetura de alto desempenho. Reúna dados sobre todos os aspectos da arquitetura, desde o design de alto nível até a seleção e configuração dos tipos de recursos.

Ao analisar suas escolhas de maneira cíclica, você garante que está aproveitando a contínua evolução da nuvem no AWS. O monitoramento garantirá que você esteja ciente de qualquer desvio do desempenho esperado e poderá atuar sobre ele.

Por fim, sua arquitetura pode gerar compensações para melhorar o desempenho, como o uso de compactação ou armazenamento em cache, ou o relaxamento dos requisitos de consistência. 
A solução ideal para um sistema específico varia de acordo com o tipo de carga de trabalho que você tem, geralmente com várias abordagens combinadas. Sistemas bem arquitetados usam várias soluções e permitem diferentes recursos para melhorar o desempenho.

# 5. Otimização de Custos

O pilar de otimização de custos inclui a capacidade de evitar ou eliminar custos desnecessários ou recursos sub-ótimos. Você pode encontrar orientações detalhadas sobre a implementação no [whitepaper Pillar de otimização de custos](https://d1.awsstatic.com/whitepapers/architecture/AWS-Cost-Optimization-Pillar.pdf).

## Princípios de design

Existem cinco princípios de design para otimização de custos na nuvem:

- Adote um modelo de consumo
- Avalie a eficiência global
- Pare de gastar dinheiro em operações do data center
- Analise e atribua despesas
- Use serviços gerenciados para reduzir o custo de propriedade

## Melhores práticas

Tal como acontece com os outros pilares, existem compensações a serem consideradas. Por exemplo, você deseja otimizar a velocidade de comercialização ou o custo? Em alguns casos, é melhor otimizar a velocidade - indo ao mercado rapidamente, enviando novos recursos ou simplesmente cumprindo um prazo - ao invés de investir em otimização de custos inicial.

Às vezes, as decisões de design são guiadas pela pressa, ao contrário dos dados empíricos, já que sempre existe a tentação de compensar "só por precaução", ao invés de investir tempo fazendo uma avaliação comparativa da implantação com o melhor custo-benefício. Isso geralmente leva a implementações drasticamente provisionadas e pouco otimizadas.

Usar as instâncias e recursos apropriados para o seu sistema é fundamental para a redução de custos. Por exemplo, um processo de geração de relatórios pode levar cinco horas para ser executado em um servidor menor, mas uma hora para ser executado em um servidor maior que é duas vezes mais caro. Ambos os servidores fornecem o mesmo resultado, mas o menor terá um custo maior ao longo do tempo. Um sistema bem arquitetado utilizará os recursos com melhor custo-benefício, o que pode ter um impacto econômico significativo e positivo.

# Conclusão

O [Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/) fornece práticas recomendadas de arquitetura nos cinco pilares para projetar e operar sistemas confiáveis, seguros, eficientes e econômicos na nuvem. A estrutura fornece um conjunto de perguntas que permite revisar uma arquitetura existente ou proposta. Ele também fornece um conjunto de práticas recomendadas da AWS para cada pilar.

Usar o framework em sua arquitetura ajuda a produzir sistemas estáveis ​​e eficientes, o que permite que você se concentre em requisitos funcionais.

# Próximos passos

Saiba mais sobre o AWS Well-Architected Framework, fazendo o nosso treinamento individual, que fornece princípios de design específicos aos pilares e exemplos das práticas recomendadas no AWS Well-Architected. O treinamento é gratuito e leva aproximadamente uma hora para ser concluído.

[Cadastre-se e inicie o treinamento >>](https://www.aws.training/learningobject/curriculum?id=12049)

# Créditos ⭐️

- [The 5 Pillars of the AWS Well-Architected Framework](https://aws.amazon.com/blogs/apn/the-5-pillars-of-the-aws-well-architected-framework), originalmente escrito por [Derek Belt](https://twitter.com/derekbelt)