Case Study

Implementação e gestão de plataforma de streaming de dados

Engenheiros DevOps a implementarem um sistema de monitorização de clusters Kafka

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

Data Streaming Platform Architecture