Pilares da estrutura bem arquitetada do Azure
A nuvem mudou a maneira como as organizações resolvem seus desafios empresariais e como os aplicativos e os sistemas são projetados. A função de um arquiteto de soluções não se limita a agregar valor comercial por meio dos requisitos funcionais do aplicativo. Ele também precisa garantir que a solução seja projetada de maneira escalonável, resiliente, eficiente e segura.
A arquitetura da solução está relacionada ao planejamento, ao design, à implementação e ao aprimoramento contínuo de um sistema de tecnologia. A arquitetura de um sistema precisa equilibrar e alinhar os requisitos empresariais com as funcionalidades técnicas necessárias para executar esses requisitos. A arquitetura final é um equilíbrio entre risco, custo e capacidade de todo o sistema e de seus componentes.
Estrutura bem arquitetada do Azure
O Azure Well-Architected Framework é um conjunto de princípios norteadores para a criação de soluções de alta qualidade no Azure. Não há uma abordagem uniformizada para desenvolver uma arquitetura, mas há alguns conceitos universais que são aplicados, independentemente da arquitetura, da tecnologia ou do provedor de nuvem.
Esses conceitos não incluem todos os aspectos, mas focar neles ajuda você a criar uma base confiável, segura e flexível para seu aplicativo.
A estrutura bem arquitetada do Azure consiste em cinco pilares:
- Otimização de custo
- Excelência operacional
- Eficiência do desempenho
- Confiabilidade
- Segurança
Otimização de custo
Você deseja desenvolver o ambiente de nuvem de modo que ele seja econômico para operações e desenvolvimento. Identificar a ineficiência e o desperdício nos gastos com a nuvem garante que o dinheiro seja investido nas áreas em que você possa tirar o maior proveito.
Excelência operacional
Ao aproveitar práticas de desenvolvimento modernas, como DevOps, você pode proporcionar ciclos de desenvolvimento e implantação mais rápidos. Você precisa ter uma boa arquitetura de monitoramento em vigor, de modo a detectar falhas e problemas antes que eles ocorram ou, no mínimo, antes que os clientes percebam. A automação é um aspecto fundamental desse pilar para remover a variância e o erro, aumentando a agilidade operacional.
Eficiência do desempenho
Para que uma arquitetura tenha um bom desempenho e seja escalonável, ela deve correlacionar adequadamente a capacidade dos recursos com a demanda. Normalmente, as arquiteturas de nuvem alcançam esse equilíbrio dimensionando aplicativos de maneira dinâmica com base na atividade do aplicativo. A demanda por serviços muda. Por isso, também é importante que a arquitetura tenha a capacidade de se ajustar à demanda. Ao desenvolver a arquitetura tendo em mente o desempenho e a escalabilidade, você proporciona aos seus clientes uma excelente experiência, com economia.
Confiabilidade
O maior medo dos arquitetos é que a arquitetura falhe sem que haja meios de recuperá-la. Um ambiente de nuvem bem-sucedido é desenvolvido para antecipar a falha em todos os níveis. Parte da prevenção dessas falhas é desenvolver um sistema que possa se recuperar delas dentro do tempo exigido pelos stakeholders e clientes.
Segurança
Os dados são a parte mais importante do volume de memória da sua organização. Nesse pilar, você se concentra em proteger o acesso à sua arquitetura por meio de autenticação e em proteger os aplicativos e os dados contra as vulnerabilidades da rede. Você também deve proteger a integridade dos dados por meio de ferramentas como a criptografia.
Você precisa pensar sobre a segurança em todo o ciclo de vida do aplicativo, do design e da implementação até a implantação e as operações. A nuvem oferece proteções contra várias ameaças, como invasões de rede e ataques de DDoS. Mas você ainda precisa criar segurança no seu aplicativo, nos seus processos e na sua cultura organizacional.
Princípios gerais de design
Além de cada um desses pilares, há alguns princípios de design consistentes que você deve considerar em toda a sua arquitetura.
Viabilize a evolução da arquitetura: Nenhuma arquitetura é estática. Permita a evolução da sua arquitetura aproveitando novos serviços, novas ferramentas e novas tecnologias quando estiverem disponíveis.
Use dados para tomar decisões: Colete dados, analise-os e use-os para tomar decisões relativas à sua arquitetura. De dados de custo, dados de desempenho, até a carga do usuário: o uso de dados pode orientar você a fazer as escolhas corretas em seu ambiente.
Instrua e capacite: A tecnologia de nuvem evolui rapidamente. Instrua suas equipes de desenvolvimento, operações e negócios para ajudá-las a tomar as decisões certas e criar soluções para resolver problemas empresariais. Documente e compartilhe configurações, decisões e melhores práticas em sua organização.
Automatize: A automação de atividades manuais reduz os custos operacionais, minimiza erros introduzidos por etapas manuais e proporciona consistência entre ambientes.
Responsabilidade compartilhada
A migração para a nuvem introduz um modelo de responsabilidade compartilhada. Nesse modelo, o provedor de nuvem gerencia determinados aspectos do aplicativo, deixando você com a responsabilidade restante.
Em um ambiente local, você é responsável por tudo. Conforme você migra para IaaS (infraestrutura como serviço), para PaaS (plataforma como serviço) e para SaaS (software como serviço), o provedor de nuvem assume mais dessa responsabilidade.
Essa responsabilidade compartilhada desempenha uma função importante em suas decisões referentes à arquitetura, pois elas podem ter implicações sobre o custo, a segurança e as funcionalidades técnicas e operacionais do aplicativo. Ao transferir essas responsabilidades para o provedor, você pode se concentrar em agregar valor aos negócios e se afastar de atividades que não são essenciais para a função empresarial.
Escolhas de design
Em uma arquitetura ideal, você criaria o ambiente mais seguro, de mais alto desempenho, mais altamente disponível e mais eficiente possível. No entanto, assim como em tudo, há desvantagens.
Para criar um ambiente com o mais alto nível de todos esses pilares, há um custo. Esse custo pode incidir no dinheiro em si, no tempo de entrega ou na agilidade operacional. Cada organização tem diferentes prioridades que afetam as escolhas de design feitas em cada pilar. Ao projetar sua arquitetura, você precisa determinar quais desvantagens são aceitáveis e quais não são.
Ao criar uma arquitetura do Azure, há muitas considerações a serem feitas. Você deseja que a arquitetura seja segura, escalonável, esteja disponível e possa ser recuperada. Para que isso seja possível, você precisa tomar decisões com base no custo, nas prioridades organizacionais e no risco.