Você está na página 1de 40

Microservices

@andrefaria
Aplicações Monolíticas

http://martinfowler.com/articles/microservices.html
https://www.youtube.com/watch?v=CriDUYtfrjs
Mas qual é o problema?
desenvolvedores
intimidados
(medo de mudar)
fazer deploy de tudo para mudar
um único componente
aumenta o risco de
falha
maior tempo de
testes
IDEs e Webservers
sobrecarregados
Dificuldades de escalar
desenvolvimento (exige
muita coordenação)
Requer compromisso
de longo prazo com
tecnologias
http://martinfowler.com/articles/microservices.html
O que eu ganho com isso?
Desenvolvimento
mais simples
Adeus classpath hell!
Build e Deploy
mais rápidos
Desenvolvimento
escalável com equipes
mais autônomas
Mais liberdade para usar
tecnologias diferentes
Maior isolamento
e menor risco de
falha
E os quais os
problemas?
Maior complexidade de
distribuição e operações
Gestão de múltiplos
bancos de dados e
transações
Testar sistemas
distribuídos
Coordenação de mudanças
que afetam vários serviços
A boa notícia é que a comunidade está
crescendo e novos projetos e padrões para
resolver esses problemas surgem todos os dias.
http://pt.slideshare.net/aca_it/micro-services-40695502=
http://pt.slideshare.net/aca_it/micro-services-40695502=
Service Discovery and Balancing
http://pt.slideshare.net/RuslanMeshenberg/dev309-from-asgard-to-zuul-netflix-ossfinal
Reactive Programming
Web app particionado, qual a URL base?

http://pt.slideshare.net/chris.e.richardson/microservices-decomposing-applications-for-deployability-and-scalability-jax
Como comunicar entre os serviços?
JSON / REST
Protocol Buffers
Thrift
AMQP
http://pt.slideshare.net/chris.e.richardson/microservices-decomposing-applications-for-deployability-and-scalability-jax
http://pt.slideshare.net/xfornesa/microservice-architecture
blog.andrefaria.com

andrefaria.com @andrefaria

Você também pode gostar