Caso Práctico

Implementación y gestión de una plataforma de transmisión de datos

Ingenieros DevOps implementando un sistema de monitorización para clusters Kafka

Industria
  • Tecnología
  • Empresa especializada en áreas como telecomunicaciones, automatización, digitalización, ingeniería, Inteligencia Artificial (IA), Internet de las Cosas (IoT), ciberseguridad, metaverso, transporte y edificios inteligentes

 

Desafíos
  • Implementar y gestionar la plataforma de transmisión de datos y las herramientas relacionadas, que son utilizadas por los sistemas de gestión, ventas y fábricas del cliente en todo el mundo.
  • Desarrollar y mantener pipelines para gestionar los recursos de Kafka y las aplicaciones del ecosistema de Kafka, como Kafka Connect, Schema Registry, REST Proxy o ksqlDB.
  • Definir la arquitectura, implementar y automatizar soluciones para mejorar la gestión de recursos y reducir gastos.
  • Implementar soluciones complementarias a la plataforma de transmisión de datos para el uso, monitoreo y gobernanza de los datos.

Solución

El equipo dedicado a este proyecto fue responsable de desarrollos como:

  • Implementación de un modelo GitOps para gestionar recursos de Kafka, un repositorio con “Single Source Of Truth” (SSOT) y adopción de IaC (Infrastructure as Code).
  • Creación de un nuevo clúster de Kafka en Kubernetes, usando Strimzi, migración de la carga actual, que estaba en OpenShift (local), con el objetivo de reducir costos.
  • Reestructuración de aplicaciones y namespaces (Kubernetes) para reducir costos.
  • Análisis y tratamiento de vulnerabilidades.
  • Implementación de Conduktor (herramienta de gestión, monitoreo y gobernanza de datos para Kafka).
  • Implementación de un sistema de monitoreo para clústeres de Kafka (Confluent Cloud y Strimzi), dashboards y alertas, usando Prometheus y Grafana.
  • Implementación de Kafka Connect y conectores (sink/source) para la transferencia de datos entre Kafka y diferentes sistemas como SAP, Snowflake, Amazon S3 y Celonis.
  • Implementación de instancias de Kafka REST Proxy para sistemas que usan Kafka, a través de REST API.
  • Creación de pipelines para aplicaciones personalizadas desarrolladas internamente.

Metodologías

DevOps y GitOps.


Tecnologías

  • Apache Kafka
  • Kubernetes
  • Terraform
  • Helm
  • Amazon Web Services (AWS)
  • Red Hat OpenShift
  • Prometheus
  • Grafana
  • Confluent Cloud
  • GitHub Actions
  • GitLab CI
  • Strimzi
  • Conduktor
  • HashiCorp Vault

Cronograma y recursos

El proyecto comenzó en 2022 y las funcionalidades se han entregado según las necesidades de las áreas internas. El equipo actualmente trabaja en aproximadamente 15 clientes/proyectos internos.

El equipo incluye:

  • 1 Product Owner
  • 1 Service Owner
  • 2 Ingenieros DevOps

Resultados y experiencia del cliente

Nuestro trabajo fue esencial para continuar la implementación de la solución desarrollada a principios de 2022.

Facilitamos el desarrollo de varias automatizaciones y documentación, así como la implementación de nuevas soluciones, funcionalidades y correcciones de errores.

También logramos implementar un modelo GitOps para la plataforma de transmisión de datos del cliente.


Arquitectura

Data Streaming Platform Architecture