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

Post on 13-Feb-2019

232 views 0 download

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

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