Integrating Microservices

21
{ Microservices Como integrar?

Transcript of Integrating Microservices

Page 1: Integrating Microservices

{Microservices

Como integrar?

Page 2: Integrating Microservices

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

Aplicações Monolíticas…

Page 4: Integrating Microservices
Page 5: Integrating Microservices

Pros X Contras…

Page 6: Integrating Microservices

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

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

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

Microservices…

Page 10: Integrating Microservices

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
Page 12: Integrating Microservices

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

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
Page 15: Integrating Microservices

Microservices e Bounded Contexts

Page 16: Integrating Microservices

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

Assincronicidade com Mensageria

Page 18: Integrating Microservices

Assincronicidade com Mensageria

Fonte: http://codetunes.com/2014/event-sourcing-on-rails-with-rabbitmq/

Page 19: Integrating Microservices

Livro escrito em 2003 sobre padrões de integração.

Page 20: Integrating Microservices

Quem usa microservices?

Page 21: Integrating Microservices

“If you can’t build a structured monolith, what makes you think microservices are the answer?”

- Simon Brown