Your SlideShare is downloading. ×
QConSP 2014 SambaTech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online em larga escala
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

356
views

Published on

Arquiteturas e tecnologias por trás da análise de vídeos online em larga escala. …

Arquiteturas e tecnologias por trás da análise de vídeos online em larga escala.
Para suportar um grande volume de requisições, a solução foi desenvolvida sobre uma infraestrutura elástica, com provisionamento automático de recursos. A utilização de uma nuvem híbrida permitiu a aplicação obter alto desempenho e disponibilidade.

Published in: Data & Analytics

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
356
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
8
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Agenda • Intro • Migrando de relatório para uma solução de BI • Under the Hood • Operação e Lições aprendidas
  • 2. FALAR da SAMBA
  • 3. FALAR da SAMBA HACKWEEKS
  • 4. Reporting Analytics &
  • 5. No Início - Report Fornecerinformaçõesdeuso Estatísticasedadosgerais
  • 6. • 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
  • 7. No Início - Report +Dados
  • 8. ! • 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 T1
  • 9. O Problema mudou? Reverosobjetivos Oproblemamudou?
  • 10. FEYNMANPROBLEM-SOLVINGALGORITHM Murray Gell-Mann “ “http://drtomcrick.com/2011/04/26/feynman-problem-solving-algorithm/ Feynman
  • 11. FEYNMANPROBLEM-SOLVINGALGORITHM 1. Write down the problem. Murray Gell-Mann “ “http://drtomcrick.com/2011/04/26/feynman-problem-solving-algorithm/
  • 12. FEYNMANPROBLEM-SOLVINGALGORITHM 1. Write down the problem. 2. Think very hard. Murray Gell-Mann “ “
  • 13. FEYNMANPROBLEM-SOLVINGALGORITHM 1. Write down the problem. 2. Think very hard. 3. Write down the answer Murray Gell-Mann “ “
  • 14. DeRelatórios ParaAnalytics O problema - BI
  • 15. +Perguntas +Dados +Clientes +Segmentos O problema - BI
  • 16. O problema - BI Dados Vivos Informação
  • 17. O problema - BI Dados Vivos Informação
  • 18. Processamento de dados
  • 19. +Perguntasacadadia Ecrescendo…. Qual minha retenção média? Qual é o perfil da minha audiência? De onde é minha audiência? Qual o melhor horário para publicar um vídeo? Qual parte do meu vídeo recebeu mais seeks? Qual é a conversão? Quais dispositivos estão sendo usados? Vídeo mais assistido?
  • 20. FoconaInovaçãoeconstruçãodasolução Somosumastartup
  • 21. Manter foco na Inovação Flexível SLA Alto Escalável Pagar de acordo com o uso Baixo custo de administração de infra Objetivos
  • 22. A visualização dos dados deve ser clara e objetiva. Objetivos Design agrega valor!
  • 23. Analytics geral Ge ral
  • 24. Analytics detalhes de consumo da media VI DEO
  • 25. Em alta EM ALTA
  • 26. Perfil da audiência QU EM
  • 27. Samba facts Dados de volume do analytics
  • 28. Small Sharp Tools Filosofia Unix
  • 29. COLETAR Data Pipeline PROCESSAR INFORMAR Data Pipeline - STTM SambatechTrackingModel COLETOR APIPROCESSADOR
  • 30. STTM - Solução DynamoAmazon SQS S3 Data and Logs Glacier COLETOR API PROCESSADOR AGREGADOR SUMARIZADOR HTTPIN HTTPOUT EMR Data Processing
  • 31. COLETAR Data Pipeline PROCESSAR INFORMAR Data Pipeline - STTM INFORMAR COLETOR
  • 32. 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
  • 33. COLETOR - Objetivos • Rápido • Escalável • Simples • Confiável • Consistente • Flexível
  • 34. COLETOR
  • 35. COLETOR COLETOR HTTPIN Logger MsgBuilder
  • 36. COLETOR COLETOR HTTPIN Logger MsgBuilder Amazon SQS
  • 37. COLETOR COLETOR HTTPIN Logger MsgBuilder Amazon SQS S3 Data and Logs Glacier
  • 38. COLETOR Amazon SQS S3 Data and Logs Glacier COLETOR HTTPIN Logger MsgBuilder GIF
  • 39. COLETOR
  • 40. 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
  • 41. COLETAR Data Pipeline PROCESSAR INFORMAR Data Pipeline INFORMARPROCESSARCOLETAR PROCESSADOR
  • 42. Processador DynamoAmazon SQS PROCESSADOR AGREGADOR SUMARIZADOR EMR Data Processing
  • 43. Agregador DynamoAmazon SQS AGREGADOR Builder MsgAgreg
  • 44. Porque Dynamo • Baixa Latência • Alta performance • Gerenciado • Escalável • Alto SLA • Multi A/Z • Hot Keys Problem Dynamo
  • 45. Agregador Amazon SQS AGREGADOR Builder MsgAgreg
  • 46. Agregador Amazon SQS AGREGADOR Builder MsgAgreg Auto scaling Group Instances APP Srv Agregation
  • 47. Hot Keys Problem Dynamo AGREGADOR Builder MsgAgreg Registro Writes 0 27.5 55 82.5 110 Time 1 2 3 4 5 6 WriteCapacity
  • 48. Hot Keys Problem Dynamo AGREGADOR Builder MsgAgreg SplitKeys
  • 49. Hot Keys Problem Writes 0 27.5 55 82.5 110 Time 1 2 3 4 5 6 WriteCapacity Dynamo AGREGADOR Builder MsgAgreg SplitKeys
  • 50. Hot Keys Problem Dynamo AGREGADOR Builder MsgAgreg SplitKeys Tabelas Diarias
  • 51. Processador DynamoAmazon SQS PROCESSADOR AGREGADOR SUMARIZADOR EMR Data Processing
  • 52. Sumarizador Dynamo EMR Data Processing Sumarizador
  • 53. ! • 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
  • 54. Diarias Dynamo EMR Data Processing Sumarizador Load Sumarizador
  • 55. Diarias Dynamo EMR Data Processing Sumarizador MergeKeys Sumarizador 6Jobs
  • 56. Sumarizadas Minutos Horas Dynamo EMR Data Processing Sumarizador Save Sumarizador
  • 57. 1. Run job 2. Find Bottoleneck 3. Optimize Sumarizador Dynamo EMR Data Processing Sumarizador 4x/diaNetwork
  • 58. Sumarizador Dynamo EMR Data Processing Sumarizador Alive Cluster 4x/dia
  • 59. Sumarização hierárquica Cliente Projeto Projeto MediaCategoria Media Media • Modelos de Árvore • Child References Guarda a referência dos filhos Exemplo: Visualizações de todos os filhos do projeto (categorias): pid:2/*
  • 60. •Não exige operação em sub-arvores •Eficiente para pais com múltiplos filhos
  • 61. Conhecer bem o problema e os dados é essencial. Otimizações locais são eficientes!
  • 62. COLETAR Data Pipeline PROCESSAR INFORMAR Data Pipeline INFORMARINFORMARCOLETAR API
  • 63. API - Rest Dynamo API CDN
  • 64. Permanente Ciclo de vida dos dados ! Minuto, hora ,dias, meses Dynamo APIMYSQLCluster
  • 65. Analytics - Solução
  • 66. RECAP DynamoAmazon SQS S3 Data and Logs Glacier COLETOR API PROCESSADOR AGREGADOR SUMARIZADOR HTTPIN HTTPOUT EMR Data Processing
  • 67. 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.
  • 68. Manter foco na Inovação Flexível SLA Alto Escalável Pagar de acordo com o uso Baixo custo de administração de infra Objetivos
  • 69. Lei de Little L=λW L = média de requisições no sistema λ = média de chegada de requisições W = Tempo para processar uma requisição (latência)
  • 70. 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
  • 71. 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
  • 72. Como manter tudo UP? ComoMantertudonoar?
  • 73. Como manter tudo UP and Running? Automatizartudo! Metric Driven + 2000
  • 74. Como manter tudo UP and Running? Automatizartudo! Metric Driven Monitoramentos + 400 + 2000
  • 75. Como manter tudo UP and Running? Automatizartudo! Metric Driven + 2000 Monitoramentos + 400 Notificações de falha
  • 76. Monitoramento e alertas Métricas MonitoramentoeAlerta
  • 77. FAILFAST Falheeserecupererapidamente! +Proativo-Reativo ! • Provisionamento automático de Infraestutura • Deploy e Configuração - CloudFormation / Ansible • FailOver -Erros
  • 78. FAILFAST CryBabies Alarmes críticos alertam o time e escalam automaticamente.
  • 79. • 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
  • 80. Evoluções ! • Realtime • Elastic Search • Aumentar o uso do S3 para RAW Data • DW Solution.(RedShift) • +Análises
  • 81. LIDIO RAMALHO, CTO! LIDIO.RAMALHO@SAMBATECH.COM.BR! @lidioramalho