Case Study
Implementação e gestão de plataforma de streaming de dados
Indústria
- Tecnologia
- Empresa especializada em áreas como telecomunicações, automação, digitalização, engenharia, Inteligência Artificial (IA), Internet of Things (IoT), Cibersegurança, metaverso, transportes e edifícios inteligentes
Desafios
- Implementar e gerir plataforma de streaming de dados, assim como ferramentas relacionadas, que são utilizadas por sistemas de gestão, vendas e fábricas do cliente em todo o mundo;
- Desenvolver e manter pipelines para gerir recursos Kafka e aplicações do ecossistema Kafka, como Kafka Connect, Schema Registry, REST Proxy ou ksqlDB.
- Definir a arquitetura, implementar e automatizar soluções para melhorar a gestão de recursos e reduzir despesas;
- Implementar soluções complementares à plataforma de streaming de dados para utilização, monitorização e governança de dados.
Solução
A equipa dedicada a este projeto foi responsável por desenvolvimentos como:
- Implementação de um modelo GitOps para gestão de recursos Kafka, de um repositório com “Single Source Of Truth” (SSOT), e adoção de IaC (Infrastructure as Code);
- Criação de um novo cluster Kafka em Kubernetes, utilizando Strimzi, migração do workload atual, a correr em OpenShift (on-premises), com o objetivo de reduzir custos;
- Reestruturação de aplicações e namespaces (Kubernetes) com o objetivo de reduzir custos;
- Análise e tratamento de vulnerabilidades;
- Implementação do Conduktor (ferramenta para gestão, monitorização e governança de dados para Kafka);
- Implementação de sistema de monitorização de clusters Kafka (Confluent Cloud e Strimzi), dashboards e alertas, utilizando Prometheus e Grafana;
- Implementação de Kafka Connect e conectores (sink/source) para transferência de dados entre Kafka e diferentes sistemas como SAP, Snowflake, Amazon S3 e Celonis;
- Implementação de instâncias do Kafka REST Proxy para sistemas que utilizam Kafka, através de REST API;
- Criação de pipelines para aplicações customizadas desenvolvidas internamente.
Metodologias
DevOps e GitOps.
Tecnologias
- Apache Kafka
- Kubernetes
- Terraform
- Helm
- Amazon Web Services (AWS)
- Red Hat OpenShift
- Prometheus
- Grafana
- Confluent Cloud
- GitHub Actions
- GitLab CI
- Strimzi
- Conduktor
- HashiCorp Vault
Timeline e recursos
O projeto teve início em 2022 e as funcionalidades têm sido entregues de acordo com as necessidades das áreas internas. Atualmente, a equipa trabalha para, aproximadamente, 15 clientes/projetos internos.
A equipa conta com:
- 1 Product Owner
- 1 Service Owner
- 2 DevOps Engineers
Resultados e experiência do cliente
A nossa atuação foi essencial para dar continuidade à implementação da solução desenvolvida no início de 2022.
Possibilitámos o desenvolvimento de diversas automações e documentações, assim como a implementação de novas soluções, funcionalidades e correções de bugs.
Conseguimos ainda implementar um modelo GitOps para a plataforma de streaming de dados do cliente.
Arquitetura