Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers
-
Upload
brunoaalves -
Category
Technology
-
view
233 -
download
1
Transcript of Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers
![Page 1: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/1.jpg)
Erros que cometemos na arquitetura de microserviços e a
evolução para Containers
Especialistas em Retenção
BRUNO ANDRADE ALVES
![Page 2: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/2.jpg)
“Empreender é saltar de paraquedas e costurá-lo durante a queda"
![Page 3: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/3.jpg)
A Dito começou construindo aplicativos para Orkut e depois para o Facebook.
![Page 4: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/4.jpg)
![Page 5: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/5.jpg)
“Ingressos para o Rock in Rio se esgotam em menos de 15 minutos"
“Maior rede especializada em óculos escuros e acessórios da América latina"
“TIM, vice-líder do setor de telefonia com mais de 44 mihões de pessoas”
![Page 6: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/6.jpg)
![Page 7: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/7.jpg)
![Page 8: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/8.jpg)
![Page 9: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/9.jpg)
![Page 10: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/10.jpg)
UM TIME DE FERAs
FAZEDOR
ÉTICA
RESULTADOS
ALEGRIA e APRENDER
F
E
R
A
![Page 11: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/11.jpg)
![Page 12: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/12.jpg)
VOLTANDO AO COMEÇO DE 2012
![Page 13: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/13.jpg)
SERVIÇOS
Analytics Badge Ranking Login
GMEvent Share
Dashboard
![Page 14: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/14.jpg)
Analytics Badge Ranking Login GM
MySQL Redis MySQLApenas o Analytics acessa o BANCO da plataforma
Apenas os módulos da plataforma acessam o Redis
O GM acessa seu
próprio BANCO
Todos os módulos da plataforma comunicam com o Analytics, e da mesma forma o
Analytics se comunica com todos os módulos da plataforma
Apenas o Social Share
Comunica com o GM
O GM se comunica
apenas com o Social Share
SERVIÇOS
Event Share
DashboardTodos os módulos da plataforma
comunicam com o Dashboard. O Dashboard também se comunica com os eles
![Page 15: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/15.jpg)
ARQUITETURA NO AR
![Page 16: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/16.jpg)
PROBLEMAS = 0
![Page 17: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/17.jpg)
ARQUITETURA NO AR
![Page 18: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/18.jpg)
PROBLEMÔMETRO
![Page 19: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/19.jpg)
Usuários
Eventos
Analytics
Alto Acoplamento
1
Envia para indexação
Cria evento de login
Envia para indexação
Fluxo de criação de usuários
![Page 20: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/20.jpg)
Usuários
Eventos
Analytics
Alto Acoplamento
2
Envia para indexação - Lentidão
Cria evento de loginLentidão
Envia para indexação Lentidão
Fluxo de criação de usuários Lentidão
Lentidão na comunicação entre módulos
![Page 21: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/21.jpg)
Alto AcoplamentoLentidão na comunicação entre módulos
3
Usuários
Eventos
AnalyticsEnvia para indexação - Erro
Cria evento de login
Envia para indexação
Fluxo de criação de usuários
Dependência para criação de eventos
Criação de estados
![Page 22: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/22.jpg)
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estados
4
Serviços com muitas regras de negócio
![Page 23: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/23.jpg)
DASH Login
Event
Badge Ranking
GM Share
Notification Referal
5
Analytics
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócioMódulos morrem, código legado não
![Page 24: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/24.jpg)
6
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
![Page 25: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/25.jpg)
7
MySQL
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacional
![Page 26: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/26.jpg)
Amigo, você sabe me dizer onde podemos salvar os dados desse
novo serviço?
Rapaz,
Salva no Redis Ipiranga!
![Page 27: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/27.jpg)
8
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
![Page 28: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/28.jpg)
9
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizados
![Page 29: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/29.jpg)
10
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
![Page 30: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/30.jpg)
11
Analytics Badge Ranking Login GM
MySQL Redis MySQLApenas o Analytics acessa o BANCO da plataforma
Apenas os módulos da plataforma acessam o Redis
O GM acessa seu
próprio BANCO
Todos os módulos da plataforma comunicam com o Analytics, e da mesma forma o Analytics se
comunica com todos os módulos da plataforma
Apenas o Social Share
Comunica com o GM
O GM se comunica apenas com o Social Share
Event Share
Dashboard
Todos os módulos da plataforma comunicam com o Dashboard. O Dashboard também se comunica
com os eles
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos Devs
![Page 31: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/31.jpg)
12
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
![Page 32: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/32.jpg)
13
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviços
![Page 33: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/33.jpg)
14
Analytics
Usuários
MySQL Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviçosDesenvolvimento duplicado
![Page 34: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/34.jpg)
ARQUITETURA PERFEITA
"Applications built from microservices aim to be as decoupled and
as cohesive as possible"
Martin Fowler
![Page 35: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/35.jpg)
ARQUITETURA PERFEITA
"Set of very small, granular, independent collaborating services."
Benjamin Wooton
![Page 36: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/36.jpg)
Microservices - Not A Free Lunch
Fonte: http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
- Substantial DevOps Skills Required
- Distributed System Complexity
- It can be difficult to recreate environments in a consistent way for either manual or automated testing.
![Page 37: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/37.jpg)
![Page 38: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/38.jpg)
15
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviçosDesenvolvimento duplicado
Quebra de paradigmas
![Page 39: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/39.jpg)
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviçosDesenvolvimento duplicado
Quebra de paradigmas
14
![Page 40: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/40.jpg)
Containerização dos serviços
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviçosDesenvolvimento duplicado
Quebra de paradigmas
12
![Page 41: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/41.jpg)
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviçosDesenvolvimento duplicado
Quebra de paradigmas
10
![Page 42: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/42.jpg)
DASH Login
Search Apps
Analytics Badge
sAnalytics CC
GM Share
Referral AUTH
Event
API
Ranking
Hooks
Notification
Stats
Micro serviços
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviçosDesenvolvimento duplicado
Quebra de paradigmas
8
![Page 43: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/43.jpg)
DASH Login
Search Apps
Analytics Badge
sAnalytics CC
GM Share
Referral AUTH
Event
API
Ranking
Hooks
Notification
Stats
Micro serviços
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow QueriesDificuldade de Onboarding de novos Devs
Equipe enxutaDificuldade de gerenciar diversos serviços
Desenvolvimento duplicadoQuebra de paradigmas
3
![Page 44: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/44.jpg)
DASH Login
Search Apps
Analytics Badge
sAnalytics CC
GM Share
Referral AUTH
Event
API
Ranking
Hooks
Notification
Stats
Micro serviços
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócioMódulos morrem, código legado não
Difícil atualização de bibliotecasCrescimento sem fim do banco relacional
Elevado consumo de memóriaDifícil limpar dados não utilizados
Difícil identificar origem de Slow QueriesDificuldade de Onboarding de novos Devs
Equipe enxutaDificuldade de gerenciar diversos serviços
Desenvolvimento duplicadoQuebra de paradigmas
2
![Page 45: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/45.jpg)
DASH Login
Analytics Badge
Event
Ranking
Micro serviços
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviçosDesenvolvimento duplicado
Quebra de paradigmas
2
![Page 46: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/46.jpg)
Bibliotecas em 10 linguagens
C, C++, Java, Go, Node.js, Python, Ruby, Objective-C, PHP e C#.
Feita para ser o padrão do google
Alta performance Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviçosDesenvolvimento duplicado
Quebra de paradigmas
1
![Page 47: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/47.jpg)
gRPC
Testes no Google Cloud Pub/Sub
0
30
60
90
120
0
7,5
15
22,5
30
gRPC HTTP1.1/JSON
Throughput 3x maior
Throughput (MB/s) per CPU
gRPC HTTP1.1/JSON
Throughput (MB/s)
Gasto de CPU 11x menor
JSON/HTTPVS
Fonte: https://cloud.google.com/blog/big-data/2016/03/announcing-grpc-alpha-for-google-cloud-pubsub
![Page 48: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/48.jpg)
STEAM DE DADOS
PUB
Users Service
Events Service
Search Service
Certs Service
Monitoring Service
Analytics Service
Notification Service
Facebook service
Android Service
iOS Service
Email Service
SMS Service
SUB
Add-ons
Alto AcoplamentoLentidão na comunicação entre módulos
Criação de estadosServiços com muitas regras de negócio
Módulos morrem, código legado nãoDifícil atualização de bibliotecas
Crescimento sem fim do banco relacionalElevado consumo de memória
Difícil limpar dados não utilizadosDifícil identificar origem de Slow Queries
Dificuldade de Onboarding de novos DevsEquipe enxuta
Dificuldade de gerenciar diversos serviçosDesenvolvimento duplicado
Quebra de paradigmas
0
![Page 49: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/49.jpg)
![Page 50: Erros que cometemos na arquitetura de micro-serviços e a evolução para Containers](https://reader031.fdocuments.net/reader031/viewer/2022012923/5874f63e1a28ab917a8b7f57/html5/thumbnails/50.jpg)
OBRIGADO!
Especialistas em Retenção
BRUNO ANDRADE ALVES [email protected]
www.dito.com.br facebook.com/ditointernet