Compartilhar via


Projetar uma arquitetura de microsserviços

Os microsserviços são um estilo de arquitetura popular para criar aplicativos de nuvem que permanecem resilientes, dimensionam com eficiência, são implantados de forma independente e evoluem rapidamente. Para fornecer valor real, os microsserviços exigem uma abordagem diferente para o design e o desenvolvimento de aplicativos.

Este conjunto de artigos explora como criar uma arquitetura de microsserviços no Azure. Ele inclui as seguintes diretrizes:

  • Opções de computação para microsserviços: avalie os serviços de computação do Azure para microsserviços, incluindo o AKS (Serviço de Kubernetes do Azure), os Aplicativos de Contêiner do Azure e o Azure Functions. Saiba quando usar cada serviço com base em seus requisitos de escalabilidade, sobrecarga de gerenciamento e modelos de implantação.

  • Comunicação entre serviços: crie padrões de comunicação eficazes entre microsserviços usando abordagens síncronas e assíncronas. Saiba mais sobre APIs REST, padrões de mensagens, arquiteturas controladas por eventos e tecnologias de malha de serviço para comunicação de serviço a serviço confiável.

  • Design de API: crie APIs bem projetadas que dão suporte a princípios de arquitetura de microsserviços. Aprenda estratégias de controle de versão de API, padrões de tratamento de erros e como criar APIs que promovam o acoplamento flexível e a evolução do serviço independente.

  • Gateways de API: implemente gateways de API para gerenciar questões transversais, como autenticação, limitação de requisições e roteamento de solicitações. Entenda como os gateways simplificam as interações do cliente e fornecem a imposição de política centralizada em seu ecossistema de microsserviços.

  • Considerações de dados: resolva os desafios de gerenciamento de dados em arquiteturas de microsserviços, incluindo padrões de consistência de dados, transações distribuídas e escolha os armazenamentos de dados apropriados. Aprenda estratégias para manter a integridade de dados entre os limites de serviço.

  • Orquestração de contêineres: implante e gerencie microsserviços em contêineres em escala usando orquestradores de contêineres. Entenda como plataformas como o Kubernetes automatizam a implantação, o dimensionamento, o balanceamento de carga e o gerenciamento de integridade para manter o estado desejado do sistema em ambientes de produção.

  • Padrões de Design: Aplique padrões de design comprovados específicos a microsserviços, incluindo o padrão Ambassador para descarregar tarefas de conectividade, o padrão Bulkhead para isolamento de recursos e o padrão Strangler Fig para refatoração incremental de aplicativos.

Pré-requisitos

Antes de ler estes artigos, comece com os seguintes recursos:

Arquitetura de exemplo

Diagrama que mostra a arquitetura de uma carga de trabalho de entrega de drone.

Baixe um arquivo do Visio dessa arquitetura.

Scenario

Fabrikam, Inc. cria um serviço de entrega de drones. A empresa gerencia uma frota de aeronaves de drones. Empresas se registram no serviço e os usuários podem solicitar que um drone colete mercadorias para entrega. Quando um cliente agenda uma retirada, um sistema de back-end atribui um drone e notifica o usuário de um tempo de entrega estimado. Durante a entrega, o cliente pode acompanhar a localização do drone, incluindo um ETA (tempo de chegada) estimado continuamente atualizado.

Esta solução funciona bem para as indústrias aeroespacial e de aeronaves.

Esse cenário envolve um domínio bastante complicado. Algumas preocupações comerciais incluem agendamento de drones, acompanhamento de pacotes, gerenciamento de contas de usuário e armazenamento e análise de dados históricos. A Fabrikam também deseja chegar ao mercado e iterar rapidamente para adicionar novas funcionalidades e capacidades. O aplicativo precisa operar em escala de nuvem com um SLO (objetivo de alto nível de serviço). A Fabrikam também espera que diferentes partes do sistema tenham requisitos muito diferentes para armazenamento e consulta de dados. Com base em considerações, a Fabrikam escolhe uma arquitetura de microsserviços para o aplicativo de entrega de drones.

Observação

Para obter mais informações sobre como escolher entre uma arquitetura de microsserviços e outros estilos de arquitetura, consulte o guia de arquitetura do Aplicativo do Azure.

Essa arquitetura usa o Kubernetes com AKS. Mas muitas das decisões e desafios arquitetônicos de alto nível se aplicam a qualquer orquestrador de contêineres.

Próxima etapa