40
Microservices @andrefaria

Introdução à Microservices

Embed Size (px)

DESCRIPTION

Microservices vem se tornando uma prática cada vez mais utilizada por equipes de desenvolvimento de software. Conheça as motivações e os desafios para se desenvolver com essa abordagem. Saiba mais em http://blog.andrefaria.com

Citation preview

Page 1: Introdução à Microservices

Microservices

@andrefaria

Page 2: Introdução à Microservices
Page 3: Introdução à Microservices

Aplicações Monolíticas

http://martinfowler.com/articles/microservices.html

Page 4: Introdução à Microservices

https://www.youtube.com/watch?v=CriDUYtfrjs

Page 5: Introdução à Microservices

Mas qual é o problema?

Page 6: Introdução à Microservices

desenvolvedores intimidados (medo de mudar)

Page 7: Introdução à Microservices

fazer deploy de tudo para mudar um único componente

Page 8: Introdução à Microservices

aumenta o risco de falha

Page 9: Introdução à Microservices

maior tempo de testes

Page 10: Introdução à Microservices

IDEs e Webservers sobrecarregados

Page 11: Introdução à Microservices

Dificuldades de escalar desenvolvimento (exige muita coordenação)

Page 12: Introdução à Microservices

Requer compromisso de longo prazo com tecnologias

Page 13: Introdução à Microservices

http://martinfowler.com/articles/microservices.html

Page 14: Introdução à Microservices

O que eu ganho com isso?

Page 15: Introdução à Microservices

Desenvolvimento mais simples

Page 16: Introdução à Microservices

Adeus classpath hell!

Page 17: Introdução à Microservices

Build e Deploy mais rápidos

Page 18: Introdução à Microservices

Desenvolvimento escalável com equipes mais autônomas

Page 19: Introdução à Microservices

Mais liberdade para usar tecnologias diferentes

Page 20: Introdução à Microservices

Maior isolamento e menor risco de falha

Page 21: Introdução à Microservices

E os quais os problemas?

Page 22: Introdução à Microservices

Maior complexidade de distribuição e operações

Page 23: Introdução à Microservices

Gestão de múltiplos bancos de dados e transações

Page 24: Introdução à Microservices

Testar sistemas distribuídos

Page 25: Introdução à Microservices

Coordenação de mudanças que afetam vários serviços

Page 26: Introdução à Microservices

A boa notícia é que a comunidade está crescendo e novos projetos e padrões para resolver esses problemas surgem todos os dias.

Page 27: Introdução à Microservices

http://pt.slideshare.net/aca_it/micro-services-40695502=

Page 28: Introdução à Microservices

http://pt.slideshare.net/aca_it/micro-services-40695502=

Page 29: Introdução à Microservices

Service Discovery and Balancing

Page 30: Introdução à Microservices

http://pt.slideshare.net/RuslanMeshenberg/dev309-from-asgard-to-zuul-netflix-ossfinal

Page 31: Introdução à Microservices

Reactive Programming

Page 32: Introdução à Microservices

Web app particionado, qual a URL base?

http://pt.slideshare.net/chris.e.richardson/microservices-decomposing-applications-for-deployability-and-scalability-jax

Page 33: Introdução à Microservices

Como comunicar entre os serviços?

JSON / REST Protocol Buffers Thrift AMQP

Page 34: Introdução à Microservices

http://pt.slideshare.net/chris.e.richardson/microservices-decomposing-applications-for-deployability-and-scalability-jax

Page 35: Introdução à Microservices
Page 36: Introdução à Microservices
Page 37: Introdução à Microservices
Page 38: Introdução à Microservices
Page 39: Introdução à Microservices

http://pt.slideshare.net/xfornesa/microservice-architecture

Page 40: Introdução à Microservices

@andrefariaandrefaria.com

blog.andrefaria.com