Guia de Arquitetura do Aplicativo do Azure

Este guia apresenta uma abordagem estruturada para a criação de aplicativos do Azure que são escalonáveis, seguros, resilientes e altamente disponíveis. O guia se baseia nas práticas comprovadas que aprendemos por meio da participação dos clientes.

Introdução

A nuvem está mudando a maneira como os aplicativos são criados e protegidos. Em vez de monolitos, aplicativos são decompostos em serviços descentralizados menores. Esses serviços se comunicam por meio de APIs, ou usando o serviço de mensagens ou eventos assíncronos. Os aplicativos são dimensionadaos horizontalmente, adicionando novas instâncias de acordo com a demanda.

Essas tendências trazem novos desafios. Os estados do aplicativo são distribuídos. As operações são feitas em paralelo e de maneira assíncrona. Os aplicativos devem ser resilientes quando ocorrem falhas. Atores mal-intencionados visam a aplicativos continuamente. As implantações devem ser automatizadas e previsíveis. Monitoramento e telemetria são essenciais para obter informações sobre o sistema. Este guia foi criado para ajudar você a entender melhor essas alterações.

Tradicional fornecido no localNuvem moderna
Monolítico
Projetado para escalabilidade previsível
Banco de dados relacional
Processamento sincronizado
Design para evitar falhas (MTBF)
Grandes atualizações ocasionais
Gerenciamento manual
Servidores floco de neve
Decomposto
Criado para dimensionamento elástico
Persistência poliglota
Processamento assíncrono
Design para falhas (MTTR)
Atualizações pequenas frequentes
Autogerenciamento automatizado
Infraestrutura imutável

Como este guia é estruturado

O Guia de Arquitetura do Aplicativo do Azure é organizado como uma série de etapas de arquitetura e design para implementação. Para cada etapa, há diretrizes de suporte que ajudarão você com o design de arquitetura de seu aplicativo.

Diagrama que mostra a estrutura deste guia, com as seções deste artigo representadas em um diagrama de fluxo.

Estilos de arquitetura

O primeiro ponto de decisão é o mais importante. Que tipo de arquitetura está compilando? Pode ser uma arquitetura de microsserviços, um aplicativo de N camadas mais tradicional ou uma solução de big data. Identificamos vários estilos de arquitetura diferentes. Há benefícios e desafios para cada um.

Saiba mais: Estilos de arquitetura

Opções de tecnologia

Sabendo o tipo de arquitetura que você está criando, agora você pode começar a escolher os principais elementos de tecnologia para a arquitetura. As seguintes opções de tecnologia são críticas:

  • Computação se refere ao modelo de hospedagem dos recursos de computação em que os aplicativos são executados. Para obter mais informações, confira Escolher um serviço de computação.

  • Armazenamentos de dados incluem bancos de dados, mas também o armazenamento das filas de mensagens, caches, logs e tudo que um aplicativo pode manter no armazenamento. Para obter mais informações, confira Escolher um armazenamento de dados.

  • As tecnologias de mensagens permitem a transmissão de mensagens assíncronas entre componentes do sistema. Para obter mais informações, confira Escolher um serviço de mensagens.

Você provavelmente precisará fazer escolhas de tecnologia adicionais ao longo do caminho, mas esses três elementos (computação, dados e mensagens) são fundamentais para a maioria dos aplicativos de nuvem e determinarão muitos aspectos do seu design.

Criar a arquitetura

Depois de escolher o estilo de arquitetura e os principais componentes de tecnologia, você está pronto para lidar com o design específico do seu aplicativo. Cada aplicativo é diferente, mas os seguintes recursos podem ajudá-lo nesse percurso:

Arquiteturas de referência

Dependendo do seu cenário, uma de nossas arquiteturas de referência pode ser um bom ponto de partida. Cada arquitetura de referência inclui as práticas recomendadas, junto com as considerações sobre escalabilidade, disponibilidade, segurança, resiliência e outros aspectos do design. A maioria também inclui uma solução implantável ou uma implementação de referência.

Princípios de design

Identificamos dez princípios de design de alto nível que tornarão seu aplicativo mais escalonável, resiliente e gerenciável. Esses princípios de design se aplicam a qualquer estilo de arquitetura. Durante o processo de design, não se esqueça desses dez princípios de design de alto nível. Para obter mais informações, confira Princípios de design.

Padrões de design

Os padrões de design de software são repetíveis têm eficácia comprovada na solução de problemas específicos. Nosso catálogo de padrões de design de nuvem aborda desafios específicos em sistemas distribuídos. Eles envolvem aspectos como disponibilidade, alta disponibilidade, excelência operacional, resiliência, desempenho e segurança. Você pode encontrar nosso catálogo de padrões de design aqui.

Práticas recomendadas

Nossos artigos de práticas recomendadas abrangem várias considerações de design, incluindo design de API, dimensionamento automático, particionamento de dados, cache e assim por diante. Examine-os e aplique as práticas recomendadas apropriadas para seu aplicativo.

Práticas recomendadas de segurança

Nossas melhores práticas de segurança descrevem como garantir que a confidencialidade, a integridade e a disponibilidade dos seus aplicativos não sejam comprometidas por atores mal-intencionados.

Pilares da qualidade

Um aplicativo em nuvem bem-sucedido se concentrará em cinco pilares de qualidade de software: Otimização de custos, excelência operacional, eficiência de desempenho, confiabilidade e segurança.

Aproveite a Estrutura bem projetada do Microsoft Azure para avaliar sua arquitetura quanto a esses cinco pilares.

Próximas etapas