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.
Top comments (0)