Download - Introdução à Microservices
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