AWS Well-Architected Framework

Olá, pessoal. Tudo bem?

Neste primeiro post, na minha nova casa, gostaria de apresentar à vocês o AWS Well-Architected Framework.

O Well-Architected Framework é um guia composto por uma série de boas práticas definidas por especialistas da AWS, com base na experiência obtida por eles ao auxiliar clientes na construção de arquiteturas seguras, confiáveis e performáticas.

Como ele foi desenhado para ambientes de nuvem, ele aponta alguns princípios de design gerais, que são difíceis ou impossíveis de atingirmos em ambientes tradicionais:

  • Parar de tentar adivinhar a capacidade: Diferentemente de data centers locais, ambientes de nuvem proporcionam ferramentas como o auto-scaling, que permitem que os recursos se ajustem automaticamente à demanda;
  • Teste sistemas em escala de produção: Como em ambientes de nuvem pagamos apenas enquanto estamos utilizando recursos, podemos criar ambientes idênticos ao de produção, efetuar testes e destruir todos os recursos destes ambientes, otimizando custos;
  • Permitir arquitetura evolucionária: A natureza dinâmica de ambientes de nuvem permite que evoluamos a arquitetura rapidamente com o passar do tempo, ajustando tecnologias melhores e mais novas às necessidades do negócio;
  • Direcionar a arquitetura usando dados: Coletar dados do workload possibilita que possamos avaliar as decisões arquiteturais tomadas e evoluir com o passar do tempo;
  • Melhorar em “Dias de jogo (Game days)”: Ambientes de nuvem permitem que simulemos falhas no ambiente de produção para ajudar a detectar e corrigir problemas, identificar melhorias e treinar o time de operações em situações de emergência.

Pilares

pillars

O Well-Architected Framework é separado em 5 pilares principais, cada um definindo um aspecto a ser otimizado da arquitetura:

  • Operational Excelence: Define as melhores práticas para preparar, executar e monitorar workloads, bem como gerir a evolução do mesmo;
  • Security: Define as melhores práticas relacionadas a segurança do seu workload, como gerenciamento de identidade, controle de acessos e criptografia de dados;
  • Reliability: Define as melhores práticas para tornar o seu workload resiliente e confiável, como a aplicação de auto escala para garantir disponibilidade do sistema e atender às alterações de demanda.
  • Performance Efficiency: Define as melhores práticas para garantir a utilização de recursos de forma eficiente, como a seleção apropriada dos mesmos e monitoramento de performance;
  • Cost Optimization: Define as melhores práticas relacionadas à otimização de custos, como a utilização de instâncias reservadas e a eliminação de recursos subutilizados.

Review

O review nada mais é do que uma forma de avaliarmos o quão próximo está o nosso workload, em relação as melhores práticas da AWS. Ele é composto por uma série de perguntas relativas a cada um dos pilares, que tem por objetivo efetuar esta avaliação. Para termos uma ideia, seguem algumas perguntas que aparecem no review:

  • Como você configura sua solução de rede?
  • Como você faz o backup seus dados?
  • Como você testa a resiliência do seu workload?

O processo pode ser feito juntamente com um arquiteto de soluções da AWS, ou colocando a mão na massa, utilizando algumas documentações e/ou ferramentas. Vale salientar que ele não é uma auditoria, bem pelo contrário, é um trabalho conjunto, com o intuito de atingir essa aproximação às melhores práticas. É importante citar que quanto antes a review for aplicada, melhor.

Um ponto interessante é que o processo interno da AWS é feito de maneira similar.

Tool

A própria AWS disponibilizou o AWS Well-Architected Tool que possibilita fazer o review citado acima, diretamente no console.

waf

Primeiramente, basta definirmos o workload e responder as perguntas relacionadas a cada pilar. Não é necessário responder todos de uma vez, e podemos dar prioridade aos pilares que mais impactam no nosso negócio.

Em seguida é possível gerar relatórios, verificar o plano de melhorias sugerido e definir milestones permitindo o acompanhamento da aplicação destas melhorias de forma incremental.

Conclusões

O Well-Architected Framework é uma excelente ferramenta que podemos utilizar para tornar a nossa arquitetura mais robusta. Apesar de ter sido pensado para a AWS, a grande maioria  dos conceitos existentes nele podem ser aplicados a outros provedores de nuvem, como o Microsoft Azure ou o Google Cloud Platform.

Nos próximos posts, irei falar com mais detalhes sobre os 5 pilares que o compõem, para termos uma visão mais abrangente das boas práticas sugeridas.

Para quem quiser saber mais sobre o este excelente framework, basta acessar a documentação clicando aqui.

Um grande abraço a todos, e boa semana.

Postado em AWS