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

225 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
225
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

×