SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Porque o Google (quase)
      sempre responde as minhas
              perguntas?


Fernanda G Weiden
Site Reliability Engineer
Cluster Management
Missão

"to organize the world's information and make it
       universally accessible and useful"
O que o Google faz?




e muito mais...
O que está por trás disso tudo?
Sysadmin na indústria...

• Black-box software
   o pouca instrumentação, se existente


• Dimensionamento de hardware
  o baseado nas necessidades do software
  o impulsionado por fornecedores


• Monitoramento
  o Reação a falhas e imprevistos
Ooops...
Site Reliability Engineering

• "hope is not a strategy"
  o   se você pensa que pode quebrar, provavelmente vai
  o   se você pensa que não vai quebrar, definitivamente vai
  o   de uma maneira que você não pensou
  o   espetacular e "bizarramente"
Reliability by Wikipedia

 "Ability of a person or system to perform and maintain its
  functions in routine circumstances, as well as hostile or
                 unexpected circumstances."
Site Reliability Engineering

• 50% sysadmins, 50% engenheiros de software
• Acesso completo ao código fonte
   o participação em revisão de design
• PRR
• Instalação
   o dimensionamento “job” - CPU, RAM, disk, network
• Capacity Planning
   o crescimento orgânico, mudanças de infraestrutura,
     lançamento de funcionalidades
• Monitores/alertas
• Gerenciamento de clusters
• Lançamento de software
• Engenharia de software
Site Reliability Engineering

• Código fonte é tudo
   o código controlado
   o builds e rollouts automatizados
• Sistema de revisão em par
   o estritos critérios de aceitação
   o guias de estilo, testes de pre-submit
   o subject ownership/expertise
• Processo flexível: time, experts
• Engineering driven (not management)
   o Critérios técnicos prevalecem
Números que todos engenheir@s de
computação deveria saber...
L1 cache reference                           0.5 ns
Branch mispredict                              5 ns
L2 cache reference                             7 ns
Mutex lock/unlock                            100 ns
Main memory reference                        100 ns
Compress 1K bytes with Zippy               2,500 ns
Send 2K bytes over 1 Gbps network         20,000 ns
Read 1 MB sequentially from memory       250,000 ns
Round trip within same datacenter        500,000 ns
Disk seek                             10,000,000 ns
Read 1 MB sequentially from network   10,000,000 ns
Read 1 MB sequentially from disk      30,000,000 ns
Send packet CA->Netherlands->CA       150,000,000 ns
Filosofia de hardware no Google

•   Eficiência em consumo de energia
•   Datacenters com alta densidade de uso
•   Software deve sobreviver outages planejados ou não
•   Replique serviços inteiros, e não componentes de hardware
Um ano na vida de um cluster...

~0.5 overheating (power down most machines in <5 mins, ~1-2 days to recover)
~1 PDU failure (~500-1000 machines suddenly disappear, ~6 hours to come
back)
~1 rack-move (plenty of warning, ~500-1000 machines powered down, ~6 hours)
~1 network rewiring (rolling ~5% of machines down over 2-day span)
~20 rack failures (40-80 machines instantly disappear, 1-6 hours to get back)
~5 racks go “wonky” (40-80 machines see 50% packet loss)
~8 network maintenances (4 might cause ~30-minute random connectivity
losses)
~12 router reloads (takes out DNS and external vips for a couple minutes)
~3 router failures (have to immediately pull traffic for an hour)
~dozens of minor 30-second blips for dns
~1000 individual machine failures
~thousands of hard drive failures

... slow disks, bad memory, misconfigured machines, flaky machines, etc.
Google cluster

• 1000s máquinas, poucas configurações
• Sistema de arquivos (GFS) + Cluster scheduling system
• Geralmente 100s a 1000s de jobs ativos
   o alguns com 1 task, outros com 1000s
Redundância e failover

• Deployment: N+2
   o com crescimento de N, overhead por redundância diminui
      (%)
   o separação de dados de usuários e/ou aplicação
• Utilize balanceamento de carga como mecanismo de
  failover
   o desvia tráfego para outro cluster automaticamente
• Evita downtime de manutenção desviando tráfego
Balanceamento de carga multi-layer
Map reduce

• MapReduce
  o Lê um monte de dados
  o Mapeia: extrai somente a parte dos dados que são
    interessante para determinado processo
  o Shuffle e Sort
  o Reduzir: agrega, resume, filtra ou transforma
  o Escreve os resultados
• Reliability faz parte do processo de design,
  desenvolvimento e deployment de um serviço.
• Assim como não existe queijo demais em pizza, não existe
  redundância demais em serviços. Quanto mais 9s, melhor!

  E ainda assim, nós somente quase sempre
        respondemos suas perguntas...
Perguntas?


Não se acanhe!
Muito provavelmente sua pergunta será respondida :-)




Fernanda G Weiden <nanda@google.com>

Weitere ähnliche Inhalte

Was ist angesagt?

Planejamento (e recuperação) de Desastres por Rodrigo Campos
Planejamento (e recuperação) de Desastres por Rodrigo CamposPlanejamento (e recuperação) de Desastres por Rodrigo Campos
Planejamento (e recuperação) de Desastres por Rodrigo Campos
Joao Galdino Mello de Souza
 

Was ist angesagt? (9)

Monitoramento Opensource com Zabbix
Monitoramento Opensource com ZabbixMonitoramento Opensource com Zabbix
Monitoramento Opensource com Zabbix
 
1º Meetup Zabbix Meetup do Recife: Danilo Barros - Zabbix dicas e truques par...
1º Meetup Zabbix Meetup do Recife: Danilo Barros - Zabbix dicas e truques par...1º Meetup Zabbix Meetup do Recife: Danilo Barros - Zabbix dicas e truques par...
1º Meetup Zabbix Meetup do Recife: Danilo Barros - Zabbix dicas e truques par...
 
Monitoramento de ativos com zabbix
Monitoramento de ativos com zabbixMonitoramento de ativos com zabbix
Monitoramento de ativos com zabbix
 
Aula 009 de Gerenciamento de Redes - SNMP
Aula 009 de Gerenciamento de Redes - SNMPAula 009 de Gerenciamento de Redes - SNMP
Aula 009 de Gerenciamento de Redes - SNMP
 
Planejamento (e recuperação) de Desastres por Rodrigo Campos
Planejamento (e recuperação) de Desastres por Rodrigo CamposPlanejamento (e recuperação) de Desastres por Rodrigo Campos
Planejamento (e recuperação) de Desastres por Rodrigo Campos
 
Aula 008 - Gerenciamento e Desempenho de Redes: Halexsandro Sales
Aula 008 - Gerenciamento e Desempenho de Redes: Halexsandro SalesAula 008 - Gerenciamento e Desempenho de Redes: Halexsandro Sales
Aula 008 - Gerenciamento e Desempenho de Redes: Halexsandro Sales
 
Workshop de Monitoramento com Zabbix e OCS
Workshop de Monitoramento com Zabbix e OCSWorkshop de Monitoramento com Zabbix e OCS
Workshop de Monitoramento com Zabbix e OCS
 
Monitorando ativos com Zabbix
Monitorando ativos com ZabbixMonitorando ativos com Zabbix
Monitorando ativos com Zabbix
 
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
Apresentação Werneck - MeSeg RNP 2017 - Natal RN - Importância do monitoramen...
 

Andere mochten auch

livro-grandes-marcas-grandes-negocios
livro-grandes-marcas-grandes-negocioslivro-grandes-marcas-grandes-negocios
livro-grandes-marcas-grandes-negocios
Guto Xavier
 
exercicios_de_criatividade
exercicios_de_criatividadeexercicios_de_criatividade
exercicios_de_criatividade
Guto Xavier
 

Andere mochten auch (20)

Gfs slides
Gfs slidesGfs slides
Gfs slides
 
Google File System
Google File SystemGoogle File System
Google File System
 
Fireworks
FireworksFireworks
Fireworks
 
Windows
WindowsWindows
Windows
 
Sistema de tarefas 1.0
Sistema de tarefas 1.0Sistema de tarefas 1.0
Sistema de tarefas 1.0
 
Revisitando Local Storage
Revisitando Local StorageRevisitando Local Storage
Revisitando Local Storage
 
Introdução internet
Introdução internetIntrodução internet
Introdução internet
 
Empreendedorismo - você já teve uma ideia
Empreendedorismo - você já teve uma ideiaEmpreendedorismo - você já teve uma ideia
Empreendedorismo - você já teve uma ideia
 
Windows
WindowsWindows
Windows
 
Introdução ao desenvolvimento com HTML 5
Introdução ao desenvolvimento com HTML 5Introdução ao desenvolvimento com HTML 5
Introdução ao desenvolvimento com HTML 5
 
livro-grandes-marcas-grandes-negocios
livro-grandes-marcas-grandes-negocioslivro-grandes-marcas-grandes-negocios
livro-grandes-marcas-grandes-negocios
 
HTML - Imagens
HTML - ImagensHTML - Imagens
HTML - Imagens
 
Windows 2
Windows 2Windows 2
Windows 2
 
Primeira aula
Primeira aulaPrimeira aula
Primeira aula
 
Briefing
BriefingBriefing
Briefing
 
Imagens digitais
Imagens digitaisImagens digitais
Imagens digitais
 
Html
HtmlHtml
Html
 
exercicios_de_criatividade
exercicios_de_criatividadeexercicios_de_criatividade
exercicios_de_criatividade
 
Internet aula 2
Internet aula 2Internet aula 2
Internet aula 2
 
DOS - Comandos
DOS - ComandosDOS - Comandos
DOS - Comandos
 

Ähnlich wie Estratégias de escablabilidade para serviços online

Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentas
luanrjesus
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
iMasters
 
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas DistribuídosPlanejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
luanrjesus
 
Informatica Básica Aplicada no Contexto das Desigualdades sociais
Informatica Básica Aplicada no Contexto das Desigualdades sociaisInformatica Básica Aplicada no Contexto das Desigualdades sociais
Informatica Básica Aplicada no Contexto das Desigualdades sociais
RICARDO81499
 

Ähnlich wie Estratégias de escablabilidade para serviços online (20)

2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentas
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (..."Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
 
Planejamento de Capacidade - Técnicas e Ferramentas
Planejamento de Capacidade - Técnicas e FerramentasPlanejamento de Capacidade - Técnicas e Ferramentas
Planejamento de Capacidade - Técnicas e Ferramentas
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas DistribuídosPlanejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
 
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl
 
BIG DATA na UFSM
BIG DATA na UFSMBIG DATA na UFSM
BIG DATA na UFSM
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI Tecnologia
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
Informatica Basica.pptx
Informatica Basica.pptxInformatica Basica.pptx
Informatica Basica.pptx
 
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
 
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
 
Informatica Básica Aplicada no Contexto das Desigualdades sociais
Informatica Básica Aplicada no Contexto das Desigualdades sociaisInformatica Básica Aplicada no Contexto das Desigualdades sociais
Informatica Básica Aplicada no Contexto das Desigualdades sociais
 
MySQL Profiling com Enterprise Monitor
MySQL Profiling com Enterprise Monitor MySQL Profiling com Enterprise Monitor
MySQL Profiling com Enterprise Monitor
 
Apresentação HyperCloud GT8
Apresentação HyperCloud GT8Apresentação HyperCloud GT8
Apresentação HyperCloud GT8
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriques
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
 

Mehr von Guto Xavier

WEB - Guia_do_Ilust
WEB - Guia_do_IlustWEB - Guia_do_Ilust
WEB - Guia_do_Ilust
Guto Xavier
 
O uso da cor no ambiente de trabalho_Uma ergonomia da Percepcao
O uso da cor no ambiente de trabalho_Uma ergonomia da PercepcaoO uso da cor no ambiente de trabalho_Uma ergonomia da Percepcao
O uso da cor no ambiente de trabalho_Uma ergonomia da Percepcao
Guto Xavier
 
HTML - Cores Fontes Parágrafos
HTML - Cores Fontes ParágrafosHTML - Cores Fontes Parágrafos
HTML - Cores Fontes Parágrafos
Guto Xavier
 

Mehr von Guto Xavier (13)

Criatividade devpira
Criatividade   devpiraCriatividade   devpira
Criatividade devpira
 
Web design responsivo - Criando um site adaptável
Web design responsivo - Criando um site adaptávelWeb design responsivo - Criando um site adaptável
Web design responsivo - Criando um site adaptável
 
Técnicas de Apresentação em Público
Técnicas de Apresentação em PúblicoTécnicas de Apresentação em Público
Técnicas de Apresentação em Público
 
Pitch de vendas
Pitch de vendasPitch de vendas
Pitch de vendas
 
Sistema tst
Sistema tstSistema tst
Sistema tst
 
Banco de Dados - Trabalho de Tauan Silva
Banco de Dados - Trabalho de Tauan SilvaBanco de Dados - Trabalho de Tauan Silva
Banco de Dados - Trabalho de Tauan Silva
 
Arquitetura de informação
Arquitetura de informaçãoArquitetura de informação
Arquitetura de informação
 
Internet aula 3 social media
Internet aula 3   social mediaInternet aula 3   social media
Internet aula 3 social media
 
HTML - Tabelas
HTML - TabelasHTML - Tabelas
HTML - Tabelas
 
WEB - Guia_do_Ilust
WEB - Guia_do_IlustWEB - Guia_do_Ilust
WEB - Guia_do_Ilust
 
O uso da cor no ambiente de trabalho_Uma ergonomia da Percepcao
O uso da cor no ambiente de trabalho_Uma ergonomia da PercepcaoO uso da cor no ambiente de trabalho_Uma ergonomia da Percepcao
O uso da cor no ambiente de trabalho_Uma ergonomia da Percepcao
 
HTML - Listas
HTML - ListasHTML - Listas
HTML - Listas
 
HTML - Cores Fontes Parágrafos
HTML - Cores Fontes ParágrafosHTML - Cores Fontes Parágrafos
HTML - Cores Fontes Parágrafos
 

Kürzlich hochgeladen

atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 

Kürzlich hochgeladen (20)

Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exercicios
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 

Estratégias de escablabilidade para serviços online

  • 1. Porque o Google (quase) sempre responde as minhas perguntas? Fernanda G Weiden Site Reliability Engineer Cluster Management
  • 2. Missão "to organize the world's information and make it universally accessible and useful"
  • 3. O que o Google faz? e muito mais...
  • 4. O que está por trás disso tudo?
  • 5.
  • 6. Sysadmin na indústria... • Black-box software o pouca instrumentação, se existente • Dimensionamento de hardware o baseado nas necessidades do software o impulsionado por fornecedores • Monitoramento o Reação a falhas e imprevistos
  • 8. Site Reliability Engineering • "hope is not a strategy" o se você pensa que pode quebrar, provavelmente vai o se você pensa que não vai quebrar, definitivamente vai o de uma maneira que você não pensou o espetacular e "bizarramente"
  • 9. Reliability by Wikipedia "Ability of a person or system to perform and maintain its functions in routine circumstances, as well as hostile or unexpected circumstances."
  • 10. Site Reliability Engineering • 50% sysadmins, 50% engenheiros de software • Acesso completo ao código fonte o participação em revisão de design • PRR • Instalação o dimensionamento “job” - CPU, RAM, disk, network • Capacity Planning o crescimento orgânico, mudanças de infraestrutura, lançamento de funcionalidades • Monitores/alertas • Gerenciamento de clusters • Lançamento de software • Engenharia de software
  • 11. Site Reliability Engineering • Código fonte é tudo o código controlado o builds e rollouts automatizados • Sistema de revisão em par o estritos critérios de aceitação o guias de estilo, testes de pre-submit o subject ownership/expertise • Processo flexível: time, experts • Engineering driven (not management) o Critérios técnicos prevalecem
  • 12. Números que todos engenheir@s de computação deveria saber... L1 cache reference 0.5 ns Branch mispredict 5 ns L2 cache reference 7 ns Mutex lock/unlock 100 ns Main memory reference 100 ns Compress 1K bytes with Zippy 2,500 ns Send 2K bytes over 1 Gbps network 20,000 ns Read 1 MB sequentially from memory 250,000 ns Round trip within same datacenter 500,000 ns Disk seek 10,000,000 ns Read 1 MB sequentially from network 10,000,000 ns Read 1 MB sequentially from disk 30,000,000 ns Send packet CA->Netherlands->CA 150,000,000 ns
  • 13. Filosofia de hardware no Google • Eficiência em consumo de energia • Datacenters com alta densidade de uso • Software deve sobreviver outages planejados ou não • Replique serviços inteiros, e não componentes de hardware
  • 14. Um ano na vida de um cluster... ~0.5 overheating (power down most machines in <5 mins, ~1-2 days to recover) ~1 PDU failure (~500-1000 machines suddenly disappear, ~6 hours to come back) ~1 rack-move (plenty of warning, ~500-1000 machines powered down, ~6 hours) ~1 network rewiring (rolling ~5% of machines down over 2-day span) ~20 rack failures (40-80 machines instantly disappear, 1-6 hours to get back) ~5 racks go “wonky” (40-80 machines see 50% packet loss) ~8 network maintenances (4 might cause ~30-minute random connectivity losses) ~12 router reloads (takes out DNS and external vips for a couple minutes) ~3 router failures (have to immediately pull traffic for an hour) ~dozens of minor 30-second blips for dns ~1000 individual machine failures ~thousands of hard drive failures ... slow disks, bad memory, misconfigured machines, flaky machines, etc.
  • 15. Google cluster • 1000s máquinas, poucas configurações • Sistema de arquivos (GFS) + Cluster scheduling system • Geralmente 100s a 1000s de jobs ativos o alguns com 1 task, outros com 1000s
  • 16. Redundância e failover • Deployment: N+2 o com crescimento de N, overhead por redundância diminui (%) o separação de dados de usuários e/ou aplicação • Utilize balanceamento de carga como mecanismo de failover o desvia tráfego para outro cluster automaticamente • Evita downtime de manutenção desviando tráfego
  • 17. Balanceamento de carga multi-layer
  • 18. Map reduce • MapReduce o Lê um monte de dados o Mapeia: extrai somente a parte dos dados que são interessante para determinado processo o Shuffle e Sort o Reduzir: agrega, resume, filtra ou transforma o Escreve os resultados
  • 19. • Reliability faz parte do processo de design, desenvolvimento e deployment de um serviço. • Assim como não existe queijo demais em pizza, não existe redundância demais em serviços. Quanto mais 9s, melhor! E ainda assim, nós somente quase sempre respondemos suas perguntas...
  • 20. Perguntas? Não se acanhe! Muito provavelmente sua pergunta será respondida :-) Fernanda G Weiden <nanda@google.com>