microservices em produção: e agora? - qconsp · a única pessoa que conhecia esse sistema saiu da...

Post on 28-Jun-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Microservices em Produção: e agora?

Vitor Pellegrino@pellegrino

vitorp@gmail.com

No incio era só um monolito.

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

Primeiros microserviços

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

10.000s requisições por segundo

100s de Microservices

Scala, Ruby, Go entre outras

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

Lei de Conway (1968)

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

Problemas organizacionais

?

?

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?

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

Diretorio de servicos

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

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

O que é bom o suficiente?

Cada um tinha uma ideia diferente

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

Modelos de maturidade

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

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

Modelos de maturidade nos ajudam a quantificar investimentos em arquitetura

Problemas técnicos

Arquiteturas modernas de microserviços

Lógica de negócio

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Telemetria

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Rastreamento distribuído

Telemetria

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Rastreamento distribuído

Telemetria

Tolerância a falhas

Arquiteturas modernas de microserviços

Lógica de negócio

Logging

Rastreamento distribuído

Telemetria

Transporte

Tolerância a falhas

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

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

Bibliotecas compartilhadas?

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

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

Qual é a alternativa?

Lógica de negócio

Logging

Rastreamento distribuído

Telemetria

Transporte

Tolerância a falhas

Service Meshes

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

Plano de dados

Plano de controle

Pilot Mixer Auth

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

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

Considerações finais

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

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

Fazer a coisa certa tem que ser simples por default.

Obrigado!Vitor Pellegrino

@pellegrino vitorp@gmail.com

?Vitor Pellegrino

@pellegrino vitorp@gmail.com

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

● Istio

https://istio.io

● Envoy

https://www.envoyproxy.io/

Referencias

top related