Case Study
Wdrożenie i zarządzanie platformą przesyłającą strumieniowo dane
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