O framework bem arquitetado fornece recomendações para ajudar arquitetos, desenvolvedores, administradores e outros profissionais de nuvem a projetar e operar uma topologia de nuvem segura, eficiente, resiliente, de alto desempenho e econômica.
Uma equipe multifuncional de especialistas do Google valida as recomendações no Well-Architected Framework. A equipe seleciona o framework bem arquitetado para refletir os recursos de expansão do Google Cloud, as práticas recomendadas do setor, o conhecimento da comunidade e o feedback que você envia. Para ver um resumo das mudanças significativas no framework bem arquitetado, consulte O que há de novo.
O framework Well-Architected é relevante para aplicativos criados para a nuvem e para cargas de trabalho migradas do local para o Google Cloud, implantações de nuvem híbrida e ambientes de várias nuvens.
Pilares e perspectivas do Well-Architected Framework
O framework Well-Architected é organizado em cinco pilares, conforme mostrado no diagrama a seguir. Também oferecemos perspectivas entre pilares que se concentram em recomendações para domínios, setores e tecnologias selecionados, como IA e aprendizado de máquina (ML).
Pilares
- Excelência operacional
- Implemente, opere, monitore e gerencie com eficiência suas cargas de trabalho na nuvem.
- Segurança, privacidade e conformidade
- Maximizar a segurança dos dados e cargas de trabalho na nuvem, projetar para privacidade e alinhar com os padrões e requisitos regulamentares.
- Confiabilidade
- Projete e opere cargas de trabalho resilientes e altamente disponíveis na nuvem.
- Otimização de custos
- Maximize o valor comercial do seu investimento em Google Cloud.
- Otimização de desempenho
- Projete e ajuste os recursos da nuvem para um desempenho ideal.
Perspectivas
- IA e ML
- Uma visão entre pilares de recomendações específicas para cargas de trabalho de IA e ML.
- Setor de serviços financeiros (FSI)
- Uma visualização entre pilares de recomendações específicas para cargas de trabalho de FSI.
Princípios básicos
Antes de conferir as recomendações em cada pilar do Well-Architected Framework, revise os seguintes princípios básicos:
Design para mudança
Nenhum sistema é estático. As necessidades dos usuários, os objetivos da equipe que cria o sistema e o próprio sistema estão em constante mudança. Com a necessidade de mudanças em mente, crie um processo de desenvolvimento e produção que permita que as equipes façam pequenas mudanças regularmente e recebam feedback rápido sobre elas. Demonstrar de maneira consistente a capacidade de implantar mudanças ajuda a criar confiança com as partes interessadas, incluindo as equipes responsáveis e os usuários do sistema. O uso das Software Delivery Metrics da DORA pode ajudar sua equipe a monitorar a velocidade, a facilidade e a segurança de fazer mudanças no sistema.
Documentar sua arquitetura
Quando você começa a mover cargas de trabalho para a nuvem ou a criar aplicativos, a falta de documentação sobre o sistema pode ser um grande obstáculo. A documentação é especialmente importante para visualizar corretamente a arquitetura das implantações atuais.
A documentação de qualidade não é alcançada com a produção de uma quantidade específica de documentação, mas com a clareza, a utilidade e a manutenção do conteúdo à medida que o sistema muda.
Uma arquitetura de nuvem bem documentada estabelece uma linguagem e padrões comuns, o que permite que equipes multifuncionais se comuniquem e colaborem de maneira eficaz. A documentação também fornece as informações necessárias para identificar e orientar futuras decisões de design. A documentação precisa ser escrita de acordo com os casos de uso para fornecer contexto às decisões de design.
Com o tempo, suas decisões de design vão evoluir e mudar. O histórico de alterações fornece o contexto que suas equipes precisam para alinhar iniciativas, evitar a duplicação e avaliar as mudanças de desempenho com eficiência ao longo do tempo. Os registros de alterações são especialmente importantes quando você integra um novo arquiteto de nuvem que ainda não está familiarizado com o design, a estratégia ou o histórico atual.
A análise da DORA descobriu um vínculo claro entre a qualidade da documentação e o desempenho organizacional, ou seja, a capacidade da organização de atingir as metas de desempenho e lucratividade.
Simplifique o design e use serviços totalmente gerenciados
Simplicidade é crucial para o design. Se sua arquitetura for muito complexa para entender, será difícil implementar o design e gerenciá-lo ao longo do tempo. Quando possível, use serviços totalmente gerenciados para minimizar os riscos, tempo e esforço associados ao gerenciamento e à manutenção de sistemas de referência.
Se você já estiver executando as cargas de trabalho em produção, teste com serviços gerenciados para ver como eles podem ajudar a reduzir as complexidades operacionais. Se você estiver desenvolvendo novas cargas de trabalho, comece de maneira simples, estabeleça um produto mínimo viável (MVP, na sigla em inglês) e resista ao impulso de trabalhar demais com engenharia. É possível identificar casos de uso excepcionais, iterar e melhorar seus sistemas gradualmente ao longo do tempo.
Dissocie a arquitetura
Uma pesquisa da DORA mostra que a arquitetura é um preditor importante para alcançar a entrega contínua. A dissociação é uma técnica usada para separar os aplicativos e componentes de serviço em componentes menores que podem operar de forma independente. Por exemplo, é possível separar uma pilha de aplicativos monolíticos em componentes de serviço individuais. Em uma arquitetura acoplada com flexibilidade, um aplicativo pode executar as funções de maneira independente, independentemente das várias dependências.
Uma arquitetura desacoplada aumenta a flexibilidade para:
- Aplicar upgrades independentes.
- Aplicar controles de segurança específicos.
- Estabelecer metas de confiabilidade para cada subsistema.
- Monitorar a saúde.
- Controlar os parâmetros de desempenho e custo de forma granular.
É possível iniciar o processo de dissociação no início da fase de design ou incorporar como parte dos upgrades do sistema conforme você escalona.
Usar uma arquitetura sem estado
Uma arquitetura sem estado pode aumentar a confiabilidade e a escalonabilidade dos aplicativos.
Os aplicativos com estado dependem de várias dependências para executar tarefas, como armazenamento em cache local de dados. Os aplicativos com estado geralmente precisam de mecanismos adicionais para capturar o progresso e reiniciar sem problemas. Aplicativos sem estado podem executar tarefas sem dependências locais significativas usando armazenamento compartilhado ou serviços em cache. Uma arquitetura sem estado permite que seus aplicativos sejam escalonados rapidamente com dependências mínimas de inicialização. Os aplicativos são resistentes a reinicializações rígidas, têm menor inatividade e fornecem melhor desempenho para os usuários finais.