Müşteri, günde on binlerce sipariş işleyen bir lojistik hizmetidir; akşam ve kampanya dönemlerinde trafik zirve yapar, mağaza ortaklarına karşı katı SLA’ler vardır. Altyapı plansız büyümüştü: dağınık VPS’ler, sunucular üzerinde tutulan yapılandırmalar ve wiki’deki talimata göre elle yapılan dağıtımlar. Her sürüm kesintiyle sonuçlanan gece dağıtımıydı, her yoğun dönem de sipariş kaybı riski yaratıyordu. Projeye başvurmalarına neden olan olay, yılbaşı öncesi kampanyada platformun dört saat çalışmaması ve hizmetin ortaklarına tazminat ödemesi oldu.
İşletmeyi durdurmadan platformu yönetilebilir altyapıya taşımak:
altyapıyı kod olarak tanımlama, otomatik dağıtım, konteynerleştirme ve orkestrasyon, gözlemlenebilirlik ve arızalardan öngörülebilir biçimde kurtarma. Kurucu başarı ölçütünü şöyle ifade etti: “mesai saatlerinde, kesinti olmadan ve SSH erişimi olan biri olmadan dağıtım.”
Kanıtlanmış sırayı izledik: önce konteynerler ve yeniden üretilebilir ortamlar, sonra dağıtımın otomasyonu, en son otomatik ölçeklendirmeli orkestrasyon.
- Altyapıyı denetledik: servis ve bağımlılık haritası, yoğun yük profilinin ölçümleri ve en sık kesintiye yol açan manuel işlemlerin kaydı.
- Servisleri konteynerleştirdik: derleme sürecini standartlaştırdık, yapılandırmayı koddan çıkarıp ortam değişkenlerine taşıdık ve birbirinin aynısı dev/stage/prod ortamları kurduk.
- Altyapıyı Terraform ile kod olarak tanımladık: ortamlar depodan oluşturuluyor, bulut sağlayıcısının konsolundaki elle değişiklikler yasak.
- GitLab CI hattı kurduk: testler ve imaj derlemeleri otomatik; stage’e hemen, prod’a incelemeden sonra düğmeyle dağıtım; geri alma tek işlemle.
- Platformu otomatik ölçeklendirmeli Kubernetes’e taşıdık: akşam ve kampanya zirvelerinde ek örnekler devreye giriyor; ekiplerin acil elle müdahalesi gerekmiyor.
- Monitoring ve uyarı sistemi kurduk: gecikme, hata, trafik ve doygunluk gibi dört temel sinyalin metrikleri; vardiya ve planlı eskalasyonla birlikte.
- Yedekleme ve felaket kurtarma düzenini kurduk: geri yükleme prosedürü ve stage ortamında yapılan arıza provasında gerçek MTTR ölçümü.
Projenin en değerli yanı teknolojiler değil, sorumluluğun değişmesiydi: altyapı artık “SSH erişimi olan kişiye” bağlı değil. Her dağıtım yeniden üretilebilir, her ortam koddan geri kurulabilir ve ilk müşteri yazmadan önce arızalar panolarda görünür. Böylece kesintiler felaketten, açık çalışma talimatı ve ölçülebilir kurtarma süresi olan rutin olaylara dönüşür.
Projenin ekonomik faydası üç bölümden oluşuyor: otomatik ölçeklendirme ve sürekli açık tutulan “zirve” kapasitesinden vazgeçilmesi sayesinde altyapıda doğrudan %32 tasarruf; önceden gece dağıtımlarına giden ekip saatlerinden tasarruf; en önemlisi de artık arızasız geçen yoğun dönemlerde gelirin korunması. Büyük bir mağaza zinciri olan müşteri, yeni altyapıdaki ilk kampanyadan sonra sözleşmesini uzattı.
| Gösterge | Sonuç |
|---|---|
| Sürüm dağıtımı | Elle 3–4 saat → Otomatik 15 dakika |
| Sürüm sıklığı | Ayda 2–3 → Neredeyse her gün |
| Platform kullanılabilirliği | 97,8% → 99,95% |
| Yoğun yükler | Kesinti riski → İnsan müdahalesi olmadan otomatik ölçeklendirme |
Göstergeler vaka çalışmasının kaynak materyallerinden aktarılmıştır. Süre, kaynakta belirtildiği yerlerde verilmiştir.
- sürüm dağıtımı (önce elle 3–4 saat)
- 15 dk
- platform kullanılabilirliği (önce %97,8)
- 99,95%
- kesinti sonrası kurtarma (önce 2–4 saat)
- 20–30 dk
- altyapı maliyeti
- −32%
Aralıkların üst sınırları gösterilir (4 saat, 30 dakika). Kesinti süresi = 100% − kullanılabilirlik.
- 01Commit
- 02Testler
- 03İmaj derleme
- 04Stagehemen
- 05Prodincelemeden sonra düğmeyle
Bir sonraki döngü için altyapı geliştirme alanları:
- Maliyet anormalliklerine yönelik uyarılar ve takım bazında maliyet görünürlüğü sunan FinOps uygulaması.
- GitOps yaklaşımı: prod durumu depoda tanımlı olur, değişiklikler yalnızca pull request ile yapılır.
- Sağlayıcı arızalarına dayanıklılık için kritik servislerin çoğaltıldığı çok bölgeli yapı.
Eskiden sürüm demek gece, kahve ve dua demekti. Şimdi bir düğme ve on beş dakika. İlk olaysız kampanyayı bütün şirket olarak kutladık.
— Lojistik hizmetinin teknik direktörü