Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos...
Transcript of Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos...
![Page 1: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/1.jpg)
Resiliência em microservicescache distribuído, feedback e tuning na Globo.com
![Page 2: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/2.jpg)
![Page 3: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/3.jpg)
Agenda
Contexto Introdução Casos de uso Perguntas
![Page 4: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/4.jpg)
De onde viemos
G1Globo
Esporte GShow Techtudo
![Page 5: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/5.jpg)
Para onde vamos
G1Globo
Esporte GShow Techtudo
![Page 6: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/6.jpg)
Monolito
![Page 7: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/7.jpg)
Micro-serviços
![Page 8: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/8.jpg)
Resiliência
![Page 9: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/9.jpg)
Resiliência
![Page 10: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/10.jpg)
Resiliência
![Page 11: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/11.jpg)
Resiliência
● Não é uma flag que ativa a resiliência de sua aplicação
● Não é um único ponto de controle
● Nada é 100% resiliente
● Não é determinístico
![Page 12: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/12.jpg)
Resiliência
Substantivo feminino
1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação elástica;
2. Capacidade de se recobrar facilmente ou se adaptar à má sorte ou às mudanças;
![Page 13: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/13.jpg)
Resiliência
![Page 14: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/14.jpg)
Resiliência Capacidade de superar adversidades
![Page 15: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/15.jpg)
Promovendo resiliência
Passo 1Identifique o perfil da aplicação
Passo 2Ordene os principais pontos de falha
Passo 3Proponha soluções que promovam a resiliência
![Page 16: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/16.jpg)
Negócio
Passo 1
![Page 17: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/17.jpg)
Passo 2
Os conteúdos devem estar sempre atualizadas e nunca deixar de ser entregue aos usuários.
Negócio
![Page 18: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/18.jpg)
Passo 3
Vários níveis de cache do conteúdo
O Expurgo é proativo
Negócio
![Page 20: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/20.jpg)
Cloud
Passo 2
Se minha aplicação saturar algum recurso computacional eu preciso distribuir a carga
![Page 21: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/21.jpg)
Cloud
Passo 3
Elasticidade automatizada
CPU: 50%
CPU: 95%
CPU: 85%
CPU: 50%
CPU: 50%
![Page 22: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/22.jpg)
Aplicação
Passo 1
Accounts
![Page 23: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/23.jpg)
Passo 2
Se os micro-serviços que eu integro falharem como eu garanto minha autenticação
Aplicação
![Page 24: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/24.jpg)
Passo 3
Aplicação
Quebra de circuito (Circuit breaker)
x% de falha envia email para garantir autenticação
![Page 25: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/25.jpg)
Clientes
Passo 1
APIs
![Page 26: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/26.jpg)
Passo 2
Se o meu serviço ficar indisponível o que meus clientes devem fazerClientes
![Page 27: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/27.jpg)
Passo 3
Clientes devem fazer
Retry Backoff Cache
Clientes
![Page 28: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/28.jpg)
Sistema Operacional
Passo 1
Varnish
![Page 29: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/29.jpg)
Sistema Operacional
Passo 2
À medida que o acesso aumentava, tivemos paginação em disco e problemas com conexões
![Page 30: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/30.jpg)
Sistema Operacional
Passo 1
Tunning de memória Tunning TCP/IP
User space
Kernel space
CacheOS
![Page 31: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/31.jpg)
Passo 1
Serviço
![Page 32: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/32.jpg)
Passo 2
Serviço Como adicionar novas aplicações sem alterar meus serviços atuais?
![Page 33: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/33.jpg)
Passo 3
Serviço
● Agregação de APIs● Reforço na disponibilidade de seu BFF
![Page 34: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/34.jpg)
Monitoração
Passo 1
![Page 35: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/35.jpg)
Monitoração
Passo 2
Como maximizar o tempo de detecção e recuperação de falhas?
![Page 36: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/36.jpg)
Monitoração
Passo 3
● Zabbix● Sentry● Páginas de status - cachet● Measures (Kibana as a service)
Sistemas de feedback
![Page 37: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/37.jpg)
Arquitetura
Passo 1
APIs
![Page 38: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/38.jpg)
Passo 2
Como garantir que mudanças possam acontecer sem impactar meus clientes?
Arquitetura
![Page 39: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/39.jpg)
Passo 3
APIs
Tenants
G1 GE GS
Arquitetura
![Page 40: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/40.jpg)
Algoritmo
Passo 1
APIs
![Page 41: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/41.jpg)
Passo 2
Como contabilizar votos de maneira a minimizar o tempo de respostaAlgoritmo
![Page 42: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/42.jpg)
Passo 3
Algoritmo● Baixo processamento
● 16 mil votos simultâneos (BBB17)
● 141 milhões de votos totais (BBB17)
● Kernel time_wait de 60s para 15s
Buffer em memória
1000 votos ou 10 segundos
...
![Page 43: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/43.jpg)
Rede
Passo 1
![Page 44: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/44.jpg)
Rede
Passo 2
Como distribuir um micro-serviço de modo a maximizar a disponibilidade?
![Page 45: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/45.jpg)
Rede
Passo 1
Balanceamento de carga
![Page 46: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/46.jpg)
Resumindo
Promover uma aplicação resiliente é uma tarefa evolutiva
Cache
Elasticidade
Circuit breaker
Retry
Buffer
Negócio Cloud Aplicação Clientes SO Serviço Monitoração Arquitetura Algoritmo Rede
Tunning
BFF
Feedback
Tenants
Load balancer
![Page 47: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/47.jpg)
Passo 1Identifique o perfil da aplicação
Passo 2Ordene os principais pontos de falha
Passo 3Proponha soluções que promovam a resiliência
Resumindo
Promover uma aplicação resiliente é uma tarefa evolutiva
![Page 48: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/48.jpg)
https://talentos.globo.com
![Page 49: Resiliência em microservices€¦ · Substantivo feminino 1. Propriedade que alguns corpos apresentam de retornar à forma original após terem sido submetidos a uma deformação](https://reader036.fdocumentos.com/reader036/viewer/2022081617/602460d09cfc9943b33c8aec/html5/thumbnails/49.jpg)
https://blog.pantuza.comhttps://github.com/pantuza
https://twitter.com/gpantuza
Dúvidas?