Integrating Microservices

Post on 26-Jul-2015

173 views 2 download

Transcript of Integrating Microservices

{Microservices

Como integrar?

Agenda

1. Aplicações monolíticas2. Microserviços 3. Microserviços e Bounded Contexts 4. Arquitetura orientada à eventos5. Integrando Serviços6. Quem usa?

Aplicações Monolíticas…

Pros X Contras…

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

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

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

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.

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

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

Microservices e Bounded Contexts

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

Assincronicidade com Mensageria

Assincronicidade com Mensageria

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

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

Quem usa microservices?

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

- Simon Brown