Case Study

Wdrożenie i zarządzanie platformą przesyłającą strumieniowo dane

Inżynierowie DevOps wdrażający system monitorowania klastrów Kafka

Branża
  • Technologiczna
  • Firma specjalizująca się w obszarach takich jak telekomunikacja, automatyka, cyfryzacja, inżynieria, sztuczna inteligencja (AI), Internet Rzeczy (IoT), cyberbezpieczeństwo, metaverse, transport i inteligentne budynki

 

Wyzwania
  • Wdrożenie i zarządzanie platformą przesyłającą strumieniowo dane oraz powiązanymi narzędziami, które są wykorzystywane przez systemy zarządzania klientami (CMS), sprzedaży i fabrykami klienta na całym świecie.
  • Opracowanie i utrzymanie pipeline’ów do zarządzania zasobami Kafka oraz aplikacjami ekosystemu Kafka, takimi jak Kafka Connect, Schema Registry, REST Proxy czy ksqlDB
  • Zdefiniowanie architektury, wdrożenie i automatyzacja rozwiązań mających na celu poprawę zarządzania zasobami i redukcję kosztów.
  • Wdrożenie rozwiązań komplementarnych dla platformy przesyłającej strumieniowo dane w zakresie wykorzystania danych, monitorowania i zarządzania.

Rozwiązanie

Zespół dedykowany temu projektowi był odpowiedzialny za rozwój takich elementów jak:

  • Wdrożenie modelu GitOps do zarządzania zasobami Kafka, repozytorium z „Single Source Of Truth” (SSOT) oraz przyjęcie IaC (Infrastructure as Code).
  • Utworzenie nowego klastra Kafki w Kubernetes z użyciem Strimzi, migracja aktualnego obciążenia działającego na OpenShift (lokalnie) w celu obniżenia kosztów.
  • Restrukturyzacja aplikacji i przestrzeni nazw (Kubernetes) w celu redukcji kosztów. 
  • Analiza i usuwanie luk w zabezpieczeniach.
  • Wdrożenie Conduktor (narzędzie do zarządzania danymi, monitorowania i zarządzania dla Kafka).
  • Wdrożenie systemu monitorowania klastrów Kafka (Confluent Cloud i Strimzi), pulpitów nawigacyjnych i alertów z wykorzystaniem Prometheus i Grafana.
  • Wdrożenie instancji Kafka REST Proxy dla systemów korzystających z Kafka za pośrednictwem REST API.
  • Utworzenie pipelinów dla dostosowanych aplikacji rozwijanych wewnętrznie.

Metodologie

DevOps i GitOps.


Technologie

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

Plan i zasoby

Projekt rozpoczął się w 2022 roku, a funkcjonalności były dostarczane zgodnie z potrzebami wewnętrznymi. Zespół obecnie pracuje dla około 15 wewnętrznych klientów/projektów.

Zespół składa się z:

  • 1 Product Owner’a
  • 1 Service Owner’a
  • 2 Inżynierów DevOps

Wyniki i doświadczenia klientów

Nasza praca była kluczowa dla kontynuacji wdrażania rozwiązania opracowanego na początku 2022 roku.

Umożliwiliśmy rozwój kilku automatyzacji i dokumentacji, a także wdrożenie nowych rozwiązań, funkcjonalności oraz poprawek błędów.

Dzięki temu udało nam się również wprowadzić model GitOps dla platformy strumieniowania danych klienta.


Architekturae

Data Streaming Platform Architecture