O documento discute gerenciamento de incidentes em ambientes de microserviços. Aborda a importância de se estabelecer canais de comunicação, alertas baseados em SLA e composição do time de oncall. Também destaca a necessidade de realizar post mortem após incidentes para melhoria contínua.
3. Quem sou eu ?
Felipe Signorini, SRE na Udemy, criador do
Maestro server, uma plataforma de
gerenciamento de servidores e aplicações
para ambientes multi cloud.
https://github.com/Signorini - @signorini
https://medium.com/@felipeklerkk
4. - Introdução
- O por que do microserviço
- SRE
- Gerenciamento de incidentes
- Por onde começar
- Oncall
- Post mortem
- Mudando a cultura
Agenda
5. Microserviço, a solução de todos os
problemas
Problemas de performance?
- Microserviço
Problemas de escalabilidade?
- Microserviço
Seu time está desmotivado
- Microserviço
Falta de resiliência?
- Microserviço
Precisa de uma tecnologia moderna?
- Microserviço = Kubernetes
Introduction
6. Caso 2 - Microserviços + nodejs
Carolina Pascale - Microservices using
Node.js and RabbitMQ - BrazilJS Conf 2017
https://www.youtube.com/watch?v=M7le0OEF9NQ
Introduction
7. Caso 2 - Borg até o Prometheus: SRE
Felipe Signorini e Paulo Castro - Borg até o
Prometheus: Site Reliability Engineering -
TDC2017
https://www.slideshare.net/felipesignorini/tdc-2017-b
org-at-o-prometheus-site-reliability-engineering
Introduction
8. Caso 3 - The way our backend works
It's because of the way our backend works -
Kraken.
https://www.youtube.com/watch?v=y8OnoxKotPQ
Introduction
9. μServices
Palavra para reunir tudo isso Microserviços.
Pensando em todo esse novo cenário procuramos uma maneira
de entender a operação como developers.
Prometheus apareceu de uma maneira natural já que foi
pensado em como monitorar aplicação publicadas no
Kubernetes.
Borg e SRE
14. Qual a real vantagem do microserviço?
Microserviço Monolítico
Performance
15. Qual a real vantagem do microserviço?
Microserviço Monolítico
Performance Possível via engenharia Com uma boa arquitetura de
código
16. Qual a real vantagem do microserviço?
Microserviço Monolítico
Performance Possível via engenharia Com uma boa arquitetura de
código
Escalabilidade
17. Qual a real vantagem do microserviço?
Microserviço Monolítico
Performance Possível via engenharia Com uma boa arquitetura de
código
Escalabilidade Federação dos serviços por
natureza
Com uma boa arquitetura de
serviços
18. Qual a real vantagem do microserviço?
Microserviço Monolítico
Performance Possível via engenharia Com uma boa arquitetura de
código
Escalabilidade Federação dos serviços por
natureza
Com uma boa arquitetura de
serviços
Manutenção
19. Qual a real vantagem do microserviço?
Microserviço Monolítico
Performance Possível via engenharia Com uma boa arquitetura de
código
Escalabilidade Federação dos serviços por
natureza
Com uma boa arquitetura de
serviços
Manutenção Facilita para o desenvolvedor,
porém pesa para o arquitetura
Com uma boa arquitetura de
código
20. Qual a real vantagem do microserviço?
Microserviço Monolítico
21. Qual a real vantagem do microserviço?
Microserviço Monolítico
Performance Possível via engenharia Com uma boa arquitetura de
código
Escalabilidade Federação dos serviços por
natureza
Com uma boa arquitetura de
serviços
Manutenção Facilita para o desenvolvedor,
porém pesa para o arquitetura
Com uma boa arquitetura de
código
Capacidade de
evolução
22. Qual a real vantagem do microserviço?
Microserviço Monolítico
Performance Possível via engenharia Com uma boa arquitetura de
código
Escalabilidade Federação dos serviços por
natureza
Com uma boa arquitetura de
serviços
Manutenção Facilita para o desenvolvedor,
porém pesa para o arquitetura
Com uma boa arquitetura de
código
Capacidade de
evolução
Grande capacidade de escalar
pessoas e código.
Quanto maior o time, mais difícil
de manter todos na mesma
página.
23. Qual a real vantagem do microserviço?
Capacidade de evolução
=
Escalabilidade de pessoas, times e
funcionalidade
24. Qual a real vantagem do microserviço?
Capacidade de evolução
=
Escalabilidade de pessoas e times
32. O gerenciamento de incidentes é um conjunto de processos
para restauração da operação normal de um ou mais serviços
o mais rápido possível durante um mal funcionamento.
O que é?
33. - Foco na tecnologia
- O herói solitário
- Istio tá tudo
vermelho
Incidente não gerenciado
34. - Escolha os canais de comunicação oficial
- Estabeleça alertas de acordo com os SLAs
- Composição do time de oncall
- Post mortem
Onde começar
35. Escolha os canais de comunicação oficial
Chats Video call Status page Email
Social
36. Alertas de acordo com o SLA
- Evite a fadiga de alertas
- Utilize poucos SLAs e depois vai
incrementando lentamente
- Seja pragmático
37. Alertas de acordo com o SLA
- Contrato para com os usuários
- Up and down
- Velocidade
- Contrato para com outros serviços
- Latência
- Capacidade de processamento
38. O time de suporte é responsável por gerenciar o incidente
não em resolve-lo.
Ownership
39. O time de suporte (aka oncall)
é a linha de frente de qualquer
incidente, quando algo
acontece ele é o primeiro a ser
alertado tendo como
responsabilidade estar alerta e
disponível a tomar qualquer
ação em qualquer momento.
Oncall
42. O especialista é o engenheiro que deve-se
ficar alerta, estar disponível a qualquer
problema que ocorra em períodos dentro do
horário comercial bem como fora do mesmo.
- Ter autonomia
- Atender o chamado de forma rápida.
- Possuir conhecimentos técnicos e bom
senso.
O especialista - AKA Oncaller
43. O gerente de oncall deve-se oferecer suporte
ao engenheiro oncaller.
- Ter um grande bom senso de julgamento
- Durante um incidente, possui poderes
acima de diretores
O gerente de suporte - AKA Call leader
45. Post mortem
- O momento certo para
discutir mudanças de
arquitetura
- Soluções para resolução
completa
46. Comparação SRE e ITILv4
O modelo de gerenciamento de incidentes SRE, foca em
suportar times ágil, com autonomia de operação de sistemas
por equipe, totalmente baseado em interações e com a total
descentralização das decisões, o ITIL foca mais na garantia de
governança na padronização de processos através de comando
controle.
- error budged
- oncall baseado em papéis
- flexibilização de processos
- registro de incidentes
- oncall baseado em senioridade
- comando controle
48. Não mude tudo radicalmente, faça
mudanças incrementais juntamente
com a maturidade dos processos.
49. - Evite ao máximo o burnout
- Não cultive a cultura do herói
solitário
- Evite tentar fazer múltiplos papéis
- Confecção do post mortem deve
ser uma tarefa crítica
Boas práticas