Agenda
• Intro
• Migrando de relatório para uma solução de BI
• Under the Hood
• Lições aprendidas
Reporting
Analytics
&
No Início - Report
Fornecerinformaçõesdeuso
Estatísticasedadosgerais
• Número de Visualizações
• Número de Visualizações Completas
• Retenção por quartil
• Tráfego
• Número de Uploads, etc…
N...
No Início - Report
+Dados
!
• Problema: Custo Elevado
• Apresentava bom desempenho
• Problema: Instabilidade, interações entre aplicações
• Aplicaçõ...
O Problema mudou?
Reverosobjetivos
Oproblemamudou?
FEYNMANPROBLEM-SOLVINGALGORITHM
Murray Gell-Mann
“
“http://drtomcrick.com/2011/04/26/feynman-problem-solving-algorithm/
Fe...
FEYNMANPROBLEM-SOLVINGALGORITHM
1. Write down the problem.
Murray Gell-Mann
“
“http://drtomcrick.com/2011/04/26/feynman-pr...
FEYNMANPROBLEM-SOLVINGALGORITHM
1. Write down the problem.
2. Think very hard.
Murray Gell-Mann
“
“
FEYNMANPROBLEM-SOLVINGALGORITHM
1. Write down the problem.
2. Think very hard.
3. Write down the answer
Murray Gell-Mann
“...
+Perguntas
+Dados
+Clientes
+Segmentos
O problema - BI
Processamento de dados
FoconaInovaçãoeconstruçãodasolução
Somosumastartup
Manter foco na Inovação
Flexível e Escalonável
SLA Alto
Pagar de acordo com o uso
Baixo custo de administração de infra
Ob...
A visualização dos dados deve ser clara e objetiva.
Objetivos
Design agrega valor!
Analytics geral
Ge
ral
Analytics detalhes de consumo da media
VI
DEO
Em alta
EM
ALTA
Perfil da audiência
QU
EM
Samba facts
Dados de volume do analytics
Small Sharp Tools
Filosofia Unix
COLETAR
Data Pipeline
PROCESSAR INFORMAR
Data Pipeline - STTM
SambatechTrackingModel
COLETOR APIPROCESSADOR
STTM - Solução
DynamoAmazon SQS
S3
Data and Logs
Glacier
COLETOR API
PROCESSADOR
AGREGADOR
SUMARIZADOR
HTTPIN HTTPOUT
EMR
...
COLETAR
Data Pipeline
PROCESSAR INFORMAR
Data Pipeline - STTM
INFORMAR
COLETOR
Coleta de dados - STTM
GET sttm.gif http://sttm.sambatech.com.br/collector/
__sttm.gif?
sttms=12de2304-74f2-80f0-8b8b-909e...
COLETOR - Objetivos
• Rápido
• Simples e Escalável
• Confiável e Consistente
COLETOR
COLETOR
COLETOR
HTTPIN
Logger
MsgBuilder
COLETOR
COLETOR
HTTPIN
Logger
MsgBuilder
Amazon SQS
COLETOR
COLETOR
HTTPIN
Logger
MsgBuilder
Amazon SQS
S3
Data and Logs
Glacier
COLETOR
Amazon SQS
S3
Data and Logs
Glacier
COLETOR
HTTPIN
Logger
MsgBuilder
GIF
COLETOR
Comunicação
Amazon SQS
• Assincronia e Controle de fluxo
• Sem perdas de mensagens
• Log de mensagens não processadas.
• E...
COLETAR
Data Pipeline
PROCESSAR INFORMAR
Data Pipeline
INFORMARPROCESSARCOLETAR
PROCESSADOR
Processador
DynamoAmazon SQS
PROCESSADOR
AGREGADOR
SUMARIZADOR
EMR
Data Processing
Agregador
DynamoAmazon SQS
AGREGADOR
Builder
MsgAgreg
Porque Dynamo
• Baixa Latência
• Alta performance
• Gerenciado
• Escalável
• Alto SLA
• Multi A/Z
• Hot Keys Problem
Dynamo
Agregador
Amazon SQS
AGREGADOR
Builder
MsgAgreg
Agregador
Amazon SQS
AGREGADOR
Builder
MsgAgreg
Auto scaling Group
Instances
APP Srv
Agregation
Hot Keys Problem
Dynamo
AGREGADOR
Builder
MsgAgreg
Registro
Writes
0
27.5
55
82.5
110
Time
1 2 3 4 5 6
WriteCapacity
Hot Keys Problem
Dynamo
AGREGADOR
Builder
MsgAgreg
SplitKeys
Hot Keys Problem
Writes
0
27.5
55
82.5
110
Time
1 2 3 4 5 6
WriteCapacity
Dynamo
AGREGADOR
Builder
MsgAgreg
SplitKeys
Hot Keys Problem
Dynamo
AGREGADOR
Builder
MsgAgreg
SplitKeys
Tabelas
Diarias
Processador
DynamoAmazon SQS
PROCESSADOR
AGREGADOR
SUMARIZADOR
EMR
Data Processing
Sumarizador
Dynamo
EMR
Data Processing
Sumarizador
!
• Escalável
• Controle de Custos
• Managed
• Hadoop como serviço
• Map Reduce Engine
• Bom gerenciamento de capacidade
•...
Diarias
Dynamo
EMR
Data Processing
Sumarizador
Load
Sumarizador
Diarias
Dynamo
EMR
Data Processing
Sumarizador
MergeKeys
Sumarizador
Jobs
Sumarizadas
Minutos
Horas
Dynamo
EMR
Data Processing
Sumarizador
Save
Sumarizador
1. Run job
2. Find Bottoleneck
3. Optimize
Sumarizador
Dynamo
EMR
Data Processing
Sumarizador x/diaNetwork
Sumarizador
Dynamo
EMR
Data Processing
Sumarizador
Alive Cluster
x/dia
Conhecer bem o problema e os dados é essencial.
Otimizações locais são eficientes!
COLETAR
Data Pipeline
PROCESSAR INFORMAR
Data Pipeline
INFORMARINFORMARCOLETAR
API
API - Rest
Dynamo
API
CDN
Analytics - Solução
RECAP
DynamoAmazon SQS
S3
Data and Logs
Glacier
COLETOR API
PROCESSADOR
AGREGADOR
SUMARIZADOR
HTTPIN HTTPOUT
EMR
Data Proc...
Lições aprendidas
As aplicações são focadas, pequenas e
conectadas por uma fila ou datastore.
O output de uma é input para...
Custo
0
0.25
0.5
0.75
1
Latência (H)
0 1 3 6 12 24
100%
57%
46%
40% 38% 37%
Latência vs Custo
Custo estimado
Por Requisiçã...
Custo
0
0.25
0.5
0.75
1
Latência(H)
0 1 3 6 12 24
100%
57%
46%
40% 38% 37%
Latência vs Custo
Custo estimado
Por Requisição...
Manter foco na Inovação
Flexível e Escalonável
SLA Alto
Pagar de acordo com o uso
Baixo custo de administração de infra
Ob...
• Soluções gerenciadas ajudam a manter o foco
no problema, mas podem trazer limitações
inesperadas.
• Arquitetura flexívei...
LIDIO RAMALHO, CTO!
LIDIO.RAMALHO@SAMBATECH.COM.BR!
@lidioramalho
Samba Tech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online em larga escala
Samba Tech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online em larga escala
Samba Tech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online em larga escala
Próximos SlideShares
Carregando em…5
×

Samba Tech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online em larga escala

212 visualizações

Publicada em

Samba Tech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online em larga escala

A Samba Tech é uma startup fundada em 2004 e atualmente líder na América Latina em gestão e distribuição profissional de vídeos online. Atualmente suporta um tráfego anual de 15PB, garantindo a entrega e análise de mais de 400 milhões de video views/mês. Os vídeos entregues pela Samba Tech atingem 1 a cada 10 usuários únicos no Brasil e geram cerca de 2 Bilhões de requisições mensais.
Será tema desta palestra os desafios e soluções adotadas na construção de uma ferramenta para análise dos dados de consumo dos vídeos administrados através da plataforma da empresa. Com um grande volume de requisições, a solução exigiu uma arquitetura de alto desempenho, confiável e elástica para gerar informações precisas para tomada de decisões estratégicas dos clientes.

Lídio Ramalho

CTO da Samba Tech.

Chief Technology Officer da Samba Tech, é bacharel em Ciência da Computação pela UFMG, especializado em Cloud Computing, Redes de computadores e arquitetura de sistemas. É arquiteto de software e líder da equipe de WebOperations da empresa.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
212
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Samba Tech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online em larga escala

  1. 1. Agenda • Intro • Migrando de relatório para uma solução de BI • Under the Hood • Lições aprendidas
  2. 2. Reporting Analytics &
  3. 3. No Início - Report Fornecerinformaçõesdeuso Estatísticasedadosgerais
  4. 4. • Número de Visualizações • Número de Visualizações Completas • Retenção por quartil • Tráfego • Número de Uploads, etc… No Início - Report
  5. 5. No Início - Report +Dados
  6. 6. ! • Problema: Custo Elevado • Apresentava bom desempenho • Problema: Instabilidade, interações entre aplicações • Aplicações com perfis muito diferentes convivendo num mesmo cluster. • Crescimento expressivo no volume de dados e requisições • Problema: crescimento acelerado da base, administração do banco. No Início - Então decidimos coletar mais dados - Java, Python e Mysql V1
  7. 7. O Problema mudou? Reverosobjetivos Oproblemamudou?
  8. 8. FEYNMANPROBLEM-SOLVINGALGORITHM Murray Gell-Mann “ “http://drtomcrick.com/2011/04/26/feynman-problem-solving-algorithm/ Feynman
  9. 9. FEYNMANPROBLEM-SOLVINGALGORITHM 1. Write down the problem. Murray Gell-Mann “ “http://drtomcrick.com/2011/04/26/feynman-problem-solving-algorithm/
  10. 10. FEYNMANPROBLEM-SOLVINGALGORITHM 1. Write down the problem. 2. Think very hard. Murray Gell-Mann “ “
  11. 11. FEYNMANPROBLEM-SOLVINGALGORITHM 1. Write down the problem. 2. Think very hard. 3. Write down the answer Murray Gell-Mann “ “
  12. 12. +Perguntas +Dados +Clientes +Segmentos O problema - BI
  13. 13. Processamento de dados
  14. 14. FoconaInovaçãoeconstruçãodasolução Somosumastartup
  15. 15. Manter foco na Inovação Flexível e Escalonável SLA Alto Pagar de acordo com o uso Baixo custo de administração de infra Objetivos
  16. 16. A visualização dos dados deve ser clara e objetiva. Objetivos Design agrega valor!
  17. 17. Analytics geral Ge ral
  18. 18. Analytics detalhes de consumo da media VI DEO
  19. 19. Em alta EM ALTA
  20. 20. Perfil da audiência QU EM
  21. 21. Samba facts Dados de volume do analytics
  22. 22. Small Sharp Tools Filosofia Unix
  23. 23. COLETAR Data Pipeline PROCESSAR INFORMAR Data Pipeline - STTM SambatechTrackingModel COLETOR APIPROCESSADOR
  24. 24. STTM - Solução DynamoAmazon SQS S3 Data and Logs Glacier COLETOR API PROCESSADOR AGREGADOR SUMARIZADOR HTTPIN HTTPOUT EMR Data Processing
  25. 25. COLETAR Data Pipeline PROCESSAR INFORMAR Data Pipeline - STTM INFORMAR COLETOR
  26. 26. Coleta de dados - STTM GET sttm.gif http://sttm.sambatech.com.br/collector/ __sttm.gif? sttms=12de2304-74f2-80f0-8b8b-909ec4 c4f158&sttmu=123a232saa111kkkk3&stt mm=p07,r07,p08,r08,p09,r09,p10,r10&stt mw=pid:310/cat:5219/ mid:b1e9b34ce8f6d8e73d5793a8038796 7d&sttmk=ae810ebc7f0654c4fadc50935 adcf5ec&&sttmsg=org:www.mydomain.co m.br&sttmm=play COLETOR Response 35 Bytes
  27. 27. COLETOR - Objetivos • Rápido • Simples e Escalável • Confiável e Consistente
  28. 28. COLETOR
  29. 29. COLETOR COLETOR HTTPIN Logger MsgBuilder
  30. 30. COLETOR COLETOR HTTPIN Logger MsgBuilder Amazon SQS
  31. 31. COLETOR COLETOR HTTPIN Logger MsgBuilder Amazon SQS S3 Data and Logs Glacier
  32. 32. COLETOR Amazon SQS S3 Data and Logs Glacier COLETOR HTTPIN Logger MsgBuilder GIF
  33. 33. COLETOR
  34. 34. Comunicação Amazon SQS • Assincronia e Controle de fluxo • Sem perdas de mensagens • Log de mensagens não processadas. • Escalável sob demanda • Alto SLA • Gerenciado • Custo relativamente Baixo • Não suporta AMQP
  35. 35. COLETAR Data Pipeline PROCESSAR INFORMAR Data Pipeline INFORMARPROCESSARCOLETAR PROCESSADOR
  36. 36. Processador DynamoAmazon SQS PROCESSADOR AGREGADOR SUMARIZADOR EMR Data Processing
  37. 37. Agregador DynamoAmazon SQS AGREGADOR Builder MsgAgreg
  38. 38. Porque Dynamo • Baixa Latência • Alta performance • Gerenciado • Escalável • Alto SLA • Multi A/Z • Hot Keys Problem Dynamo
  39. 39. Agregador Amazon SQS AGREGADOR Builder MsgAgreg
  40. 40. Agregador Amazon SQS AGREGADOR Builder MsgAgreg Auto scaling Group Instances APP Srv Agregation
  41. 41. Hot Keys Problem Dynamo AGREGADOR Builder MsgAgreg Registro Writes 0 27.5 55 82.5 110 Time 1 2 3 4 5 6 WriteCapacity
  42. 42. Hot Keys Problem Dynamo AGREGADOR Builder MsgAgreg SplitKeys
  43. 43. Hot Keys Problem Writes 0 27.5 55 82.5 110 Time 1 2 3 4 5 6 WriteCapacity Dynamo AGREGADOR Builder MsgAgreg SplitKeys
  44. 44. Hot Keys Problem Dynamo AGREGADOR Builder MsgAgreg SplitKeys Tabelas Diarias
  45. 45. Processador DynamoAmazon SQS PROCESSADOR AGREGADOR SUMARIZADOR EMR Data Processing
  46. 46. Sumarizador Dynamo EMR Data Processing Sumarizador
  47. 47. ! • Escalável • Controle de Custos • Managed • Hadoop como serviço • Map Reduce Engine • Bom gerenciamento de capacidade • Integração com S3 e Dynamo EMR Data Processing Porque EMR
  48. 48. Diarias Dynamo EMR Data Processing Sumarizador Load Sumarizador
  49. 49. Diarias Dynamo EMR Data Processing Sumarizador MergeKeys Sumarizador Jobs
  50. 50. Sumarizadas Minutos Horas Dynamo EMR Data Processing Sumarizador Save Sumarizador
  51. 51. 1. Run job 2. Find Bottoleneck 3. Optimize Sumarizador Dynamo EMR Data Processing Sumarizador x/diaNetwork
  52. 52. Sumarizador Dynamo EMR Data Processing Sumarizador Alive Cluster x/dia
  53. 53. Conhecer bem o problema e os dados é essencial. Otimizações locais são eficientes!
  54. 54. COLETAR Data Pipeline PROCESSAR INFORMAR Data Pipeline INFORMARINFORMARCOLETAR API
  55. 55. API - Rest Dynamo API CDN
  56. 56. Analytics - Solução
  57. 57. RECAP DynamoAmazon SQS S3 Data and Logs Glacier COLETOR API PROCESSADOR AGREGADOR SUMARIZADOR HTTPIN HTTPOUT EMR Data Processing
  58. 58. Lições aprendidas As aplicações são focadas, pequenas e conectadas por uma fila ou datastore. O output de uma é input para a outra.
  59. 59. Custo 0 0.25 0.5 0.75 1 Latência (H) 0 1 3 6 12 24 100% 57% 46% 40% 38% 37% Latência vs Custo Custo estimado Por Requisição LatênciavsCusto
  60. 60. Custo 0 0.25 0.5 0.75 1 Latência(H) 0 1 3 6 12 24 100% 57% 46% 40% 38% 37% Latência vs Custo Custo estimado Por Requisição LatênciavsCusto
  61. 61. Manter foco na Inovação Flexível e Escalonável SLA Alto Pagar de acordo com o uso Baixo custo de administração de infra Objetivos
  62. 62. • Soluções gerenciadas ajudam a manter o foco no problema, mas podem trazer limitações inesperadas. • Arquitetura flexíveis ajudam a responder rapidamente a limitações. ! ! ! COn clu são
  63. 63. LIDIO RAMALHO, CTO! LIDIO.RAMALHO@SAMBATECH.COM.BR! @lidioramalho

×