Fundamentos do arquiteto de soluções
Cada carga de trabalho passa por um processo de design de componente e topologia. Esse processo é mais intenso no início da carga de trabalho, o que inclui o design para os requisitos iniciais e o sucesso a longo prazo da carga de trabalho. A arquitetura também é projetada quando a carga de trabalho muda ao longo do tempo e a organização adiciona, altera ou remove funcionalidade.
O design de componentes e topologias é a função principal de um arquiteto. Os arquitetos que se concentram em soluções híbridas e baseadas na nuvem são frequentemente chamados de arquitetos de soluções em nuvem. Em algumas organizações, os arquitetos de soluções em nuvem existem em uma capacidade centralizada dentro de um grupo de arquitetura corporativa. Eles também podem se concentrar em uma carga de trabalho específica.
Uma função dedicada pode desempenhar a função de um arquiteto. Em alguns casos, especialistas técnicos confiáveis (como um líder de engenharia de carga de trabalho) podem desempenhar a função de arquiteto. Ou uma organização pode distribuir a função entre um pequeno grupo de engenheiros seniores que estão associados à carga de trabalho.
Os arquitetos geralmente têm experiência em funções além do projeto de sistemas. Podem ter:
- Foram desenvolvedores e membros da equipe de operações.
- Trabalhei com equipes de suporte ao cliente.
- Desenvolveu uma compreensão de como um sistema é testado para garantia de qualidade e aceitação do usuário.
- Passou por exercícios de recuperação de desastres ou respostas a incidentes.
- Foi exposto a alterações funcionais incrementais e grandes nas cargas de trabalho.
- Especificações interpretadas e critérios de aceitação do utilizador.
Embora a lista anterior não seja exaustiva, essas perspetivas são um aspeto importante do que um arquiteto traz para as tarefas de projeto. O Azure Well-Architected Framework pressupõe que essas práticas estejam em vigor para o uso mais eficaz da orientação.
As secções seguintes destacam os princípios orientadores que os arquitetos devem seguir para serem eficazes na sua função.
Ter um quadro de tomada de decisão
Um aspeto fundamental do design é usar um processo consistente para tomar decisões. Um arquiteto deve abordar o projeto inicial e incremental com rigor.
Identificar as decisões esperadas. Use as experiências aprendidas para ajudar na identificação de decisões. Registre todas as decisões que você planeja tomar.
Tome decisões informadas. Considere limitações, restrições, compensações, esforço, reversibilidade e risco. Inclua evidências de apoio de provas de conceito, juntamente com documentação e orientação tecnológica.
Documentar decisões num registo de decisões de arquitetura (ADR). Documente a justificação juntamente com cada decisão.
Acompanhamento da implementação. Comunicar e implementar todas as decisões. Aprenda com a implementação para ajudar a orientar decisões futuras. Procure áreas onde uma falha na identificação de decisões introduziu risco.
Conheça os padrões de design na nuvem
Os padrões de design de nuvem são um bloco de construção fundamental da arquitetura. A arquitetura baseada na nuvem e o design de aplicativos geralmente são um exercício de reconhecimento de padrões.
Avalie os requisitos funcionais e não funcionais de uma carga de trabalho para reconhecer padrões. Procure oportunidades para mapear seu design para casos de uso por meio de padrões padronizados.
Seja visionário
Projetar para atingir os requisitos atuais é uma obrigação, mas é importante para um arquiteto prever a evolução da carga de trabalho. Incorporar a mudança em um sistema implementado é mais caro do que alterar o design antes da implementação.
Para projetar um sistema que durará até o fim da vida útil planejado, você deve projetar a carga de trabalho com flexibilidade arquitetônica em mente. Evite projetar penhascos quando puder identificá-los.
Modelo de crescimento. Preveja como o uso da carga de trabalho crescerá ou diminuirá ao longo do tempo.
Alterações de conformidade. Tome medidas proativas se você espera que a carga de trabalho esteja sob os requisitos de conformidade no futuro. Essa abordagem pode reduzir o retrabalho quando seguir a conformidade se torna um requisito.
Expansão regional. Considere a expansão futura da carga de trabalho em várias regiões. Um design limitado a uma única região precisará ser fortemente refatorado para implantação em várias regiões, e isso pode ser uma mudança dispendiosa. Há ainda mais complexidade se o design da carga de trabalho precisar acomodar várias geografias com diferentes requisitos de conformidade. Certifique-se de que seu projeto tenha em conta qualquer previsão razoável sobre a expansão regional.
Roteiros de produtos. No seu design, não inclua componentes que estejam no caminho para a descontinuação. Da mesma forma, tenha cuidado ao incluir recursos em seu design que estão atualmente em um estado de visualização. Eles podem ser liberados, mas também podem ser cancelados. Estar à frente usando recursos de visualização pode ser altamente vantajoso. Logo após o lançamento do recurso, a carga de trabalho é preparada para ir para a produção. Mas inclua recursos de visualização em seu design somente depois de fazer uma análise de risco cuidadosa. Envie apenas recursos que tenham um perfil de risco tolerado.
Para obter mais informações sobre padrões de design de nuvem, consulte:
- Padrões de design na nuvem que suportam fiabilidade
- Padrões de design na nuvem que suportam a segurança
- Padrões de design na nuvem que suportam a otimização de custos
- Padrões de design na nuvem que suportam a excelência operacional
- Padrões de design na nuvem que suportam a eficiência do desempenho
Design para suporte
Projete cargas de trabalho com três perspetivas principais de suporte:
Suporte ao provedor de nuvem. A carga de trabalho deve operar dentro da configuração suportada do seu provedor de nuvem para evitar interrupções quando você estiver acionando os canais de suporte da plataforma.
Visibilidade operacional. O design deve fornecer visibilidade de execução para a equipe de operações de carga de trabalho para evitar confusão durante a resposta a incidentes.
Capacidades de suporte ao cliente. O design deve atender às necessidades do usuário, mas também facilitar as funções de suporte ao cliente. Um design que prejudica a capacidade da equipe de suporte de investigar ou ajudar os clientes é inadequado.
Mantenha e melhore suas habilidades
Os conhecimentos especializados de um arquiteto estão muitas vezes enraizados na experiência prática. É importante investir na expansão do seu conjunto de habilidades para acompanhar a evolução do ecossistema de nuvem.
Educação. Procurar oportunidades de formação e certificação que os fornecedores de tecnologia oferecem aos arquitetos.
Participação da comunidade. Interaja com colegas através de comunidades de arquitetura locais e online.
Exercícios exploratórios. Participe de hackathons patrocinados pela organização ou eventos semelhantes para desenvolver habilidades em áreas desconhecidas.
Colabore para o sucesso
Um arquiteto deve aproveitar a experiência do provedor de nuvem ou parceiro de implementação. A maioria dos provedores deseja que sua carga de trabalho seja bem-sucedida em suas plataformas e, geralmente, fornecem serviços como sessões de revisão de projeto de arquitetura ou sessões de consultoria com seus arquitetos de soluções em nuvem. Busque oportunidades de revisão e assistência dentro de seus relacionamentos com fornecedores.
Seja metódico na sua abordagem de design
As estruturas de arquitetura suportam um arquiteto oferecendo perspetivas de carga de trabalho e abordagens metodológicas. O Well-Architected Framework fornece um ponto de vista abrangente da carga de trabalho. Os arquitetos podem combinar o Well-Architected Framework com outros frameworks de arquitetura, como o The Open Group Architecture Framework (TOGAF).
Use os princípios, listas de verificação, avaliações e materiais de referência em estruturas de arquitetura para estabelecer um processo que se adapte à carga de trabalho. Combine frameworks com técnicas pessoais, como mapeamento mental.
A arquitetura tem tanto a ver com comunicação como com o produto final. Certifique-se de que você está otimizando para a tomada de decisões intencionais, reconhecimento de tradeoff e comunicação clara em seus processos estabelecidos.