Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da...

73
Microservices em Produção: e agora? Vitor Pellegrino @pellegrino [email protected]

Transcript of Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da...

Page 1: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Microservices em Produção: e agora?

Vitor Pellegrino@pellegrino

[email protected]

Page 2: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

No incio era só um monolito.

Page 3: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 4: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Contratamos 20 novos engenheiros, porque não conseguimos entregar nada?

Page 5: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Primeiros microserviços

Page 6: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Extraímos todos esses Microservices, porque não conseguimos entregar nada?

Page 7: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 8: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

10.000s requisições por segundo

100s de Microservices

Scala, Ruby, Go entre outras

Page 9: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

400+ Pessoas

100s de serviços

Mais de 50% dos funcionários remotos.

~ 1 Milhão de desenvolvedores na plataforma

~ Meio milhão de desenvolvedores ativos

Page 10: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 11: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Lei de Conway (1968)

Organizações <-> Sistemas dessas organizações.

Page 12: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Problemas organizacionais

Page 13: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

?

Page 14: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

?

Page 15: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 16: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem

dono.Vitor Pellegrino, um milhão de vezes.

Page 17: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Como saber quais serviços não tem donos e informações básicas sobre estes sistemas?

Page 18: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

https://martinfowler.com/bliki/HumaneRegistry.html

Page 19: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 20: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 21: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 22: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Diretorio de servicos

Page 23: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Diretório de serviços nos ajuda a identificar fronteiras entre times e sistemas

Page 24: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 25: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 26: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Como conciliar necessidades de negócio com pagar débito técnico?

Page 27: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

O que é bom o suficiente?

Page 28: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Cada um tinha uma ideia diferente

Page 29: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Produto e Engenharia não conseguiam conversar de maneira objetiva.

Page 30: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Modelos de maturidade

Page 31: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 32: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 33: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 34: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Foque no seu contexto, mas não invente um do zero.

Page 35: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

A diferença entre os níveis é muito importante.

Page 36: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Modelos de maturidade nos ajudam a quantificar investimentos em arquitetura

Page 37: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Problemas técnicos

Page 38: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 39: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Arquiteturas modernas de microserviços

Lógica de negócio

Page 40: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Page 41: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 42: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Telemetria

Page 43: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 44: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Rastreamento distribuído

Telemetria

Page 45: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 46: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 47: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Rastreamento distribuído

Telemetria

Tolerância a falhas

Page 48: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Rastreamento distribuído

Telemetria

Transporte

Tolerância a falhas

Page 49: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Lógica de negócio

Logging

Rastreamento distribuído

Tolerância a falhas

Transporte

Lógica de negócio

Logging

Rastreamento distribuído

Tolerância a falhas

Transporte

Lógica de negócio

Logging

Rastreamento distribuído

Tolerância a falhas

Transporte

Lógica de negócio

Logging

Rastreamento distribuído

Tolerância a falhas

Transporte

TelemetriaTelemetria

TelemetriaTelemetria

Page 50: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Como fazer para implementar isso em todos os meus serviços?

Page 51: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Bibliotecas compartilhadas?

Page 52: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 53: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

TL;DR Atualizar 100 aplicações ao mesmo tempo não é tão legal

Page 54: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 55: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 56: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Quem mantém as bibliotecas as vezes não mantém as aplicações

Page 57: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Qual é a alternativa?

Page 58: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Lógica de negócio

Logging

Rastreamento distribuído

Telemetria

Transporte

Tolerância a falhas

Page 59: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.
Page 60: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Service Meshes

Page 61: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Service meshes são tipicamente compostas por dois tipos de componentes distintos

Page 62: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Plano de dados

Page 63: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Plano de controle

Pilot Mixer Auth

Page 64: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Separação mais forte entre questões de aplicação e infraestrutura

Page 65: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Consistência entre serviços como trabalho da plataforma.

Page 66: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Considerações finais

Page 67: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Ferramentas são uma parte da solução, mas não a solução inteira.

Page 68: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Micro serviços são uma forma de pensar uma organização.

Page 69: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Fazer a coisa certa tem que ser simples por default.

Page 70: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Obrigado!Vitor Pellegrino

@pellegrino [email protected]

Page 71: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

?Vitor Pellegrino

@pellegrino [email protected]

Page 72: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

Referencias● Excelente modelo de maturidade da thoughtworks

https://info.thoughtworks.com/agile-maturity-model-applied-building-

and-releasing-software.html

● Framework de sincronização de dados da Netflix.

https://github.com/Netflix/Scumblr

● Github owners files

https://blog.github.com/2017-07-06-introducing-code-owners/

● Humane Registry

https://martinfowler.com/bliki/HumaneRegistry.html

Page 73: Microservices em Produção: e agora? - QConSP · A única pessoa que conhecia esse sistema saiu da empresa, agora ele ficou sem dono. Vitor Pellegrino, um milhão de vezes.

● Istio

https://istio.io

● Envoy

https://www.envoyproxy.io/

Referencias