Containerisierte Microservices auf Kubernetes
Über das Projekt
Die Produktionsplattform hinter den Produkten von ComDigital, betrieben auf Kubernetes mit einem Uptime-Ziel von 99,9 %.
Problem und Zweck
Die Produkte von ComDigital (eine Marketing-Datenplattform, eine eSIM-E-Commerce-Plattform und eine Plattform zur Fahrzeugbewertung) brauchten eine gemeinsame Produktionsplattform, die verfügbar bleibt, beobachtbar ist und Releases ohne Ausfallzeit ausliefert.
Meine Rolle und Verantwortung
Ich habe an der Produktionsplattform hinter diesen Produkten gearbeitet: an den containerisierten Diensten, dem zentralen Logging und Monitoring und den automatisierten CI/CD-Pipelines.
Architektur und wichtige Entscheidungen
- Python- und Node.js-Microservices auf Kubernetes und Docker; Kubernetes startet einen ausgefallenen Container oder Node neu und plant ihn um
- Health Checks halten eine fehlerhafte Instanz aus dem Traffic, bis sie sich erholt
- Mehrstufige CI/CD-Pipelines bauen, testen und befördern jedes Release, Rolling Updates sorgen für Releases ohne Ausfallzeit
- Graylog sammelt die Logs aller Dienste, Grafana-Dashboards verfolgen Uptime, Fehlerraten und Latenz gegen das Ziel von 99,9 %, mit Alarmen
- Compute- und BigQuery-Kosten wurden im Rahmen einer Kostensenkung in Google Cloud geprüft
Eingesetzte Technologien
Python, Node.js, Kubernetes, Docker, Graylog, Grafana, CI/CD, Google Cloud, BigQuery.