Fundamentos da arquitetura de aplicativos do Azure
Esta biblioteca de conteúdo apresenta uma abordagem estruturada para projetar aplicativos no Azure que são escaláveis, seguros, resilientes e altamente disponíveis. A orientação é baseada em práticas comprovadas que aprendemos com os compromissos com os clientes.
Introdução
A cloud está a mudar a forma como as aplicações são concebidas e protegidas. Em vez de monólitos, as aplicações são decompostas em serviços mais pequenos e descentralizados. Estes serviços comunicam através de APIs ou ao utilizar mensagens ou eventos assíncronos. As aplicações aumentam horizontalmente, ao adicionar novas instâncias conforme pedido.
Estas tendências colocam novos desafios. Os estados do aplicativo são distribuídos. As operações são realizadas em paralelo e no modo assíncrono. As aplicações têm de ser resilientes quando ocorrem falhas. Os atores maliciosos atacam continuamente as aplicações. As implementações têm de ser automatizadas e previsíveis. A monitorização e a telemetria são essenciais para obter informações sobre o sistema. Este guia foi concebido para o ajudar a gerir estas alterações.
Tradicional no local | Cloud moderna |
---|---|
Monolítico Concebido para escalabilidade previsível Base de dados relacional Processamento sincronizado Conceção para evitar falhas (MTBF) Grandes atualizações ocasionais Gestão manual Servidores floco de neve |
Decomposto Concebido para dimensionamento elástico Persistência poliglota (mistura de tecnologias de armazenamento) Processamento assíncrono Estrutura para falha (MTTR) Pequenas atualizações frequentes Gestão própria automatizada Infraestrutura imutável |
Como estão estruturadas estas orientações
A orientação de fundamentos da arquitetura de aplicativos do Azure é organizada em uma série de etapas, desde a arquitetura e o design até a implementação. Para cada etapa, há orientações de suporte que ajudarão você a projetar sua arquitetura de aplicativo.
Estilos de arquitetura
O primeiro ponto de decisão é o mais fundamental. Que tipo de arquitetura está a criar? Poderá ser uma arquitetura de microsserviços, uma aplicação de camada N mais tradicional ou uma solução de macrodados. Identificámos vários estilos arquitetónicos distintos. Existem vantagens e desafios para cada um.
Saiba mais: Estilos de arquitetura
Opções de tecnologia
Quando sabe o tipo de arquitetura que está a criar, pode começar a escolher as principais peças tecnológicas da arquitetura. As seguintes escolhas de tecnologia são fundamentais:
Computação refere-se ao modelo de alojamento dos recursos de computação em que as suas aplicações são executadas. Para obter mais informações, veja Escolher um serviço de computação.
Os arquivos de dados incluem bases de dados, mas também armazenamento para filas de mensagens, caches, registos e qualquer outra coisa que uma aplicação possa manter no armazenamento. Para obter mais informações, veja Escolher um arquivo de dados.
As tecnologias de mensagens permitem mensagens assíncronas entre componentes do sistema. Para obter mais informações, veja Escolher um serviço de mensagens.
Provavelmente, terá de fazer escolhas de tecnologia adicionais ao longo do seu percurso, mas estes três elementos (computação, dados e mensagens) são fulcrais para a maioria das aplicações na cloud e irão determinar muitos aspetos da sua conceção.
Conceber a arquitetura
Depois de escolher o estilo da arquitetura e os principais componentes tecnológicos, estará pronto para tratar da conceção específica da sua aplicação. Cada aplicação é diferente, mas os seguintes recursos podem ajudá-lo neste processo:
Arquiteturas de referência
Dependendo do seu cenário, uma das nossas arquiteturas de referência pode ser um bom ponto de partida. Cada arquitetura de referência inclui práticas recomendadas, juntamente com considerações sobre escalabilidade, disponibilidade, segurança, resiliência e outros aspetos da conceção. A maior parte também inclui uma solução implementával ou uma implementação de referência.
Estruturar princípios
Identificámos 10 princípios de conceção de alto nível que tornarão a sua aplicação mais dimensionável, resiliente e fácil de gerir. Estes princípios de design aplicam-se a qualquer estilo arquitetónico. Ao longo do processo de conceção, tenha estes 10 princípios de conceção de alto nível em mente. Para obter mais informações, veja Princípios de conceção.
Padrões de design
Os padrões de conceção de software são padrões repetíveis que resolvem de forma comprovada problemas específicos. O nosso catálogo de Padrões de conceção da cloud aborda desafios específicos em sistemas distribuídos. Eles abordam aspetos como disponibilidade, alta disponibilidade, excelência operacional, resiliência, desempenho e segurança. Pode encontrar o nosso catálogo de padrões de estrutura aqui.
Melhores práticas
Os nossos artigos de melhores práticas abrangem várias considerações de conceção, incluindo a conceção de APIs, dimensionamento automático, criação de partições de dados, colocação em cache, entre outros. Consulte estes artigos e aplique as melhores práticas adequadas à sua aplicação.
Melhores práticas de segurança
As nossas melhores práticas de segurança descrevem como garantir que a confidencialidade, a integridade e a disponibilidade da sua aplicação não fiquem comprometidas por atores maliciosos.
Pilares de qualidade
Um aplicativo em nuvem bem-sucedido se concentrará em cinco pilares da qualidade de software: confiabilidade, segurança, otimização de custos, excelência operacional e eficiência de desempenho.
Tire partido da Well-Architected Framework do Microsoft Azure para avaliar a sua arquitetura com base nestes cinco pilares.