Yazılım Geliştirmede Etkili Yaklaşımlar: Klasik ve Modern Deployment Stratejileri

Mehmet Karakose
TOM Tech
Published in
2 min readJan 14, 2024

--

Agresif bir şekilde gelişen, değişen yeni nesil digital ürün dünyası, deployment süreçlerinde de aynı gelişim ve değişim sürecini bekliyor. Yazılımların/servislerin başarılı bir şekilde kullanıcıya ulaşması için etkili deployment stratejileri ve hata yönetimi taktikleri olmazsa olmaz. Bu yazıda, klasik ve modern deployment stratejilerini kısaca inceliyoruz.

Klasik Deployment Stratejileri

Klasik deployment stratejileri, yazılım dağıtımının temelini oluşturur. Reckless Deployment, Mavi/Yeşil — Blue/Green Deployment ve Rolling Upgrade en popüler yöntemlerdendir.

  • Reckless Deployment: Eskiyi hemen yok et, yeni versiyonu hemen yayına al, sonuçlarına aldırış etme. :)
  • Mavi/Yeşil — Blue/Green Deployment: Yeni sürüm yeşil ortamda test edildikten sonra, trafik mavi ortamdan yeşile yönlendirilir. Bu yaklaşım, downtime’i minimize eder ve hata durumunda geri dönüşü kolaylaştırır.
  • Rolling Upgrade: Yeni sürüm sunuculara kademeli olarak dağıtılır. Bu sayede kullanıcılar, güncelleme sırasında hizmet kesintisi yaşamaz.

Modern Deployment Stratejileri

İşlerin karmaşıklaşması, farklı ekiplerin çok hızlı geliştirme yapması gibi sebeplerle, Canary Deployment ve A/B Testing gibi modern yaklaşımların kullanımı vadiye son hızla girmiştir.

  • Canary Deployment: Yeni sürüm, önce sınırlı bir kullanıcı grubuna sunulur. Performansı tatmin ediciyse, kademeli olarak tüm kullanıcılara genişletilir. Bu, riskleri azaltır ve kullanıcı geri bildirimlerine dayalı iyileştirmeler sağlar.
  • A/B Testing: İki farklı sürüm, rastgele seçilen kullanıcı gruplarına sunulur. Bu testler, kullanıcı deneyimi iyileştirmeleri ve en etkili özelliklerin belirlenmesinde kritik öneme sahiptir. Deneyimler olumlu ise tüm sunucularda yeni versiyon yaygınlaştırılır.

teşekkürler, like like :)

--

--

Mehmet Karakose
TOM Tech

Software Engineer, Organizer, Travelpreneur ✈️ 🌍💫