Desenvolvimento de uma plataforma de dados em nuvem para o Centro de Carreira da Poli

Trabalho de Conclusão de Curso em parceira com o Amigos da Poli

Contexto e Motivação

O Amigos da Poli, que é o primeiro e maior fundo patrimonial ligado a uma universidade do país, tem planos de ampliação do espectro de atuação e de mudar sua forma de gestão para ser mais baseada em dados nos próximos anos, além disso, será preciso se adequar à nova Lei Geral de Proteção de Dados (LGPD). Esse cenário possui alguns entraves, que são: os dados atuais estão descentralizados, dificultando acesso e análises; os processos de manipulação e consolidação de dados são manuais, que resultam em maior tempo gasto para execução dos mesmos e maior chance de erros; e a governança e proteção de dados é dificultada por causa desses processos e dados descentralizados.

Objetivo

O objetivo do projeto é projetar e implementar uma infraestrutura de dados em nuvem que garanta centralização, integração, governança, expansibilidade e automatização de fluxos de dados da diretoria do Centro de Carreira do Fundo Patrimonial Amigos da Poli. Cada um dos tópicos citados está explicado a seguir:

  • Centralização: Dados operacionais relevantes em um repositório único

  • Integração: Relacionamento de bases distintas a partir de chaves fortes

  • Governança: Controle de acesso aos dados e do ciclo de vida e adequamento à Lei de Proteção de Dados (Lei nº 13.709/2018) (LGPD)

  • Expansibilidade: Infraestrutura que permita englobar outras diretorias do Amigos da Poli sem dificuldade e possibilite incluir a extração de dados oriundos de diversas plataformas: Salesforce, Aplicações Web (Site portal), entre outras fontes

  • Automatização: Orquestração de fluxos de extração, tratamento e carregamento

Mais especificamente, essa infraestrutura em nuvem visa à automatização da extração, tratamento e consolidação de dados de uma parte do ciclo de um produto do Centro de Carreira do Amigos da Poli em um ambiente de nuvem. Além de permitir a expansão desses fluxos para o resto do ciclo ou para outros programas de forma simples.

Cenário/fluxo atual

Para captação e gerenciamento dos dados, o Centro de Carreira utiliza diversas ferramentas do G Suite, pacote de ferramentas de produtividade da Google. Isso ocorre devido à facilidade que as ferramentas proporcionam para criação de formulários, planilhas e documentos compartilhados em nuvem, além do fato do domínio de e-mails do fundo patrimonial estar associado ao G Suite em um plano gratuito para organizações não governamentais.

De forma geral, os dados são captados por formulários do Google Forms e armazenados em planilhas do Google Sheets. Tratamentos de dados e integrações são realizadas de forma manual ou por templates padronizados de planilhas do Google Sheets, apesar de haver algumas pequenas iniciativas de utilizar scripts de python no Google Colab para análises e tratamentos mais complexos. Para visualização de dados de inscrições e acompanhamento de programas e dados históricos, que são consolidados manualmente, utiliza-se o Google Data Studio, uma ferramenta gratuita de dashboards interativos do G Suite que oferece integrações nativas com dados armazenados em planilhas do Google Sheets.

Para cada novo Programa, são criados 7 a 8 novos formulários similares, que alimentarão novas planilhas e, posteriormente, serão apresentados em um novo dashboard no Google Data Studio. Após o encerramento do programa, um ou mais voluntários consolidam e integram com o auxílio de planilhas e fórmulas os dados desses formulários em uma base histórica.

As interferências manuais de voluntários para cada etapa do processo demandam tempo, geram complexidade na orquestração de etapas e estão propensas a erros humanos. Além disso, geram gargalos de escalabilidade para o lançamento de novos produtos, uma vez que criam uma dependência direta entre o número de programas oferecidos e o número de voluntários necessários para executar a operação.

Adicionalmente, o Centro de Carreira da Poli está operando no limite de programas que o corpo de voluntários atual consegue atender e possui objetivos de expandir consideravelmente o espectro e a complexidade de atuação nos próximos anos. Uma possível expansão do time de voluntários não se mostra uma opção viável dado que o processo de captação, treinamento e retenção de novos voluntários é demorada, além de tornar mais complexa a estrutura de coordenação dos times.

Por fim, o cenário atual de gerenciamento de dados e processos mostra-se incompatível com todos os esforços e metas de reforçar a governança e transparência do Amigos da Poli, além da adequação do fundo à LGPD.

Arquitetura

A arquitetura desenvolvida é dividida em camadas, cada uma com tecnologias específicas dependendo de suas responsabilidades. Além disso, todos os componentes da nuvem foram desenvolvidos em Terraform, que é uma linguagem de Infraestrutura como Código, facilitando a alteração, replicação e versionamento da mesma.

A maioria dos dados encontram-se em planilhas do Google, portanto existe uma Camada de Orquestração que é responsável por ativar a Camada de Ingestão, que irá extrair e armazenar esses dados na primeira Camada de Armazenamento, e então será ativado a Camada de Processamento, que armazenará os dados já tratados na segunda Camada de Armazenamento, tudo isso com periodicidades pré-determinadas. Com isso, os dados poderão ser consultados através da Camada de Consulta ou através da Camada de visualização.

Para garantir a governança desses dados, a Camada de Segurança limita os acessos dos usuários às outras camadas dependendo de quem for o usuário (exemplo, o usuário pode ser um novo voluntário ou pode ser o presidente do Amigos da Poli).

Com essa arquitetura, cada novo dado será processado e consolidado de forma automática, agendada e rápida, sem depender de trabalhos manuais, que são passíveis de erro. E, já que a infraestrutura está em código, a ampliação do fluxo para mais programas também não demanda muito trabalho manual para os voluntários que darão suporte a ferramenta.

Resultados

O projeto resultou numa plataforma robusta pronta para receber automatizações de fluxos de dados, centralizar e controlar acesso aos principais dados de alunos e voluntários. Dessa forma, dados que eram consolidados apenas após o término dos programas do Centro de Carreira, podem ser processados e obtidos diariamente.

Outro ponto importante é que, por utilizar majoritariamente Python e por existirem abstrações de complexidade pelo Terraform através do uso de módulos, a curva de aprendizado para outros voluntários contribuírem no uso, implementação e suporte de elementos da plataforma é pequeno.

Próximos passos

O projeto atual terá continuidade na organização do Amigos da Poli uma vez que os membros do grupo são voluntários da ONG e pretendem implementar regras de negócio específicas juntamente com outros voluntários, que devem ser treinados para conseguir auxiliar.

Outra forma de ampliar o projeto é através da inclusão de outras diretorias e suas fontes de dados no escopo de desenvolvimento e treinamento dos membros para serem consumidores desses dados.

Integrantes:

  • Gustavo Gransotto Ribeiro

  • Renan Yudi Hamada Nunes

Orientadores:

  • Prof. Pedro Luiz Pizzigatti Corrêa

  • Prof. Felipe Miguel Pait