SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Monitorando sistemas
distribuÍdos
@nbluis - Eduardo Bohrer
@sebawebber - Sebastian Webber
Sobre nós
Eduardo Bohrer
@nbluis
Sebastian Webber
@sebawebber
A história dA arq. de sistemas
Como era a arquitetura antigamente ?
Aplicação Banco de Dados
Como monitoramos isso ?
Aplicação Banco de Dados
CPU
MemÓria
Disco
REDE
CPU
MemÓria
Disco
REDE
E EVOLUÍMOS
Aplicação Banco de Dados
Como monitoramos isso ?
Aplicação Banco de Dados
CPU
MemÓria
Disco
REDE
CPU
MemÓria
Disco
REDE
CPU
MemÓria
Disco
REDE
CPU
MemÓria
Disco
REDE
CPU
MemÓria
Disco
REDE
CPU
MemÓria
Disco
REDE
Nasce um uma nova forma de
fazer as coisas
- Micro-serviços
- Nano-Serviços
- Distribuídos
- Pequenos
- Independentes
- Tecnologia heterogênea
CONTAINERS
“NanoServiços”
Funções ou realmente pequenos microserviços ficam pra outro
dia, ok?
Como é uma arquitetura atualmente ?
APP 1
APP 3
APP 6
APP 2
APP 2
APP 6
APP 2
APP 1
APP 7
APP 5
APP 2
APP 1
APP 5
APP 4
APP 4
APP 4
APP 3
APP 1
APP 1
APP 1
APP 2
APP 2
APP 5
APP 6
APP 4
APP 4
APP 1
APP 4
APP 1
APP 2
E como monitoramos isso?
APP 1
APP 3
APP 6
APP 2
APP 2
APP 6
APP 2
APP 1
APP 7
APP 5
APP 2
APP 1
APP 5
APP 4
APP 4
APP 4
APP 3
APP 1
APP 1
APP 1
APP 2
APP 2
APP 5
APP 6
APP 4
APP 4
APP 1
APP 4
APP 1
APP 2
CPU
MemÓria
Disco
REDE
E como monitoramos isso?
APP 1
APP 3
APP 6
APP 2
APP 2
APP 6
APP 2
APP 1
APP 7
APP 5
APP 2
APP 1
APP 5
APP 4
APP 4
APP 4
APP 3
APP 1
APP 1
APP 1
APP 2
APP 2
APP 5
APP 6
APP 4
APP 4
APP 1
APP 4
APP 1
APP 2
CPU
MemÓria
Disco
REDE
E como monitoramos isso?
APP 1 CPU - 100%
APP 1 CPU - 100%
APP 1 CPU - 10%
APP 1 CPU - 12%
APP 1 CPU - 100%
APP 1 CPU - 2%
AVG CPU - 54%
E como monitoramos isso?
APP 1 CPU - 95%
APP 1 CPU - 90%
APP 1 CPU - 10%
APP 1 CPU - 12%
APP 1 CPU - 90%
APP 1 CPU - 2%
AVG CPU - 49%
Vamos analisar
- 50% dos usuários está
presenciando lentidão neste
momento
APP 1 CPU - 100%
APP 1 CPU - 100%
APP 1 CPU - 10%
APP 1 CPU - 12%
APP 1 CPU - 100%
APP 1 CPU - 2%
Vamos mudar a pergunta
Para seu usuário:
Qual o valor ideal para uso de CPU ?
Qual o valor ideal para uso de Memória ?
Qual o valor ideal para uso de Disco ?
Qual o valor ideal para uso de Rede ?
Vamos mudar a pergunta
Para seu usuário:
Qual o valor ideal para uso de CPU ?
Qual o valor ideal para uso de Memória ?
Qual o valor ideal para uso de Disco ?
Qual o valor ideal para uso de Rede ?
O sistema tem que estar disponível
O sistema tem que ser rápido
O sistema não pode ter erros
O que seu usuário quer...
MAS ENTÃO QUAL A SOLUÇÃO ?
SINTOMAS vs CAUSAS
● Dor de garganta
● Febre
● Dor no corpo
● Faringite
● Laringite
● E Ite, e ite, e ite
SLI <
SLO <
SLA
SLI
SLO
SLA
SLI
Real system problems
1. Quantos ms leva pra adicionar um item no carrinho?
2. Quandos ms leva para aprovar a compra?
3. Média de erros ao aprovar uma compra
SLO vs SLA
O que queremos entregar (METAS)
vs
o que mínimo que temos de entregar (CONTRATO)
Quando indicadores que representam a
perspectivas do usuário estão ok
O que significa um sistema funcionando ?
O que eu faço
com
CPU/MEM/REDE?
Golden signals
O quick start framework
Latency / Errors / Traffic / Saturation
Leia, leia leia
Perguntas?
Monitorando sistemas
distribuÍdos
@nbluis - Eduardo Bohrer
@sebawebber - Sebastian Webber

Mais conteúdo relacionado

Semelhante a Monitorando sistemas distribuidos

Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Sérgio Souza Costa
 
Conhecimento Basico de Informatica - Parte II
Conhecimento Basico de Informatica - Parte IIConhecimento Basico de Informatica - Parte II
Conhecimento Basico de Informatica - Parte IIABCursos OnLine
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e softwarePaulo Fonseca
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Emerson Macedo
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSEmerson Macedo
 
Performance e Tunning - Boas práticas em desenvolvimento
Performance e Tunning - Boas práticas em desenvolvimentoPerformance e Tunning - Boas práticas em desenvolvimento
Performance e Tunning - Boas práticas em desenvolvimentoMarcelo Raposo
 
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...iMasters
 
DBA BRASIL 1.0 - O Futuro do DBA em um universo as a Service.
DBA BRASIL 1.0 - O Futuro do DBA em um universo as a Service.DBA BRASIL 1.0 - O Futuro do DBA em um universo as a Service.
DBA BRASIL 1.0 - O Futuro do DBA em um universo as a Service.Carlos Smaniotto
 
Como Python pode ajudar na automação do seu laboratório
Como Python pode ajudar na automação do  seu laboratórioComo Python pode ajudar na automação do  seu laboratório
Como Python pode ajudar na automação do seu laboratórioMarcel Caraciolo
 
História dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoHistória dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoLeo Lorieri
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better ProductsPedro Marques
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Thiago Rondon
 
Estruturando um SaaS Multi-tenant no ecossistema AWS
Estruturando um SaaS Multi-tenant no ecossistema AWSEstruturando um SaaS Multi-tenant no ecossistema AWS
Estruturando um SaaS Multi-tenant no ecossistema AWSmatheuscmpm
 
Monitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaMonitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaPietro Scherer
 

Semelhante a Monitorando sistemas distribuidos (20)

Aula 06 softwares
Aula 06   softwaresAula 06   softwares
Aula 06 softwares
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Conhecimento Basico de Informatica - Parte II
Conhecimento Basico de Informatica - Parte IIConhecimento Basico de Informatica - Parte II
Conhecimento Basico de Informatica - Parte II
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e software
 
Upgrades hardware
Upgrades hardwareUpgrades hardware
Upgrades hardware
 
Upgrades hardware
Upgrades hardwareUpgrades hardware
Upgrades hardware
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJS
 
Performance e Tunning - Boas práticas em desenvolvimento
Performance e Tunning - Boas práticas em desenvolvimentoPerformance e Tunning - Boas práticas em desenvolvimento
Performance e Tunning - Boas práticas em desenvolvimento
 
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
Performance e Tunning no dia a dia do desenvolvimento: boas práticas com banc...
 
DBA BRASIL 1.0 - O Futuro do DBA em um universo as a Service.
DBA BRASIL 1.0 - O Futuro do DBA em um universo as a Service.DBA BRASIL 1.0 - O Futuro do DBA em um universo as a Service.
DBA BRASIL 1.0 - O Futuro do DBA em um universo as a Service.
 
Como Python pode ajudar na automação do seu laboratório
Como Python pode ajudar na automação do  seu laboratórioComo Python pode ajudar na automação do  seu laboratório
Como Python pode ajudar na automação do seu laboratório
 
História dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeitoHistória dos Sistemas - Por que estamos fazendo desse jeito
História dos Sistemas - Por que estamos fazendo desse jeito
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better Products
 
Blockchain Day RJ
Blockchain Day RJBlockchain Day RJ
Blockchain Day RJ
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.
 
Estruturando um SaaS Multi-tenant no ecossistema AWS
Estruturando um SaaS Multi-tenant no ecossistema AWSEstruturando um SaaS Multi-tenant no ecossistema AWS
Estruturando um SaaS Multi-tenant no ecossistema AWS
 
Monitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaMonitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - Monografia
 
Aula 06
Aula 06Aula 06
Aula 06
 

Mais de Eduardo Bohrer

Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18Eduardo Bohrer
 
Refatoração - XPConfBR 2015
Refatoração - XPConfBR 2015 Refatoração - XPConfBR 2015
Refatoração - XPConfBR 2015 Eduardo Bohrer
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!Eduardo Bohrer
 
Git para quem gosta de git
Git para quem gosta de gitGit para quem gosta de git
Git para quem gosta de gitEduardo Bohrer
 
NoSQL and AWS Dynamodb
NoSQL and AWS DynamodbNoSQL and AWS Dynamodb
NoSQL and AWS DynamodbEduardo Bohrer
 
uMov.me API - Do básico ao avançado
uMov.me API - Do básico ao avançadouMov.me API - Do básico ao avançado
uMov.me API - Do básico ao avançadoEduardo Bohrer
 
XSS (Cross site scripting)
XSS (Cross site scripting)XSS (Cross site scripting)
XSS (Cross site scripting)Eduardo Bohrer
 
Memória e Garbage Collection na JVM
Memória e Garbage Collection na JVMMemória e Garbage Collection na JVM
Memória e Garbage Collection na JVMEduardo Bohrer
 
Chaos Report - Web Security Version
Chaos Report - Web Security VersionChaos Report - Web Security Version
Chaos Report - Web Security VersionEduardo Bohrer
 

Mais de Eduardo Bohrer (10)

Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18Kubernetes - ThoughtWorks Tech Radar 18
Kubernetes - ThoughtWorks Tech Radar 18
 
Refatoração - XPConfBR 2015
Refatoração - XPConfBR 2015 Refatoração - XPConfBR 2015
Refatoração - XPConfBR 2015
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!
 
Git para quem gosta de git
Git para quem gosta de gitGit para quem gosta de git
Git para quem gosta de git
 
NoSQL and AWS Dynamodb
NoSQL and AWS DynamodbNoSQL and AWS Dynamodb
NoSQL and AWS Dynamodb
 
uMov.me API - Do básico ao avançado
uMov.me API - Do básico ao avançadouMov.me API - Do básico ao avançado
uMov.me API - Do básico ao avançado
 
XSS (Cross site scripting)
XSS (Cross site scripting)XSS (Cross site scripting)
XSS (Cross site scripting)
 
Memória e Garbage Collection na JVM
Memória e Garbage Collection na JVMMemória e Garbage Collection na JVM
Memória e Garbage Collection na JVM
 
Chaos Report - Web Security Version
Chaos Report - Web Security VersionChaos Report - Web Security Version
Chaos Report - Web Security Version
 

Monitorando sistemas distribuidos

  • 1. Monitorando sistemas distribuÍdos @nbluis - Eduardo Bohrer @sebawebber - Sebastian Webber
  • 3. A história dA arq. de sistemas
  • 4. Como era a arquitetura antigamente ? Aplicação Banco de Dados
  • 5. Como monitoramos isso ? Aplicação Banco de Dados CPU MemÓria Disco REDE CPU MemÓria Disco REDE
  • 7. Como monitoramos isso ? Aplicação Banco de Dados CPU MemÓria Disco REDE CPU MemÓria Disco REDE CPU MemÓria Disco REDE CPU MemÓria Disco REDE CPU MemÓria Disco REDE CPU MemÓria Disco REDE
  • 8. Nasce um uma nova forma de fazer as coisas - Micro-serviços - Nano-Serviços - Distribuídos - Pequenos - Independentes - Tecnologia heterogênea CONTAINERS
  • 9. “NanoServiços” Funções ou realmente pequenos microserviços ficam pra outro dia, ok?
  • 10. Como é uma arquitetura atualmente ? APP 1 APP 3 APP 6 APP 2 APP 2 APP 6 APP 2 APP 1 APP 7 APP 5 APP 2 APP 1 APP 5 APP 4 APP 4 APP 4 APP 3 APP 1 APP 1 APP 1 APP 2 APP 2 APP 5 APP 6 APP 4 APP 4 APP 1 APP 4 APP 1 APP 2
  • 11. E como monitoramos isso? APP 1 APP 3 APP 6 APP 2 APP 2 APP 6 APP 2 APP 1 APP 7 APP 5 APP 2 APP 1 APP 5 APP 4 APP 4 APP 4 APP 3 APP 1 APP 1 APP 1 APP 2 APP 2 APP 5 APP 6 APP 4 APP 4 APP 1 APP 4 APP 1 APP 2 CPU MemÓria Disco REDE
  • 12. E como monitoramos isso? APP 1 APP 3 APP 6 APP 2 APP 2 APP 6 APP 2 APP 1 APP 7 APP 5 APP 2 APP 1 APP 5 APP 4 APP 4 APP 4 APP 3 APP 1 APP 1 APP 1 APP 2 APP 2 APP 5 APP 6 APP 4 APP 4 APP 1 APP 4 APP 1 APP 2 CPU MemÓria Disco REDE
  • 13. E como monitoramos isso? APP 1 CPU - 100% APP 1 CPU - 100% APP 1 CPU - 10% APP 1 CPU - 12% APP 1 CPU - 100% APP 1 CPU - 2% AVG CPU - 54%
  • 14. E como monitoramos isso? APP 1 CPU - 95% APP 1 CPU - 90% APP 1 CPU - 10% APP 1 CPU - 12% APP 1 CPU - 90% APP 1 CPU - 2% AVG CPU - 49%
  • 15. Vamos analisar - 50% dos usuários está presenciando lentidão neste momento APP 1 CPU - 100% APP 1 CPU - 100% APP 1 CPU - 10% APP 1 CPU - 12% APP 1 CPU - 100% APP 1 CPU - 2%
  • 16. Vamos mudar a pergunta Para seu usuário: Qual o valor ideal para uso de CPU ? Qual o valor ideal para uso de Memória ? Qual o valor ideal para uso de Disco ? Qual o valor ideal para uso de Rede ?
  • 17. Vamos mudar a pergunta Para seu usuário: Qual o valor ideal para uso de CPU ? Qual o valor ideal para uso de Memória ? Qual o valor ideal para uso de Disco ? Qual o valor ideal para uso de Rede ?
  • 18. O sistema tem que estar disponível O sistema tem que ser rápido O sistema não pode ter erros O que seu usuário quer...
  • 19. MAS ENTÃO QUAL A SOLUÇÃO ?
  • 20. SINTOMAS vs CAUSAS ● Dor de garganta ● Febre ● Dor no corpo ● Faringite ● Laringite ● E Ite, e ite, e ite
  • 23. SLI Real system problems 1. Quantos ms leva pra adicionar um item no carrinho? 2. Quandos ms leva para aprovar a compra? 3. Média de erros ao aprovar uma compra
  • 24. SLO vs SLA O que queremos entregar (METAS) vs o que mínimo que temos de entregar (CONTRATO)
  • 25. Quando indicadores que representam a perspectivas do usuário estão ok O que significa um sistema funcionando ?
  • 26. O que eu faço com CPU/MEM/REDE?
  • 27. Golden signals O quick start framework Latency / Errors / Traffic / Saturation
  • 28.
  • 31. Monitorando sistemas distribuÍdos @nbluis - Eduardo Bohrer @sebawebber - Sebastian Webber