View
233
Download
0
Category
Preview:
Citation preview
Confiabilidade e Operações em Larga Escala no LinkedIn
Eduardo Saito esaito@linkedin.com Site Reliability Engineering
LinkedIn - Larga Escala
500 Milhões de membros (27M+ BR) +100’s K QPS
2
LinkedIn - Larga Escala
500 Milhões de membros (27M+ BR) +100’s K QPS
+2.000 Desenvolvedores +100’s serviços +100’s releases/dia em produção
3
LinkedIn - Larga Escala
500 Milhões de membros (27M+ BR) +100’s K QPS
+2.000 Desenvolvedores +100’s serviços +100’s releases/dia em produção
+300 SREs (Site Reliability Engineers)4
Agenda
5
Organização de Equipes
Arquitetura / Frameworks
Ferramentas Processos
Agenda
6
Organização de Equipes
Arquitetura / Frameworks
Ferramentas Processos
LinkedIn - Organização de Equipes
7
NOC
PEO (DCOps, NetOps, SysOps)
Infrastructure SRE (monitoring, security, traffic, edge)
Data SRE (Espresso, Oracle, Kafka, Couchbase, ...)
Central SRE (tools, platform, LPS, capacity)
Product SRE
Product SRE
Product SRE
Product SRE
Dev Time 1
Dev Time 2
Dev Time 3
Dev Time 4
Product SRE
Dev Time n
{SREs (Site
Reliability Engineers)
LinkedIn - Organização de Equipes
8
NOC
PEO (DCOps, NetOps, SysOps)
Infrastructure SRE (monitoring, security, traffic, edge)
Data SRE (Espresso, Oracle, Kafka, Couchbase, ...)
Central SRE (tools, platform, LPS, capacity)
Product SRE
Product SRE
Product SRE
Product SRE
Dev Time 1
Dev Time 2
Dev Time 3
Dev Time 4
Product SRE
Dev Time n
{SREs (Site
Reliability Engineers)
LinkedIn - Organização de Equipes
9
NOC
PEO (DCOps, NetOps, SysOps)
Infrastructure SRE (monitoring, security, traffic, edge)
Data SRE (Espresso, Oracle, Kafka, Couchbase, ...)
Central SRE (tools, platform, LPS, capacity)
Product SRE
Product SRE
Product SRE
Product SRE
Dev Time 1
Dev Time 2
Dev Time 3
Dev Time 4
Product SRE
Dev Time n
{SREs (Site
Reliability Engineers)
LinkedIn - Organização de Equipes
10
NOC
PEO (DCOps, NetOps, SysOps)
Infrastructure SRE (monitoring, security, traffic, edge)
Data SRE (Espresso, Oracle, Kafka, Couchbase, ...)
Central SRE (tools, platform, LPS, capacity)
Product SRE
Product SRE
Product SRE
Product SRE
Dev Time 1
Dev Time 2
Dev Time 3
Dev Time 4
Product SRE
Dev Time n
{SREs (Site
Reliability Engineers)
LinkedIn - Organização de Equipes
11
NOC
PEO (DCOps, NetOps, SysOps)
Infrastructure SRE (monitoring, security, traffic, edge)
Data SRE (Espresso, Oracle, Kafka, Couchbase, ...)
Central SRE (tools, platform, LPS, capacity)
Product SRE
Product SRE
Product SRE
Product SRE
Dev Time 1
Dev Time 2
Dev Time 3
Dev Time 4
Product SRE
Dev Time n
{SREs (Site
Reliability Engineers)
LinkedIn - Organização de Equipes
12
NOC
PEO (DCOps, NetOps, SysOps)
Infrastructure SRE (monitoring, security, traffic, edge)
Data SRE (Espresso, Oracle, Kafka, Couchbase, ...)
Central SRE (tools, platform, LPS, capacity)
Product SRE
Product SRE
Product SRE
Product SRE
Dev Time 1
Dev Time 2
Dev Time 3
Dev Time 4
Product SRE
Dev Time n
{SREs (Site
Reliability Engineers)
LinkedIn - Organização de Equipes
13
NOC
PEO (DCOps, NetOps, SysOps)
Infrastructure SRE (monitoring, security, traffic, edge)
Data SRE (Espresso, Oracle, Kafka, Couchbase, ...)
Central SRE (tools, platform, LPS, capacity)
Product SRE
Product SRE
Product SRE
Product SRE
Dev Time 1
Dev Time 2
Dev Time 3
Dev Time 4
Product SRE
Dev Time n
{SREs (Site
Reliability Engineers)
LinkedIn - Organização de Equipes
14
NOC
PEO (DCOps, NetOps, SysOps)
Infrastructure SRE (monitoring, security, traffic, edge)
Data SRE (Espresso, Oracle, Kafka, Couchbase, ...)
Central SRE (tools, platform, LPS, capacity)
Product SRE
Product SRE
Product SRE
Product SRE
Dev Time 1
Dev Time 2
Dev Time 3
Dev Time 4
Product SRE
Dev Time n
{SREs (Site
Reliability Engineers)
Agenda
15
Organização de Equipes
Arquitetura / Frameworks
Ferramentas Processos
Arquitetura - Datacenters e PoPs
16
DatacenterDatacenter
Arquitetura
17
L0 L0
L1 L1
PoP
L0 L0
L1 L1
PoP
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
L0 L0
L1 L1
PoP
L0 L0
L1 L1
PoP
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
Datacenter
Arquitetura - Frontend
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
Datacenter
Arquitetura - Mid-tier
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
D2 - Dynamic Discovery R2 - Request and Response
>2000 Rest.li resources >70% service-to-service calls
Datacenter
Arquitetura - Data tier
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
Frontend
Mid-tier
Data tier
ESPRESSO
Agenda
21
Organização de Equipes
Arquitetura / Frameworks
Ferramentas Processos
22
Qual a principal causa de incidentes em produção no LinkedIn?
23
Qual a principal causa de incidentes em produção no LinkedIn?
R.: Mudanças (deployments / ativação de features)
Gerenciamento de mudanças
24
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
Gerenciamento de mudanças
25
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
Dev Laptop
Gerenciamento de mudanças
26
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
Dev Laptop
Gerenciamento de mudanças
27
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
StagingDev Laptop
Gerenciamento de mudanças
28
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
StagingDev Laptop
Gerenciamento de mudanças
29
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
ProduçãoStagingDev Laptop
Gerenciamento de mudanças
30
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
ProduçãoStagingDev Laptop
Gerenciamento de mudanças
31
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
ProduçãoStagingDev Laptop
Gerenciamento de mudanças
32
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
ProduçãoStagingDev Laptop
Gerenciamento de mudanças
33
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
ProduçãoStagingDev Laptop
Gerenciamento de mudanças
34
git subversion
LID - prod
canários
prod
LiX
companhia
1%
5%
10%
25%
50%
100%
EKG
git subversion
review board
LID - EI
EI
mint
QEIXLNT
(A/B test)
ProduçãoStagingDev Laptop
Gerenciamento de Incidentes - parte 1/4 - alerta
35
on-call tool
- equipes de SRE e devs em plantão - alertas vão para equipe mais preparada a resolver - escalação automática dos alertas - diferentes níveis de SLA, notificação apropriada:
• telefonema • SMS • e-mail
IRIS
Gerenciamento de Incidentes - parte 2/4 - investigação
36
Auto-alert
Explicação detalhada do que está falhando e o que pode ser
possível causa
Screenshot do gráfico da métrica afetada, e link para aquele gráfico
Serviço e Datacenter afetado
Gerenciamento de Incidentes - parte 2/4 - investigação
37
inFormed
Lista das mudanças que ocorreram naquele horário, com detalhes de quem fez a mudança
em quais serviços e servidores.
Gerenciamento de Incidentes - parte 2/4 - investigação
38
inVisualize
Gerenciamento de Incidentes - parte 2/4 - investigação
39
ELK
Gerenciamento de Incidentes - parte 3/4 - escalação
40
NOCGCN ticket
Outra equipe (DBA, Redes, etc…)
Slack channel
Investigação
plantonista
Gerenciamento de Incidentes - parte 4/4 - remediação
41
NOC
traffic-shift
Gerenciamento de Incidentes - parte 4/4 - remediação
42
disabilita LiX roll-back release
NOC
traffic-shift
plantonista
Gerenciamento de Incidentes - parte 4/4 - remediação
43
disabilita LiX roll-back release
NOC
traffic-shift
Outra equipe (DBA, Redes, etc…)
plantonista
disabilita LiX de outro serviço
roll-back release de outro serviço
Gerenciamento de Incidentes - parte 4/4 - remediação
44
disabilita LiX roll-back release
NOC
traffic-shift
Outra equipe (DBA, Redes, etc…)
plantonista
disabilita LiX de outro serviço
roll-back release de outro serviço Dev
push fix
Outras Ferramentas Auto-remediação: Nurse
45
Outras Ferramentas Teste de carga automatizado: Redliner
46
Gerenciamento de Problemas
47
- Post-mortem - Template contendo:
- Sumario, causa-raiz, time-line, impacto - O que fazer para: - 1) evitar - 2) detectar mais rapidamente (MTTD) - 3) resolver mais rapidamente (MTTR)
- Tracking dos items de remediacao
- Code Yellow
Conclusão - Operações em Larga Escala
48
Organização de Equipes
Arquitetura / Frameworks
Ferramentas Processos
©2014 LinkedIn Corporation. All Rights Reserved.
Eduardo Saito esaito@linkedin.com
http://www.saito.com.br
Recommended