Download - Integrating Microservices
![Page 1: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/1.jpg)
{Microservices
Como integrar?
![Page 2: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/2.jpg)
Agenda
1. Aplicações monolíticas2. Microserviços 3. Microserviços e Bounded Contexts 4. Arquitetura orientada à eventos5. Integrando Serviços6. Quem usa?
![Page 3: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/3.jpg)
Aplicações Monolíticas…
![Page 4: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/4.jpg)
![Page 5: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/5.jpg)
Pros X Contras…
![Page 6: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/6.jpg)
Pros
• Mais fácil de desenvolver (IDE Support)
• Mais fácil de testar os componentes(testes de integração e aceitação)
• Mais fácil de fazer deploy
![Page 7: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/7.jpg)
Contras
• Quanto maior, mais difícil de manter e desenvolver
• Testes de integração podem levar horas
• Qualquer erro pode quebrar toda a plicação no deploy
• Difícil de adicionar nova arquitetura ou framework
![Page 8: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/8.jpg)
Contras
• Quanto maior, mais difícil de manter e desenvolver
• Testes de integração podem levar horas
• Qualquer erro pode quebrar toda a plicação no deploy
• Difícil de adicionar nova arquitetura ou framework
![Page 9: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/9.jpg)
Microservices…
![Page 10: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/10.jpg)
O que são?
Pequenos serviços, cada um executando em seu próprio processo e se comunicando através de mecanismos leves como o HTTP.
![Page 11: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/11.jpg)
![Page 12: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/12.jpg)
Pros• São pequenos sendo fáceis de
entender e dar manutenção• Não deixam a IDE lenta, o que
melhorar a produtividade• Inicializam muito mais rápido
aumentando a velocidade de desenvolvimento
• São mais fáceis de fazer deploy• Se um microserviço quebrar a
aplicação continua rodando• Torna o processo de deploy contínua
muito mais fácil
![Page 13: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/13.jpg)
Contras• Mais difícil de gerenciar todos os
componentes• Complexidade adicional para se
trabalhar com sistemas distribuídos• Casos de uso que transpassam mais
de um serviço são mais dificeis de testar
• Não há suporte de IDE’s• Necessita de uma nível de
automação muito maior e mais confiável
![Page 14: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/14.jpg)
![Page 15: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/15.jpg)
Microservices e Bounded Contexts
![Page 16: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/16.jpg)
Microservices e Bounded Contexts• Cada bounded context possui
uma linguagem ubíquota própria
• O time entende os conceitos de negócio
• Perfeito candidato para microserviço
![Page 17: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/17.jpg)
Assincronicidade com Mensageria
![Page 18: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/18.jpg)
Assincronicidade com Mensageria
Fonte: http://codetunes.com/2014/event-sourcing-on-rails-with-rabbitmq/
![Page 19: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/19.jpg)
Livro escrito em 2003 sobre padrões de integração.
![Page 20: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/20.jpg)
Quem usa microservices?
![Page 21: Integrating Microservices](https://reader036.vdocuments.net/reader036/viewer/2022081420/55b50496bb61eb832e8b457d/html5/thumbnails/21.jpg)
“If you can’t build a structured monolith, what makes you think microservices are the answer?”
- Simon Brown