Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn...

49
Confiabilidade e Operações em Larga Escala no LinkedIn Eduardo Saito [email protected] Site Reliability Engineering

Transcript of Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn...

Page 1: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Confiabilidade e Operações em Larga Escala no LinkedIn

Eduardo Saito [email protected] Site Reliability Engineering

Page 2: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

LinkedIn - Larga Escala

  500 Milhões de membros (27M+ BR) +100’s K QPS

2

Page 3: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 4: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 5: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Agenda

5

 

Organização de Equipes

Arquitetura / Frameworks

Ferramentas Processos

Page 6: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Agenda

6

 

Organização de Equipes

Arquitetura / Frameworks

Ferramentas Processos

Page 7: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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)

Page 8: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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)

Page 9: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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)

Page 10: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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)

Page 11: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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)

Page 12: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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)

Page 13: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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)

Page 14: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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)

Page 15: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Agenda

15

 

Organização de Equipes

Arquitetura / Frameworks

Ferramentas Processos

Page 16: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Arquitetura - Datacenters e PoPs

16

Page 17: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 18: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Datacenter

Arquitetura - Frontend

Frontend

Mid-tier

Data tier

Frontend

Mid-tier

Data tier

Frontend

Mid-tier

Data tier

Page 19: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 20: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Datacenter

Arquitetura - Data tier

Frontend

Mid-tier

Data tier

Frontend

Mid-tier

Data tier

Frontend

Mid-tier

Data tier

ESPRESSO

Page 21: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Agenda

21

 

Organização de Equipes

Arquitetura / Frameworks

Ferramentas Processos

Page 22: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

22

Qual a principal causa de incidentes em produção no LinkedIn?

Page 23: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

23

Qual a principal causa de incidentes em produção no LinkedIn?

R.: Mudanças (deployments / ativação de features)

Page 24: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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)

Page 25: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 26: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 27: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 28: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 29: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 30: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 31: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 32: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 33: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 34: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 35: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 36: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 37: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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.

Page 38: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Gerenciamento de Incidentes - parte 2/4 - investigação

38

inVisualize

Page 39: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Gerenciamento de Incidentes - parte 2/4 - investigação

39

ELK

Page 40: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Gerenciamento de Incidentes - parte 3/4 - escalação

40

NOCGCN ticket

Outra equipe (DBA, Redes, etc…)

Slack channel

Investigação

plantonista

Page 41: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Gerenciamento de Incidentes - parte 4/4 - remediação

41

NOC

traffic-shift

Page 42: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Gerenciamento de Incidentes - parte 4/4 - remediação

42

disabilita LiX roll-back release

NOC

traffic-shift

plantonista

Page 43: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 44: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 45: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Outras Ferramentas Auto-remediação: Nurse

45

Page 46: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Outras Ferramentas Teste de carga automatizado: Redliner

46

Page 47: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

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

Page 48: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

Conclusão - Operações em Larga Escala

48

 

Organização de Equipes

Arquitetura / Frameworks

Ferramentas Processos

Page 49: Confiabilidade e Operações em Larga Escala no … e Operações em Larga Escala no LinkedIn Eduardo Saito esaito@linkedin.com Site Reliability Engineering LinkedIn - Larga Escala

©2014 LinkedIn Corporation. All Rights Reserved.

Eduardo Saito [email protected]

http://www.saito.com.br