A Engenharia de Dados é a base para todas as análises e, por isso, sua infraestrutura de dados precisa estar sempre em dia. Estamos falando de fontes de dados integradas, com escalabilidade, governança de dados e muito mais! Um ótimo exemplo disso é o case de centralização que desenvolvemos.
Nesse artigo, vamos descrever toda a arquitetura que nosso time de Data Engineering pensou para atender as necessidades do cliente. Vamos descrever a arquitetura, tratando sobre as tecnologias envolvidas, qual o desafio encontrado e os resultados que conquistamos. Continue a leitura!
O que é a cloud?
Negócios de todos os segmentos estão cada vez mais virtuais. A internet deixou de ser um espaço com potencial apenas para anúncios e passou a ser a principal via de manutenção de relacionamento com os clientes e um local de vendas por si próprio. Empresas com sedes em todo o mundo viram a receita gerada por compras virtuais aumentar drasticamente durante os últimos anos e, mesmo em lojas físicas, os processos se tornaram primariamente digitais.
Consequentemente, o volume de dados se multiplicou. Informações como número de vendas agora são complementadas pelo número de acessos ao site, tempo de permanência e tópicos de interesse do público, por exemplo. Elas servem para traçar estratégias de marketing, prever os resultados ao longo do ano e tomar decisões com mais assertividade, no geral.
Algum lugar precia armazenar todos esses dados. Só que há um grande risco em fazer esse armazenamento em dispositivos físicos, mesmo sendo o tradicional,. Não é proveitoso para uma empresa ter que interromper as atividades sempre que usam toda a capacidade de memória para substituir o equipamento. Esse exemplo é um dos vários que mostram a importância do armazenamento em nuvem!
Quais os benefícios de uma cloud?
Mais que isso, uma cloud é um modelo de computação flexível. Pode-se acessar em diferentes redes de internet, por diferentes pessoas. O acesso é democratizado, de maneira que o poder de controlar as permissões de leitura e compartilhamento é descentralizado do setor de TI. Isso é, torna mais transparentes os processos de governança.
A cloud também garante escalabilidade. Se você já trabalha com dados, sabe a importância disso para a manutenção da empresa! Uma infraestrutura escalável é aquela na qual o espaço de armazenamento pode aumentar de acordo com a sua necessidade. Isso é, você não precisa migrar para uma nuvem maior e nem corre o risco de perder dados caso atinja um limite de capacidade.
Outras vantagens ao usar esse tipo de serviço são:
- Existe a possibilidade de trabalhar remotamente, em casa ou de qualquer lugar do mundo.
- Também há maior facilidade para realizar trabalhos colaborativos, em que duas ou mais pessoas agem simultaneamente em um mesmo arquivo.
- O valor do serviço é proporcional ao uso! Você paga pela quantidade de memória que você precisa.
Existem várias opções de nuvem e, aqui na BIX, trabalhamos com as melhores do mercado e já estamos familiarizados com elas. Neste case, sabíamos que a melhor opção seria a Google Cloud! Entenda o porquê.
Conhecendo a infraestrutura de dados inicial
Nosso cliente nos apresentou o seguinte desafio: os dados de compra, acesso ao site, relacionamento com o cliente, etc. estavam vindo de várias fontes diferentes. As aplicações utilizadas eram:
- VTEX: Plataforma de E-Commerce.
- SAP: Software de ERP, detém os dados de cliente, estoque, produto e faturamento.
- Google Analytics: Serviço de monitoramento de performance digital, detém os dados de campanha.
- Dados externos: Dados de metas e “de-para”s em arquivos Excel.
O processo de integração de todas essas fontes era muito complexo e não permitia unir tudo em um só lugar, nem gerar relatórios completos para trabalhar os Indicadores-Chave de Performance (KPIs). Isso também causava uma grande dificuldade para estruturar informações como as de clientes, que são muito importantes para o trabalho de pós-venda do CRM. Portanto, o papel da BIX era centralizar a infraestrutura de dados.
Por que a Google Cloud?
As plataformas mais usadas para serviços em nuvem são a Google Cloud Platform (GCP), a Amazon Web Services (AWS) e a Microsoft Azure. A do Google é uma das mais antigas e mais conhecidas.
Ela tem muitos diferenciais, como, por exemplo:
- Comporta soluções de todos os tipos (de back-end, móveis, web e IoT).
- Comporta aprendizado de máquina sem servidor.
- É personalizável, logo, compatível com empresas de todos os setores.
- Garante ampla proteção dos dados.
Além disso, suas ferramentas permitem a construção de uma complexa estrutura de integração e são compatíveis com todas as fontes de dados da organização deste case! É a escolha perfeita para esse projeto.
Nossa proposta de infraestrutura de dados
Devido à nossa experiência com workloads de dados em nuvem, foi possível desenhar uma arquitetura lambda que se utiliza dos variados serviços GCP. Os dados são extraídos tanto em batch quanto streaming, e conduzidos até o Google Cloud Storage, um poderoso Data Lake. Logo, são disponibilizados na Data Warehouse, Big Query, onde ficam facilmente acessíveis para a plataforma de Business Intelligence (nesse caso, Qlik Sense). Nossa arquitetura proposta foi a seguinte:
- Cloud Composer: Ferramenta de orquestração de fluxos de trabalho da GCP, baseada no Apache Airflow. Permite criar, programar, monitorar e gerenciar fluxos de trabalho que abrangem nuvens e data centers no local. Logo, a ferramenta perfeita para integrar todos os fluxos de dados e suas execuções.
- Cloud Function: Ferramenta que possibilita a execução de códigos de maneira rápida, independente de infraestrutura e ligadas à execução e monitoramento de outros eventos. Utilizou-se para receber todos os eventos das vendas de ecommerce da VTEX, através de webhooks.
- BigQuery: Data warehouse altamente escalável e sem servidores. Utilizado para disponibilizar os dados finais de forma estruturada e pronta para o consumo.
- Cloud Storage: Data Lake com capacidade escalável. Utilizado para armazenar a extração inicial, não tratada, que será consumida em outras etapas.
- Cloud Pub/Sub: Serviço mensageiro assíncrono, ajudando a interligar serviços e controlar fluxos de dados. Usado para armazenar os dados que vieram do Cloud Function. No fim, estes dados seriam disponibilizados no BigQuery, após determinados tratamentos. Essa disponibilização poderia ser feita quase em tempo real, porém devido a redução de custos, disponibilizamos os dados em um intervalo de 15 minutos.
Quais foram os resultados obtidos?
Com essa arquitetura, o cliente obteve todos os seus dados disponíveis e centralizados em um só lugar (BigQuery), onde há atualizações a cada 15 minutos e cargas retroativas diárias. O retroativo também poderia ser rodado manualmente para qualquer data de execução prévia dentre os processos de extração batch, o que possibilita o resgate de dados passados.
Por fim, através das análises feitas na frente de Business Intelligence, toda a empresa teve um crescimento significativo, com maior assertividade em KPIs como visão entre marcas, análise demográfica, campanha e lifetime value.
Resultados
- Redução dos custos de operação;
- Agilidade nas entregas das demandas exigidas pelo mercado;
- Foco no produto, com o apoio de serviços gerenciados;
- Integração e melhor gestão dos dados nas marcas.
Construa uma infraestrutura de dados de sucesso no seu negócio!
Temos muito orgulho desse case, porque demonstra perfeitamente o poder da cloud quando empregada com as práticas mais modernas de Data Engineering. Trabalhando junto com o cliente, nós criamos a solução mais adequada para a centralização da infraestrutura de dados.
E você, consegue visualizar todos dados relevantes para a definição e o acompanhamento dos objetivos da sua empresa em um único relatório? Na hora de fazer uma análise, a equipe perde muito tempo nas etapas iniciais de captação e modelagem dos dados? A sua infraestrutura pode estar precisando de ajustes também! Clique no banner abaixo, marque uma reunião com um de nossos consultores e proponha o seu desafio.