Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Rolling Deployment: Sunucuları Sırayla Güncellemek, Kubernetes'te maxSurge ve maxUnavailable
Rolling deployment filoyu parça parça günceller; doğru yapılırsa kesinti olmaz ama iki sürüm bir süre yan yana yaşar. Nginx arkasında üç instance: naif script 90 GET'in 2'sini düşürdü, drain + readiness kontrollü script 237 GET ve 90 POST'u hatasız geçirdi. Kubernetes'te maxSurge/maxUnavailable ve minReadySeconds seçimi, progressDeadlineSeconds aşılınca otomatik geri dönüş olmadığı ve rolling'in uygun olmadığı durumlar.
Deploy ve Release Farkı: Downtime Neden Olur ve Deployment Stratejileri Haritası
Deploy kodun ortama kurulması, release kullanıcının yeni davranışı görmesidir; ikisini ayırabilen ekip riski böler. Nginx arkasındaki tek container'lı recreate deploy'unda 12 istek 2,5 saniye içinde hata aldı. Downtime'ın beş kaynağı, recreate, rolling, blue-green, canary, shadow, A/B ve feature flag'in haritası, karar tablosu ve risk = blast radius × tespit süresi hesabı.