Pilares da Well-Architected Framework do Azure
A cloud mudou a forma como as organizações resolvem os seus desafios empresariais e como as aplicações e os sistemas são concebidos. A função de um arquiteto de soluções não se limita a fornecer valor comercial por meio dos requisitos funcionais do aplicativo. Eles também devem garantir que a solução seja projetada de forma escalável, resiliente, eficiente e segura.
A arquitetura de soluções abrange o planeamento, a conceção, a implementação e a melhoria contínua de um sistema de tecnologia. A arquitetura de um sistema tem de equilibrar e alinhar os requisitos comerciais com os recursos técnicos que são necessários para executar esses requisitos. A arquitetura final é um equilíbrio do risco, do custo e da capacidade em todo o sistema e respetivos componentes.
Well-Architected Framework do Azure
A Well-Architected Framework do Azure é um conjunto de princípios orientadores para criar soluções de alta qualidade no Azure. Não há uma abordagem única para projetar uma arquitetura, mas existem alguns conceitos universais que se aplicam independentemente da arquitetura, tecnologia ou provedor de nuvem.
Esses conceitos não são abrangentes, mas focar neles pode ajudá-lo a criar uma base confiável, segura e flexível para seu aplicativo.
A Well-Architected Framework do Azure consiste em cinco pilares:
- Otimização de custos
- Excelência operacional
- Eficiência de desempenho
- Fiabilidade
- Segurança
Otimização de custos
Você deseja projetar seu ambiente de nuvem para que seja econômico para operações e desenvolvimento. Identifique a ineficiência e o desperdício nos gastos com a cloud para garantir que está a gastar dinheiro onde poderá ter maior utilidade.
Excelência operacional
Aproveitando as práticas de desenvolvimento modernas, como DevOps, você pode permitir ciclos de desenvolvimento e implantação mais rápidos. É necessário ter uma boa arquitetura de monitorização aplicada para que possa detetar falhas e problemas antes de acontecerem ou, no mínimo, antes que os seus clientes os notem. A automatização é um aspeto fundamental deste pilar para remover variâncias e erros ao mesmo tempo que aumenta a agilidade operacional.
Eficiência de desempenho
Para uma arquitetura ter bom desempenho e ser dimensionável, deve adequar corretamente a capacidade dos recursos à procura. Tradicionalmente, as arquiteturas de cloud alcançam este equilíbrio através do dimensionamento dinâmico das aplicações com base na atividade na aplicação. Como a procura dos serviços muda, é importante que a sua arquitetura se possa ajustar à procura. Ao projetar sua arquitetura com desempenho e escalabilidade em mente, você fornece uma ótima experiência para seus clientes e, ao mesmo tempo, é econômica.
Fiabilidade
O pior medo de todos os arquitetos é que a arquitetura falhe, sem nenhuma forma de a conseguir recuperar. Um ambiente de cloud bem-sucedido é concebido de forma a prever as falhas a todos os níveis. Uma forma de antecipar falhas é através da criação de um sistema capaz de recuperar de uma falha, dentro do tempo exigido pelos clientes e pelos intervenientes.
Segurança
Os dados são a parte mais importante dos requisitos de espaço técnico da sua organização. Neste pilar, você se concentra em proteger o acesso à sua arquitetura por meio da autenticação e proteger seu aplicativo e dados contra vulnerabilidades de rede. Também deve proteger a integridade dos seus dados através de ferramentas como a encriptação.
Tem de pensar na segurança ao longo de todo o ciclo de vida de uma aplicação, desde a conceção e implementação até à sua execução e operações. A nuvem fornece proteções contra várias ameaças, como intrusão de rede e ataques DDoS. No entanto, ainda tem de incorporar a segurança na sua aplicação, processos e cultura de organização.
Princípios gerais de conceção
Além de cada um destes pilares, existem alguns princípios de conceção consistentes que deve considerar em toda a sua arquitetura.
Habilitar evolução arquitetônica: Nenhuma arquitetura é estática. Permita a evolução da sua arquitetura ao tirar partido de novos serviços, ferramentas e tecnologias quando estão disponíveis.
Use dados para tomar decisões: colete dados, analise-os e use-os para tomar decisões em torno de sua arquitetura. Dos dados de custo ao desempenho, passando pela carga do usuário, o uso de dados pode guiá-lo para fazer as escolhas certas em seu ambiente.
Educar e habilitar: a tecnologia de nuvem evolui rapidamente. Eduque as suas equipas empresariais, de operações e de desenvolvimento para ajudá-las a tomar as decisões certas e criar soluções para resolver problemas empresariais. Documente e partilhe as configurações, as decisões e as melhores práticas na sua organização.
Automatizar: A automação de atividades manuais reduz os custos operacionais, minimiza os erros introduzidos pelas etapas manuais e fornece consistência entre os ambientes.
Responsabilidade partilhada
Migrar para a cloud apresenta um modelo de responsabilidade partilhada. Neste modelo, o seu fornecedor de cloud gere determinados aspetos da sua aplicação, deixando-lhe a responsabilidade restante.
Num ambiente no local, é responsável por tudo. À medida que você passa para a infraestrutura como serviço (IaaS) e, em seguida, para a plataforma como serviço (PaaS) e o software como serviço (SaaS), seu provedor de nuvem assume mais essa responsabilidade.
Essa responsabilidade compartilhada desempenha um papel em suas decisões de arquitetura, porque essas decisões podem ter implicações sobre o custo, a segurança e os recursos técnicos e operacionais do seu aplicativo. Ao passar estas responsabilidades para o fornecedor, pode focar-se em acrescentar valor ao seu negócio e afastar-se de atividades que não são uma função comercial principal.
Opções de conceção
Em uma arquitetura ideal, você construiria o ambiente mais seguro, de alto desempenho, altamente disponível e eficiente possível. No entanto, como em tudo, há compensações.
Para criar um ambiente com o nível mais elevado de todos estes pilares, há um custo. Esse custo pode ser em dinheiro, em tempo de entrega ou em agilidade operacional. Cada organização tem prioridades diferentes que afetam as escolhas de design que são feitas em cada pilar. Ao projetar sua arquitetura, você precisa determinar quais compensações são aceitáveis e quais não são.
Ao criar uma arquitetura do Azure, existem várias considerações a ter em mente. Quer que sua arquitetura seja segura, dimensionável, disponível e recuperável. Para tornar isso possível, você tem que tomar decisões com base no custo, nas prioridades organizacionais e no risco.