DEV Community

Cover image for O que são microservices (microsserviços)?
Natália Oliveira
Natália Oliveira

Posted on

O que são microservices (microsserviços)?

Esse texto são anotações breves tiradas do vídeo sobre microsevices do canal TechWorld with Nana. As anotações são sobre os seguintes tópicos:

Arquitetura em monolito

Quando falamos em um monilito em tech estamos nos referindo a uma arquitetura onde o código inteiro de uma aplicação é uma unidade. Aqui, tudo é desenvolvido, deployado e escalado como uma unidade, e uma stack só.

Alguns desafios da arquitetura de monolito:

  • A aplicação se torna complexa demais para entender
  • As partes da aplicação se tornam muito entrelaçadas
  • Só dá para escalar a aplicação inteira, mesmo que só faça sentido escalar uma parte específica
  • Demora no release

Como possível solução desses desafios surgiu a arquitetura de microsserviços (em inglês, microservices).

O que são microsserviços?

Microsserviços são aplicações que seguem uma arquitetura onde uma aplicação é dividida entre serviços menores, independentes, que podem ter stacks diferentes, sendo desenvolvidos, deployados e escalados separadamente.

Para se comunicar entre si, é comum que microsserviços utilizem chamadas de APIs. Outra forma de comunicação é através de message brokers, como o RabbitMQ, onde temos filas no modelo publish/subscribe. Além disso, a comunicação pode ser feita também através de service mesh, que é um serviço que lida com toda a lógica de comunicação entre os microsserviços.

Alguns desafios de microsserviços:

  • Configurar a comunicação entre esses diversos serviços
  • Conseguir monitorar todos os múltiplos serviços entre servidores

Microsserviços, CI/CD, polyrepo e monorepo

Polyrepo é uma estratégia de gerência de código onde criamos vários repositórios, cada um com seu tracking de Git, por exemplo, e com isso acabamos por ter vários pipelines de CI/CD (continuous integration/continous deployment). É muito comum em empresas que seguem a arquitetura em microsserviços.

Por outro lado, a estratégia de monorepo nos faz lidar somente com um CI/CD pipeline, já que teremos várias pastas, com cada serviço, mas sendo trackeadas por um único controle de versão, por exemplo.


Fontes:
Microservices explained - the What, Why and How?, por TechWorld with Nana


Esse texto não tem intenção de esgotar o tema. Acrescente nos comentários, e também aponte erros quando os identificar.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay