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]

Upload: others

Post on 28-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

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