Kubernetes Üzerinde Konteyner Mikroservisleri
Proje hakkında
ComDigital ürünlerinin arkasındaki, %99,9 uptime hedefiyle Kubernetes üzerinde çalışan üretim platformu.
Problem ve amaç
ComDigital'in ürünleri (bir pazarlama veri platformu, bir eSIM e-ticaret platformu ve bir araç değerleme platformu) erişilebilir kalan, izlenebilen ve kesintisiz sürüm çıkaran tek bir üretim platformuna ihtiyaç duyuyordu.
Rolüm ve sorumluluğum
Bu ürünlerin arkasındaki üretim platformu üzerinde çalıştım: konteynerize servisler, merkezi loglama ve izleme ve otomatik CI/CD pipeline'ları.
Mimari yaklaşım ve önemli kararlar
- Kubernetes ve Docker üzerinde Python ve Node.js mikroservisleri; Kubernetes çöken bir konteyneri ya da node'u yeniden başlatır ve başka yere taşır
- Health check'ler sağlıksız bir instance'ı toparlanana kadar trafikten uzak tutar
- Çok aşamalı CI/CD pipeline'ları her sürümü derler, test eder ve bir sonraki ortama taşır; rolling update'ler kesintisiz sürüm sağlar
- Graylog tüm servislerin loglarını toplar, Grafana panoları uptime, hata oranı ve gecikmeyi %99,9 hedefine karşı izler ve alarm üretir
- Google Cloud maliyet azaltma çalışmasının parçası olarak compute ve BigQuery maliyetleri gözden geçirildi
Kullanılan teknolojiler
Python, Node.js, Kubernetes, Docker, Graylog, Grafana, CI/CD, Google Cloud, BigQuery.