Arquitetura DataOps com GCP (Google Cloud Platform)

Anna Karoliny
3 min readJul 8, 2023

Compreendendo ferramentas e para desenvolvimento de ETL

Olá meus leitores, hoje trago uma proposta diferente dos outros artigos. Eu montei uma arquitetura muito intuitiva com todas as ferramentas que geralmente são utilizadas para fazer um ETL dentro de uma organização.

Ela é bem objetiva e adicionei alguns comentários para ficar mais simplificado onde cada ferramenta se encaixa, ajudando a compreender melhor (principalmente pessoas iniciantes na área ou que estão em busca de desenvolvimento na parte de criação de soluções).

Estou utilizando Google Cloud Platform, para provisionar todos os recursos e utilização de ferramentas, entre eles:

  • Secret Key Manager, dentro de uma estrutura que contém conexões de banco ou qualquer acesso que tem informações confidenciais e que não devem ser acessadas por qualquer pessoa, esse serviço serve para criptografia de chaves. Tem muitas documentações maravilhosas da própria Google que ensinam como faz, vou deixar no final do artigo essas indicações.
  • Console, se caso você não tenha é só criar uma conta e criar um projeto para poder visualizar o console e suas ferramentas. (Vou utilizar a interface para fazer conexão com outras ferramentas e utilizar recursos, mas tem a possibilidade de fazer via bash)
  • Compute Engine, na console do GCP (Google Cloud Platform) automaticamente quando criarmos a conexão com a ferramenta, ele vai provisionar o serviço para utilizarmos na nossa Infraestrutura.
    Para mais informações sobre o serviço do compute engine, preços e para entender o que é Compute Engine, este link vai te ajudar.
  • Databricks, essa ferramenta paga mas pelo GCP se for a primeira vez a utilizar, você tem 14 dias de gratuidade. Iremos utilizar para realizar a integração em um repositório no GitHub para sempre termos o código salvo. Ele proporciona a facilidade de criar notebooks e utilizar o mesmo para schedule (agendar o horário que o script deve executar), temos a opção de linguagens de programação para programar dentro do notebook. E outras infinidades de coisas o databricks proporciona, citando a ultima utilizada por nós é a criação de databases para visualização de dados, mas os dados salvos serão armazenados dentro do nosso Storage GCP.
  • Storage GCP, ao armazenar os dados que iremos trabalhar, os mesmos serão salvos aqui. Temos via console como criadores do projeto do inicio ao fim o acesso direto para criar buckets, e visualizar os dados que foram criados ali (lembrando que se fosse dentro de uma organização, dependendo do caso onde já existe uma arquitetura, você não poderia ter acesso direto ao lake, por conta de compliance e governança. Imagina todas as pessoas terem acesso direto para criar buckets, apagar recursos, ou alterar o que seja? Maior bagunça, né!?).
  • Spark e Pyspark, dependendo da linguagem utilizada se for Scala ou Python, fica opcional para criar o código da pipeline dentro do notebook, o databricks proporciona todos esses recursos instalados, sendo necessário apenas a instalação de novas libs caso for utilizar.
  • Delta Table, uma ferramenta que está extremamente em alta e vem fazendo juz ao seu nome, criada pelo Databricks, traz liberdade em manipulações de tabelas. Onde é possivel ter um historico de versões e facilidade em alterações do schema e muitos outros benefícios. Sou suspeita para falar, porque utilizo ele no meu dia-a-dia. E no projeto apresentado, vou mostrar para vocês um pouco dele.
  • Power BI, não vou nesse projeto utilizar ele para criar visualizações em gráficos, mas deixo a possibilidade dentro da arquitetura. O Databricks tem facilidade em criar integração com essa ferramenta.

Bom, expliquei acima como é utilizado as ferramentas de dentro da arquitetura e como se relacionam. Deixo aqui o link do projeto, só que mais simplificado, realizando apenas a pipeline de dados, extração de dados do Spotify, realizo algumas manipulações e tratamentos e salvo em um database no databricks.

Caso queira ver toda essa arquitetura criada e funcionando, acesse esse link com a documentação completa: https://github.com/annamatias/gcp_dataops

Recomendação de leitura e prática de criação de chaves criptografadas para uso:

--

--

Anna Karoliny

Data Engineer | DataOps | Python Developer | Spark | Airflow | Azure | AWS | GCP | Databricks