• Tópicos
  • O que é a arquitetura de microsserviços?

O que é a arquitetura de microsserviços?

A arquitetura de microsserviços (geralmente chamada de microsserviços) refere-se a um estilo de arquitetura para o desenvolvimento de aplicativos. Os microsserviços permitem que um aplicativo grande seja separado em partes independentes menores, com cada parte tendo sua própria responsabilidade. Para atender a uma única solicitação do usuário, um aplicativo baseado em microsserviços pode chamar muitos microsserviços internos para compor a resposta.

Contêineres são um exemplo de arquitetura de microsserviços bem organizada e permitem que você se concentre no desenvolvimento dos serviços sem se preocupar com as dependências. Os aplicativos nativos da nuvem geralmente são criados como microsserviços usando contêineres.

Saiba como o Google Kubernetes Engine pode ajudar você a criar aplicativos baseados em microsserviços usando contêineres.

Definição da arquitetura de microsserviços

Uma arquitetura de microsserviços é um tipo de arquitetura em que o aplicativo é desenvolvido como uma coleção de serviços. Ela fornece o framework para desenvolver, implantar e manter diagramas e serviços de arquitetura de microsserviços de maneira independente.

Em uma arquitetura de microsserviços, cada microsserviço é um serviço único criado para acomodar um recurso do aplicativo e processar tarefas distintas. Cada microsserviço se comunica com outros serviços por meio de interfaces simples para resolver problemas comerciais.

Quais são os benefícios da arquitetura de microsserviços?

Implantação fácil

É possível testar e implantar os microsserviços de maneira independente. Quanto menor for a unidade a ser implantada, mais fácil será o processo.

Mais opções de tecnologia

Os microsserviços podem ser implementados em linguagens e frameworks diferentes. Você tem a liberdade de escolher a melhor tecnologia para seu caso de uso específico em cada padrão de arquitetura de microsserviços.

Maior flexibilidade para equipes

Os microsserviços podem ser gerenciados de forma independente por equipes diferentes. O escalonamento entre cada exemplo de arquitetura de microsserviços facilita o comprometimento de uma equipe com um ou vários microsserviços.

Design resistente a falhas

Os microsserviços permitem um design mais fácil para aumentar a confiabilidade. Como há limites claros entre os serviços, é mais fácil responder se um serviço estiver inativo.

Ciclos de desenvolvimento mais rápidos

Os microsserviços aceleram o ciclo de desenvolvimento para que os desenvolvedores não esperem mais ciclos de implantação monolíticos para enviar ou atualizar um recurso.

Você precisa de uma arquitetura de microsserviços?

Uma arquitetura de microsserviços permite acelerar implantações, aumentar a flexibilidade e inovar rapidamente conforme a organização se adapta às mudanças nas condições do mercado.  

Os microsserviços são uma maneira cada vez mais conhecida de criar aplicativos na nuvem e naturalmente adequados para ambientes de desenvolvimento de contêineres. Execute microsserviços em uma plataforma como o Google Kubernetes Engine para gerenciar, hospedar, escalonar e implantar contêineres.

Para facilitar a criação de um aplicativo baseado em microsserviços, os desenvolvedores podem usar qualquer um dos vários padrões de arquitetura de microsserviços. Existem muitos diagramas disponíveis on-line que ilustram esses padrões. 

Se a modernização ou simplificação dos tipos de aplicativos listados abaixo for uma prioridade comercial, sua organização poderá ser uma boa candidata para uma arquitetura de microsserviços criada em um ambiente de contêiner.

  • Aplicativos comerciais independentes que estão sendo reutilizados em ambientes diversos 
  • Aplicativos legados que precisam ser reescritos em linguagens de programação modernas  
  • Aplicativos ágeis que exigem inovação e entrega aceleradas 
  • Aplicativos monolíticos que exigem escalonabilidade e flexibilidade 

Para que a arquitetura de microsserviços é usada?

Normalmente, os microsserviços são usados para acelerar o desenvolvimento de aplicativos. Arquiteturas de microsserviços criadas usando Java são comuns, especialmente as do Spring Boot. Também é comum comparar microsserviços com a arquitetura orientada a serviços. Ambos têm o mesmo objetivo, que é dividir aplicativos monolíticos em componentes menores, mas usam abordagens diferentes. Veja alguns exemplos de arquitetura de microsserviços:

Migração de sites

É possível migrar um site complexo hospedado em uma plataforma monolítica para uma plataforma de microsserviços baseada em nuvem e em contêiner.

Conteúdo de mídia

Usando a arquitetura de microsserviços, os recursos de imagem e vídeo podem ser armazenados em um sistema de armazenamento de objetos escalonável e exibidos diretamente na Web ou em dispositivos móveis.

Transações e faturas

O processamento e a ordem de pagamentos podem ser separados como unidades de serviço independentes. Dessa forma, os pagamentos continuarão sendo aceitos se o faturamento não estiver funcionando.

Processamento de dados

Uma plataforma de microsserviços pode estender o suporte à nuvem para serviços de processamento de dados modulares existentes.

Ao usar o Google Cloud:, é possível implantar facilmente os microsserviços usando o serviço de contêiner gerenciado, Google Kubernetes Engine, ou a oferta totalmente gerenciada sem servidor, Cloud Run.

Dependendo do caso de uso, o Cloud SQL e outros produtos e serviços do Google Cloud podem ser totalmente integrados para dar suporte a arquiteturas de microsserviços.