Tornando dados acessíveis em uma arquitetura distribuída e de microsserviços Gustavo Amigo - 2017 QCONSP 1 Apresentação Gustavo Amigo Formado em Ciência da Computação pela ICMC-USP São Carlos, possui 13 anos de experiência com diversas linguagens como Scala, Java e Python. É entusiasta de programação distribuída e funcional, principalmente Scala. É um dos principais desenvolvedores da plataforma de pagamentos e promoções da 99. https://www.linkedin.com/in/gustavoamigo https://twitter.com/gustavoamigo https://github.com/gustavoamigo 2 Agenda ● ● ● ● ● Um pouco de história da 99 Desafíos de micro serviços Solução com o airflow Metabase Redshift 3 Um pouco de história - No início 4 Um pouco de história - AGORA 5 Desafios de micro serviços ● ● ● Dados estão distribuídos Diferentes tecnologias ○ MySQL ○ Postgres ○ Redis ○ S3 ○ Elastic Search Plataforma externas ● ● Tomada de decisões Contabilidade 6 Solução Requisitos: ● Fácil de entender ● Fácil manutenção ● Preferência por Python Data warehouse 7 Airflow ● ● ● ● Super crontab, com worflows escritos em Python na forma de DAGs Open source Criado pelo Airbnb Código bastante enxuto e simples de entender https://github.com/apache/incubator-airflow 8 AIRFLOW - DAG ● ● ● É um grafo de atividades, representa um workflow Cada DAG tem um agendamento de próprio A DAG é um script python 9 AIRFLOW - DAG Backfill automático a partir da data de início 10 AIRFLOW - DAG 11 AIRFLOW na 99 ● ● ● ● Ambiente local, staging e produção Deploy orquestrado pelo Jenkins PR revisado pela equipe Operadores próprios ○ ○ ● DataTransfer Migrations Roda no Elastic Beanstalk, com auto-scaling para os workers 12 Alguns números da implantação do airflow na 99 ● ● ● 81 DAGs 496 Pull Requests 17 committers 13 Metabase ● ● ● Open Source Cliente SQL para Web Muito fácil de usar http://www.metabase.com/ 14 Amazon Redshift ● ● ● ● Serviço gerenciado pela AWS Protocolo compatível com Postgres 8 Colunar e distribuído Preço bem competitivo https://aws.amazon.com/redshift/ 15 Resumo - TORNANDO dados acessíveis AIRFLOW + REDSHIFT + METABASE 16 Volte de 99 PROMOCODE: POPNAFAIXA 17 http://99taxis.com/carreiras 18