Günlük diziniDockup / saha notu
Note / zero-downtime-deployments

Sıfır Kesintili Dağıtımlar: Kapsamlı Rehber

Rolling update ve blue-green deployment stratejilerini kullanarak uygulamalarınızı hizmet kesintisi yaşamadan nasıl dağıtabileceğinizi öğrenin.

Giriş

Sıfır kesintili deployment artık bir ayrıcalık değil, bir gereklilik. Günümüzün sürekli erişilebilir dünyasında, birkaç saniyelik kesinti bile gelir kaybına, itibarınızın zedelenmesine ve kullanıcıların memnuniyetsizliğine yol açabilir.

Dockup'ta tüm platformumuzu deployment'ların kullanıcılarınız tarafından fark edilmemesi ilkesi üzerine kurduk. Bunu nasıl başardığımızı ve benzer stratejileri kendi altyapınızda nasıl uygulayabileceğinizi burada bulabilirsiniz.

Sıfır Kesintili Deployment Nedir?

Sıfır kesintili deployment, uygulamaları herhangi bir hizmet kesintisi olmadan güncelleme uygulamasıdır. Yeni sürümler kullanıma alınırken kullanıcılar uygulamanıza sorunsuz bir şekilde erişmeye devam eder.

Temel Stratejiler

1. Rolling Update'ler

Rolling update'ler, eski instance'ları kademeli olarak yenileriyle değiştirir. Herhangi bir anda bazı instance'lar eski sürümü, diğerleri ise yeni sürümü çalıştırır.

# dockup.yaml
deploy:
  strategy: rolling
  maxSurge: 25%
  maxUnavailable: 0

2. Blue-Green Deployment'lar

Bu strateji, birbirinin aynısı olan iki production ortamını aktif tutar. Yeni sürüm doğrulandıktan sonra trafik bir ortamdan diğerine geçirilir.

3. Canary Release'ler

Canary release'ler, tamamen kullanıma alınmadan önce trafiğin küçük bir yüzdesini yeni sürüme yönlendirir.

Health Check'ler Kritik Öneme Sahiptir

Uygun health check'ler olmadan deployment stratejiniz başarısız olur. Dockup şu yapılandırmaları otomatik olarak gerçekleştirir:

  • Liveness probe'ları: Uygulamanızın çalışıp çalışmadığını tespit eder
  • Readiness probe'ları: Uygulamanızın trafik sunmaya hazır olup olmadığını tespit eder

Sonuç

Doğru araçlar ve stratejilerle sıfır kesintili deployment'lar gerçekleştirilebilir. Dockup tüm bunları otomatik olarak yönetir; böylece altyapıyı yönetmek yerine özellik geliştirmeye odaklanabilirsiniz.