Noções básicas da arquitetura de aplicações do Azure

Esta biblioteca de conteúdos apresenta uma abordagem estruturada para conceber aplicações no Azure dimensionáveis, seguras, resilientes e altamente disponíveis. A orientação baseia-se em práticas comprovadas que aprendemos com as cativações dos 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 da aplicação 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 localCloud 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 esta documentação de orientação é estruturada

As orientações básicas da arquitetura de aplicações do Azure estão organizadas como uma série de passos, desde a arquitetura e a conceção até à implementação. Para cada passo, existem orientações de suporte que o ajudarão a estruturar a arquitetura da sua aplicação.

Diagrama que mostra a estrutura deste guia, com as secções deste artigo representadas num diagrama de fluxo.

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 de arquitetura 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.

Princípios de conceção

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 de arquitetura. 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 estrutura

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. Abordam aspetos como a disponibilidade, elevada 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

Uma aplicação na cloud bem-sucedida irá focar-se em cinco pilares de qualidade de software: Fiabilidade, 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.

Passos seguintes