Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Como arquitetar seu processo de big data na AWS

By DoiTOct 25, 202210 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

O big data carrega informações valiosas para o negócio, mas extrair o máximo desse potencial é um baita desafio. Veja como estruturar sua arquitetura de big data de forma eficaz na Amazon Web Services (AWS).

big-data

Os principais pontos de decisão ao montar ambientes AWS para big data

Escondidas no oceano de dados que chega à sua organização estão as chaves para destravar o sucesso do negócio. O big data é repleto do tipo de informação capaz de dar à sua empresa uma vantagem competitiva, mas conseguir extrair esses insights é um enorme desafio. A nuvem pública oferece a escala de poder computacional necessária para coletar, armazenar e analisar big data com eficiência. Veja como estruturar sua arquitetura de big data na Amazon Web Services (AWS) para obter os melhores resultados.

Desafios de big data que a nuvem pública resolve

Historicamente, as exigências do big data faziam com que apenas empresas com recursos para bancar um poder computacional praticamente ilimitado pudessem aproveitá-lo. A chegada da computação em nuvem e a disponibilidade de recursos e serviços sob demanda mudaram esse cenário. Hoje, é possível acessar recursos virtualmente infinitos, usá-los apenas pelo tempo necessário e pagar somente pelo que se consome.

Com a evolução da nuvem, os clientes ganharam cada vez mais autonomia para focar no desenvolvimento do código de suas aplicações e em consultas analíticas, em vez de se preocupar com capacidade. Nos primórdios da nuvem, os clientes subiam instâncias em máquinas virtuais e instalavam as aplicações que rodavam seus códigos. Depois, os provedores de nuvem passaram a oferecer serviços gerenciados, assumindo a responsabilidade por uma parcela maior do stack de software. Hoje, a computação serverless dispensa o tempo gasto provisionando servidores e libera os desenvolvedores para tarefas com maior valor para o negócio.

À medida que a tecnologia de nuvem avança, organizações de praticamente qualquer porte que a utilizem corretamente podem acessar o poder das tecnologias de big data.

As camadas-chave da sua arquitetura de big data

O volume, a variedade e a velocidade dos dados com os quais você lida exigem uma arquitetura robusta e flexível, capaz de coletar, armazenar e processar essas informações — muitas vezes em tempo real ou quase real. As empresas precisam evoluir seu stack tecnológico para lidar com esse volume e variedade de dados e implementar uma infraestrutura capaz de fazer esse trabalho em altíssima velocidade — frequentemente em tempo real ou quase real.

Para dar conta de todas as tarefas que um programa eficaz de big data exige, você vai precisar de uma arquitetura multicamadas para armazenamento, processamento e consumo de dados. Ela precisa permitir fluxos multidirecionais, já que os dados podem ser armazenados antes e depois da análise.

Camada de armazenamento

É nesta camada que os dados são armazenados e convertidos em um formato que permite catalogá-los e analisá-los. Regulamentações de compliance e políticas de governança vão determinar como certos tipos de dados são armazenados. Mesmo assim, a forma como você armazena os dados não deve ditar como você os processa, e vice-versa.

Acesso e governança de dados

Diante dos enormes volumes de dados que chegam à sua camada de armazenamento e dos novos ativos e versões de dados que a transformação, o processamento e a análise vão gerar, é preciso ter um processo eficaz de governança para acompanhar tudo isso. Um componente central da governança de dados é o data catalog, que combina metadados com ferramentas especializadas de gestão e busca para oferecer uma interface de consulta aos seus ativos e atuar como única fonte da verdade. O AWS Glue Data Catalog funciona como metastore central para jobs de processamento em batch, independentemente do serviço analítico da AWS usado no processamento.

Os dados das operações de processamento em batch normalmente ficam armazenados em um data lake, que comporta grandes volumes de arquivos em diferentes formatos. No caso do AWS Lake Formation, um serviço para simplificar e centralizar o gerenciamento de acesso, o AWS Glue Data Catalog provê controle de acesso para data lakes no Amazon S3 com a maioria dos serviços de analytics da AWS mais usados, incluindo Amazon Redshift (via Amazon Redshift Spectrum), Amazon Athena, AWS Glue ETL e Amazon EMR (para notebooks baseados em Spark).

Object storage

Soluções de object storage como o Amazon S3 são ideais para data lakes, porque permitem armazenar todo tipo de arquivo sem precisar de schemas predefinidos ou limites de volume. Ele tem suporte nativo em frameworks de big data como Spark, Hive e Presto, e oferece 99,999999999% de durabilidade dos objetos em múltiplas Availability Zones.

Você vai precisar segmentar seu data lake em zonas landing, raw, trusted e curated para armazenar os dados conforme o estágio de prontidão para consumo. No data lake, os dados costumam ser ingeridos e armazenados sem definição prévia de schema, o que reduz o tempo de ingestão e preparação até que possam ser analisados.

Stream storage

Streams ou eventos de dados em tempo real podem ser armazenados em um produto de stream storage como o Amazon Kinesis. Com o Amazon Kinesis Data Streams, os consumidores podem ler diretamente do stream para análises em tempo real; já quem quer guardar os dados para análise futura pode usar o Amazon Kinesis Data Firehose para entregá-los a um destino (data lake, data warehouses ou serviços de analytics) e fazer a análise depois.

Você pode usar os crawlers do AWS Glue para descobrir novos datasets ou partições adicionados a partir do stream. Eles percorrem múltiplos data stores em uma única execução, extraindo metadados para popular o AWS Glue Data Catalog com tabelas. Os jobs de extract, transform and load (ETL) que você define no AWS Glue leem e gravam nos data stores identificados nas tabelas de origem e destino do Data Catalog.

Camada de análise

Dependendo do contexto, dá para extrair valor de negócio do seu big data com vários tipos de analytics: batch, interactive, stream ou predictive.

O batch analytics processa dados em intervalos que vão de minutos a dias, em casos como relatórios diários ou semanais de vendas. O Amazon EMR é uma solução completa de big data na nuvem para realizar batch analytics com um framework de processamento de dados como o Apache Spark.

O interactive data analytics combina sistemas de banco de dados distribuídos e capacidades de renderização para potencializar as tecnologias de Business Intelligence (BI). Aplica-se a situações em que você quer respostas do sistema em segundos, como em dashboards self-service. Aqui também é possível usar o Amazon EMR, desta vez com Spark ou com o motor de consulta SQL Presto. Para datasets estruturados de grande porte, o Amazon Redshift funciona bem. O Amazon Athena atende dados não estruturados, semiestruturados e estruturados armazenados no Amazon S3.

O streaming analytics é usado em aplicações que exigem dados em tempo real, como alertas de fraude. Você pode montar um pipeline de analytics quase em tempo real com o Amazon EMR e Spark Streaming ou com o Amazon Kinesis Data Analytics.

Já o predictive analytics se apoia em machine learning para prever comportamentos futuros com base em histórico de compras, histórico de buscas, dados demográficos, avaliações e outras categorias do usuário. O Amazon Sagemaker é uma boa opção para predictive analytics, pois oferece um local central para todas as tarefas de machine learning, com infraestrutura, ferramentas e workflows totalmente gerenciados para construir, treinar e implantar seus modelos.

Camada de consumo

É na camada de consumo que sua organização trabalha com os dados, usando motores de analytics, consultas, aplicações de IA e machine learning e visualização de dados para extrair informações valiosas a partir de grandes volumes. Os usuários costumam se enquadrar em duas categorias:

Os usuários de negócio querem fazer sentido dos dados com aplicações de visualização como Tableau ou uma ferramenta de BI totalmente gerenciada como o Amazon Quicksight. Eles também podem usar a interface open-source Kibana para visualizar dados do Elasticsearch.

A segunda categoria é a dos data scientists, que querem acessar um endpoint para análise estatística com uma ferramenta como o R Studio, por exemplo. Também podem usar um driver JDBC para conectar o Amazon Athena ou o Amazon Redshift e consultar os dados diretamente.

Boas práticas para arquitetura de big data

Embora cada caso de uso seja diferente, algumas práticas têm mais chance de gerar bons resultados ao arquitetar seu processo de big data na nuvem pública.

  • Foque no valor de negócio que você quer extrair do seu programa de big data. Quando tiver uma visão detalhada dos objetivos que suas iniciativas precisam ajudar a alcançar, use essa visão para guiar a entrega ágil das tecnologias necessárias.
  • Desacople os sistemas para que novas ferramentas e tecnologias possam ser integradas sem grandes interrupções. Em vez de depender de aplicações grandes e monolíticas, divida-as em sistemas menores, para iterar em cada subsistema e realmente construir e evoluir ao longo do tempo.
  • Adote uma visão holística ao construir sua arquitetura, tratando-a como um programa ágil que acomode sua visão estratégica e que incorpore templates capazes de torná-la escalável.
  • Garanta que haja um programa abrangente e confiável de governança de dados em vigor para manter seus dados seguros.
  • Use a ferramenta certa para cada tarefa: leve em conta a estrutura dos dados, requisitos de latência, throughput e padrões de acesso. Desses, a estrutura dos dados e os padrões de acesso são os mais importantes.
  • Não tente reinventar a roda: aproveite serviços gerenciados e serverless para se beneficiar da expertise de engenharia e das boas práticas que já foram aplicadas a essas tecnologias. Esses serviços são escaláveis, elásticos, disponíveis, confiáveis e seguros, e exigem pouca ou nenhuma administração.
  • Fique de olho nos custos. Big data não precisa significar custos altos.

O processo de arquitetura de big data da DoiT

A DoiT tem profunda expertise e competências oficiais como parceira em data e analytics da AWS. Ajudamos os clientes a resolver questões tanto de arquitetura quanto de operações, para que alcancem seus objetivos com mais rapidez, menos riscos e menos atrito.

Começamos analisando o modelo de negócio do cliente, os produtos e serviços que oferece, a estrutura da equipe, a estratégia de releases e as operações, antes de mergulhar nas necessidades, recursos e objetivos relacionados a dados. Algumas das perguntas que costumamos fazer:

  • Você já tem uma solução de big data?
  • Se sim, é on-premises ou já está na nuvem?
  • Quais são as principais aplicações e consumidores? Relatórios de BI, ML, etc.
  • Quais são as fontes de dados (produtores)? Pense em volume, velocidade e estrutura.
  • Descreva os estágios dos dados, da obtenção e processamento até a apresentação.
  • Como os dados sensíveis são tratados? Quais regulamentações você precisa seguir?
  • Como as equipes estão estruturadas? Tanto as de negócio quanto as de tecnologia.
  • Qual metodologia você usa para gestão de projetos?
  • Qual o nível de experiência do seu time técnico em AWS?
  • Quais são suas dores?
  • Quais casos de uso você quer cobrir?
  • Quais são suas prioridades e expectativas?

As respostas a essas perguntas vão definir a abordagem mais adequada, que pode ser uma das seguintes:

  1. Migration Readiness Assessment (MRA): usamos com clientes que planejam migrar para a AWS. Envolve um deep dive baseado em um questionário extenso (80 perguntas) para coletar fatos e observações do cliente e do entrevistador e definir os possíveis próximos passos. Depois, criamos um relatório completo e o compartilhamos com o cliente para avaliar sua maturidade em nuvem e o que ele precisa fazer para realizar uma migração bem-sucedida. Isso ajuda a definir os caminhos de migração, prazos, recursos, inventário/dependências de ativos e a documentação técnica que será utilizada. O MRA também pode ser usado para solicitar créditos gratuitos da AWS.
  2. Um Well-Architected Review (WAR): útil para clientes que já fizeram o onboarding e precisam ter o status atual avaliado, com o objetivo de identificar ações e prioridades para corrigir os desvios encontrados. O WAR usa um framework de avaliação desenvolvido pela AWS e adotado pelo mercado, baseado em seis pilares: excelência operacional, segurança, confiabilidade, eficiência de performance, otimização de custos e sustentabilidade. Também há disponibilidade de financiamento via créditos de até US$ 5 mil para remediar

ambientes de produção.

  1. Treinamento: o customer enablement da DoiT inclui treinamentos para clientes em serviços específicos da AWS. Por exemplo, os Immersion Days envolvem deep dives que entregam não só conhecimento conceitual, mas também experiência prática.
  2. Prototipagem (proof of concept): a DoiT apoia os clientes na avaliação de uma solução, definindo critérios de sucesso baseados em KPIs e guiando-os pela implementação técnica, com sessões semanais para tirar dúvidas, remover obstáculos e orientar a aplicação de otimizações. Quando a prototipagem termina, medimos os resultados em relação aos KPIs para avaliar a aderência, lições aprendidas e próximos passos.

Próximos passos

Se você quer aproveitar seus dados pelo imenso valor de negócio que eles podem entregar, fale com a DoiT sobre como arquitetar seu processo de big data na AWS.