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

Embed Size (px)

DESCRIPTION

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.

Text of QConSP 2014 SambaTech Analytics: Arquiteturas e tecnologias por trás da análise de vídeos online...

  • 1. Agenda Intro Migrando de relatrio para uma soluo de BI Under the Hood Operao e Lies aprendidas

2. FALAR da SAMBA 3. FALAR da SAMBA HACKWEEKS 4. Reporting Analytics & 5. No Incio - Report Fornecerinformaesdeuso Estatsticasedadosgerais 6. Nmero de Visualizaes Nmero de Visualizaes Completas Reteno por quartil Trfego Nmero de Uploads, etc No Incio - Report 7. No Incio - Report +Dados 8. ! Problema: Custo Elevado Apresentava bom desempenho Problema: Instabilidade, interaes entre aplicaes Aplicaes com perfis muito diferentes convivendo num mesmo cluster. Crescimento expressivo no volume de dados e requisies Problema: crescimento acelerado da base, administrao do banco. No Incio - Ento 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. DeRelatrios ParaAnalytics O problema - BI 15. +Perguntas +Dados +Clientes +Segmentos O problema - BI 16. O problema - BI Dados Vivos Informao 17. O problema - BI Dados Vivos Informao 18. Processamento de dados 19. +Perguntasacadadia Ecrescendo. Qual minha reteno mdia? Qual o perfil da minha audincia? De onde minha audincia? Qual o melhor horrio para publicar um vdeo? Qual parte do meu vdeo recebeu mais seeks? Qual a converso? Quais dispositivos esto sendo usados? Vdeo mais assistido? 20. FoconaInovaoeconstruodasoluo Somosumastartup 21. Manter foco na Inovao Flexvel SLA Alto Escalvel Pagar de acordo com o uso Baixo custo de administrao de infra Objetivos 22. A visualizao 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 audincia 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 - Soluo 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 Rpido Escalvel Simples Confivel Consistente Flexvel 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. Comunicao Amazon SQS Assincronia e Controle de fluxo Sem perdas de mensagens Log de mensagens no processadas. Escalvel sob demanda Alto SLA Gerenciado Custo relativamente Baixo No 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 Latncia Alta performance Gerenciado Escalvel 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. ! Escalvel Controle de Custos Managed Hadoop como servio Map Reduce Engine Bom gerenciamento de capacidade Integrao 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. Sumarizao hierrquica Cliente Projeto Projeto MediaCategoria Media Media Modelos de rvore Child References Guarda a referncia dos filhos Exemplo: Visualizaes de todos os filhos do projeto (categorias): pid:2/* 60. No exige operao em sub-arvores Eficiente para pais com mltiplos filhos 61. Conhecer bem o problema e os dados essencial. Otimizaes locais so 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 - Soluo 66. RECAP DynamoAmazon SQS S3 Data and Logs Glacier COLETOR API PROCESSADOR AGREGADOR SUMARIZADOR HTTPIN HTTPOUT EMR Data Processing 67. Lies aprendidas As aplicaes so focadas, pequenas e conectadas por uma fila ou datastore. O output de uma input para a outra. 68. Manter foco na Inovao Flexvel SLA Alto Escalvel Pagar de acordo com o uso Baixo custo de administrao de infra Objetivos 69. Lei de Little L=W L = mdia de requisies no sistema = mdia de chegada de requisies W = Tempo para processar uma requisio (latncia) 70. Custo 0 0.25 0.5 0.75 1 Latncia (H) 0 1 3 6 12 24 100% 57% 46% 40% 38% 37% Latncia vs Custo Custo estimado Por Requisio LatnciavsCusto 71. Custo 0 0.25 0.5 0.75 1 Latncia(H) 0 1 3 6 12 24 100% 57% 46% 40% 38% 37% Latncia vs Custo Custo estimado Por Requisio LatnciavsCusto 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 Notificaes de falha 76. Monitoramento e alertas Mtricas MonitoramentoeAlerta 77. FAILFAST Falheeserecupererapidamente! +Proativo-Reativo ! Provisionamento automtico de Infraestutura Deploy e Configurao - CloudFormation / Ansible FailOver -Erros 78. FAILFAST CryBabies Alarmes crticos alertam o time e escalam automaticamente. 79. Solues gerenciadas ajudam a manter o foco no problema, mas podem trazer limitaes inesperadas. Arquitetura flexveis ajudam a responder rapidamente a limitaes. ! ! ! COn clu so 80. Evolues ! Realtime Elastic Search Aumentar o uso do S3 para RAW Data DW Solution.(RedShift) +Anlises 81. LIDIO RAMALHO, CTO! LIDIO.RAMALHO@SAMBATECH.COM.BR! @lidioramalho