O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Migrando seu workload de Big Data para o Amazon EMR

170 visualizações

Publicada em

"Varios clientes estão migrando suas aplicações analíticas, processamento de dados (ETL) e aplicações de data science rodando com Apache Hadoop, Spark e data warehouse a partir de ambientes em datacenter local para o Amazon EMR com o objetivo de economia, maior disponibilidade e melhoria de desempenho.
Amazon EMR é um serviço gerenciado que permite com que você analise uma quantidade imensa de dados usando as ultimas versões de mais de 15 ferramentas open-source presentes no ecossistema Apache Hadoop e Spark. Essa sessão permitirá idenficar os componentes, aplicações e tarefas presentes no seu atual ambiente e demonstrar as melhores práticas para migrar esses componentes para o Amazon EMR. Nos iremos expliar como mover seus HDFS para o Amazon S3, um serviço de armazenamento altamente durável e como os baixos custos de instâncias EC2 Spot e auto-scaling podem ajudá-lo a ter mais eficiência com baixo custo. Também iremos explicar os fundamentos de segurança e dicas de ajustes para acelerar a migração de sua aplicação de produção."

https://aws.amazon.com/pt/emr/

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Migrando seu workload de Big Data para o Amazon EMR

  1. 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thiago Paulino, Arquiteto de Soluções Jun, 2017 Migrando seu Workload de Big Data para o Amazon EMR
  2. 2. Agenda • Descontruindo ambientes de Big Data • Identificando desafios com ambientes on-premises ou não gerenciados • Migrando componentes para o Amazon EMR e AWS Analytics services - Escolhendo a ferramenta certa para sua aplicação - Construindo uma arquitetura - Arquitetura direcionada a custos e escalabilidade - Segurança • Caso de uso GuiaBolso
  3. 3. Descontuindo ambientes de Big Data
  4. 4. Cluster local de Hadoop • Servidores de 1 U • Geralmente 12 Cores, 32/64 GB RAM, and 6 - 8 TB of HDD ($3-4K) • Switches de redes e racks • Distribuição Open-source de Hadoop ou baseada em licenciamento de distribuições comerciais baseada em nós • Nós com funções diferentes • HDFS com disco e fator de replicação 3:1 Server rack 1 (20 nodes) Server rack 2 (20 nodes) Server rack N (20 nodes) Core
  5. 5. Aplicações rodando no mesmo cluster • Large Scale ETL: Apache Spark, Apache Hive with Apache Tez or Apache Hadoop MapReduce • Interactive Queries: Apache Impala, Spark SQL, Presto, Apache Phoenix • Machine Learning and Data Science: Spark ML, Apache Mahout • NoSQL: Apache HBase • Stream Processing: Apache Kafka, Spark Streaming, Apache Flink, Apache NiFi, Apache Storm • Search: Elasticsearch, Apache Solr • Job Submission: Client Edge Node, Apache Oozie • Data warehouses like Pivotal Greenplum or Teradata
  6. 6. Segurança • Autenticação: Kerberos com KDC local ou Active Directory, integração LDAP, gestão local de usuário, Apache Knox • Autorização: Open-source native authZ (i.e., HiveServer2 authZ or HDFS ACLs), Apache Ranger, Apache Sentry • Criptografia: Criptografia de disco local com LUKS, HDFS transparent-data encryption, criptografia em trânsito para cada framework • Configuração: Diferente ferramentas de gestão baseada na distribuição
  7. 7. Linha do tempo de execuções Muito utilizado Pouco utilizado
  8. 8. Papel de um administrador Hadoop • Gerenciamento do cluster (falhas, troca de hardware, reiniciar, aumento do cluster) • Gestão das configurações • Tuning de jobs ou hardware • Gerenciar os ambientes de teste e desenvolvimento • Backup de dados e disaster recovery
  9. 9. Identificando desafios
  10. 10. Super provisionamento e capacidade ociosa • Calculo de computação (CPU e memória) e armazenamento altamente acoplados, requer excesso de capacidade • Seu cluster pode estar super provisionado por várias horas e muito utilizado em alguns horários • Resultado: Custo alto e baixa eficiência
  11. 11. Gerenciamento de problemas • Gestão de vários aplicativos e alta disponibilidade • Armazenamento duravel, backup e disaster recovery • Adicionar novos aplicativos e realizar atualizações • Multiplos ambientes • Necessário um time para gerenciar o cluster e comprar novos equipamentos
  12. 12. Migrando aplicações para o Amazon EMR
  13. 13. Por que Amazon EMR? Baixo custo Pague por hora Variedade de aplicações Open- Source Ultimas versões de software Gerenciado Gaste menos tempo monitorando Seguro Facil gerenciamento Flexibilidade Customizavel Facil de usar Inicie um cluster em minutos
  14. 14. Pontos chave para migração e custos (TCO) • NAO REPLIQUE SEU AMBIENTE. (LIFT AND SHIFT) • Desacomple storage de processamento, com Amazon S3 • Utilize ferramentas Open-source • Use clusters transientes e auto-scaling • Escolha a instância correta e use EC2 Spot Instances
  15. 15. Use a ferramenta certa para o trabalho certo Storage S3 (EMRFS), HDFS YARN Cluster Resource Management Batch MapReduce Interactive Tez In Memory Spark Applications Hive, Pig, Spark SQL/Streaming/ML, Flink, Mahout, Sqoop HBase/Phoenix Presto Athena Streaming Flink - SQL de baixa latência -> Athena or Presto or Amazon Redshift - Data Warehouse / Reporting -> Spark or Hive ou Glue ou Amazon Redshift - Gestão e monitoramento -> EMR console ou Ganglia metrics - HDFS -> S3 - Notebooks -> Zeppelin Notebook ou Jupyter (via bootstrap action) - Query console -> Athena ou Hue - Segurança -> Ranger (CF template) ou HiveServer2 ou IAM roles Glue Amazon Redshift
  16. 16. Diversas integrações de dados e origens Amazon DynamoDB Amazon RDS Amazon Kinesis Amazon Redshift Amazon S3 Amazon EMR
  17. 17. Desacoplar processamento e armazenamento utilizando Amazon S3 HDFS S3 desenhado para entregar 11 9’s de durabilidade e altamente escalável EC2 Instance Memory Amazon S3 Amazon EMR Amazon EMR Intermediates stored on local disk or HDFS Local
  18. 18. HBase com Amazon S3 escalando o NoSQL
  19. 19. Dicas Amazon S3: Partições, compressão e formatos de arquivos • Evite chaves de ordenação • Melhorar a taxa de transferência e listagem de objetos no Amazon S3 • Use hash e prefixos randomicos ou data reversa • Comprima seus dados a fim de minimizar consumo de banda entre Amazon S3 e EC2 • Tenha certeza de que o arquivo foi divido e comprimido a fim de garantir o melhor desempenho de paralelização do seu cluster • Use armazenamento colunar, como por exemplo Parquet para aumentar o desempenho de leitura de dados
  20. 20. Economia!!! Cluster transientes ou ligados?
  21. 21. Executando suas tarefas Amazon EMR Step API Rode sua aplicação SPARK Amazon EMR AWS Data Pipeline Airflow, Luigi, or other schedulers on EC2 Crie um pipeline de job schedulada contendo workflow complexos. Como transformar os dados, movê-los entre banco de dados etc… AWS Lambda Use AWS Lambda para executar suas aplicações seja por API ou diretamente no seu cluster Spark, por exemplo. Use Oozie no seu cluster para contruir seu job de execução
  22. 22. Desempenho e hardware • Transiente ou longa duração • Tipo de instâncias • Tamanho do cluster • Configuração das aplicações (Hive/Spark/Presto) • Formato de arquivos e Tunning de S3 Master Node r3.2xlarge Slave Group - Core c4.2xlarge Slave Group – Task m4.2xlarge (EC2 Spot) Considerações
  23. 23. Ajuste de maneira rápida sua necessidade Aplicações SQL editor, Workflow designer, Metastore browser Notebooks Design e execução de queries e workloads
  24. 24. Spot para task nodes Até 80% de desconto comparado com o preço on- demand Sob-demanda para core nodes Preço padrão para Amazon EC2 sob- demanda Use instâncias Spot e Reservadas para reduzir custos. Custo fixo previsível Baixo custo excedente
  25. 25. Tipos de instância com uso de Spot Nós master Core Node Task Node • Provisione vários tipos de instâncias sob-demanda e spot • Inicie as instâncias na AZ que tenha o melhor custo por capacidade • Suporte a conjuntos de spot
  26. 26. Otimização de custo com Auto Scaling
  27. 27. Segurança - Criptografia
  28. 28. Segurança – Autenticação e Autorização Tag: user = MyUserIAM user: MyUser EMR role EC2 role SSH key
  29. 29. • LDAP para HiveServer2, Hue, Presto, Zeppelin • Kerberos para Spark, HBase, YARN, Hive, e autenticação nas interfaces de usuário • EMRFS permissão baseada no storage (Ex: S3 permissions) • Autorização baseada em SQL e em armazenamento AWS Directory Service Self-managed Directory Segurança – Autenticação e Autorização
  30. 30. • Plug-ins para Hive, HBase, YARN, and HDFS • Autorização Row-level para Hive (with data-masking) • Recursos de auditoria com possibilidade de busca • Run Ranger em um edge node – visite AWS Big Data Blog Apache Ranger Segurança – Autenticação e Autorização http://blogs.aws.amazon.com/bigdata/
  31. 31. Segurança – Governança e Auditoria • AWS CloudTrail para APIs EMR • S3 logs de acesso para o cluster EMR • YARN logs e logs de aplicações • Ranger para interface de usuário e auditoria a nivel de aplicação
  32. 32. Caso de uso GuiaBolso
  33. 33. “AWS permitiu ao GuiaBolso a criação de uma plataforma de dados altamente escalável” • GuiaBolso é uma fintech brasileira com foco em transformar a vida financeira do brasileiro. • Com mais de 4 milhões de usuários conectados, a plataforma GuiaBolso opera 100% na AWS. “A AWS permitiu a democratização aos dados, possibilitando a diferentes times novas visões” - Carlos Barreto, Data Engineer
  34. 34. O Desafio Permitir o consumo dos dados com a velocidade requerida; Poder de processamento escalável conforme a demanda de volume utilizado; Possibilitar o uso dos principais projetos open source voltados para armazenamento e análise de dados.
  35. 35. Solução
  36. 36. Obrigado aws.amzon.com/emr blogs.aws.amazon.com/bigdata

×