Bir yazılımın ömrü boyunca en kırılgan anı, yeni bir sürümün üretime çıktığı andır. O ana kadar her şey test ortamında kontrollüyken, dağıtım anında kod gerçek kullanıcılarla, gerçek verilerle ve gerçek yükle buluşur. İşte bu yüzden dağıtım stratejisi, teknik bir detay değil, işin sürekliliğini doğrudan etkileyen kritik bir karardır. İyi tasarlanmış bir dağıtım süreci, bu riskli anı neredeyse görünmez kılar.

Bu yazıda, yayına almanın riskini azaltan modern teknikleri ele alacağız: blue-green dağıtım, aşamalı (canary) yayın, yuvarlanan (rolling) güncelleme ve her şeyin merkezindeki güvenlik ağı olan geri alma (rollback). Amaç, "dağıtım korkusu"nu ortadan kaldırmak ve yayına almayı sıradan bir işleme dönüştürmektir.
Neden Elle Dağıtım Tehlikelidir?
Elle yapılan dağıtımlar, insanın hatalarına açıktır. Bir dosyayı kopyalamayı unutmak, yanlış sırada komut çalıştırmak, bir yapılandırma satırını atlamak... Her biri üretimi çökertebilir. Dahası, elle dağıtım tekrarlanabilir değildir; iki farklı kişi aynı işlemi biraz farklı yapar. Otomatik dağıtımın ilk faydası, süreci insan hatasından arındırmasıdır.
Blue-Green Dağıtım
Blue-green (mavi-yeşil) dağıtım, en zarif tekniklerden biridir. Fikir basittir: iki özdeş üretim ortamınız olur, mavi ve yeşil. Herhangi bir anda yalnızca biri canlı trafiği alır.
- Mavi ortam şu an canlıdır ve kullanıcılara hizmet verir.
- Yeni sürümü yeşil ortama kurar ve orada test edersiniz.
- Her şey yolundaysa, trafiği anında yeşile yönlendirirsiniz.
- Bir sorun çıkarsa, trafiği saniyeler içinde tekrar maviye döndürürsünüz.
Bu tekniğin en büyük gücü, geri almanın anlık olmasıdır. Yeni sürüm sorun çıkarırsa, hiçbir şey silinmez; sadece trafik eski, çalışan ortama geri döner.
İyi bir dağıtım stratejisinin ölçüsü, ne kadar hızlı yayına aldığınız değil, bir şey ters gittiğinde ne kadar hızlı geri dönebildiğinizdir. Geri alamıyorsanız, aslında dağıtım yapmıyorsunuz; kumar oynuyorsunuz.
Aşamalı (Canary) Yayın
Canary dağıtımı, yeni sürümü tüm kullanıcılara aynı anda açmak yerine, önce küçük bir dilime (örneğin kullanıcıların yüzde 5'ine) sunar. Bu küçük grupta her şey yolundaysa, oran kademeli olarak artırılır: yüzde 5, yüzde 25, yüzde 50, yüzde 100.
İsmini, madencilerin zehirli gazı erken fark etmek için kullandığı kanaryalardan alır. Eğer yeni sürümde gizli bir sorun varsa, bu yalnızca küçük bir kullanıcı grubunu etkiler ve tüm kullanıcılara yayılmadan fark edilir. Bu yaklaşım, özellikle yüksek trafikli sistemlerde riski dramatik biçimde düşürür.

Yuvarlanan (Rolling) Güncelleme
Birden fazla sunucu üzerinde çalışan sistemlerde yuvarlanan güncelleme yaygındır. Yeni sürüm, tüm sunuculara aynı anda değil, birer birer uygulanır. Bir sunucu güncellenirken diğerleri hizmet vermeye devam eder. Böylece hem kesinti olmaz hem de bir sorun çıkarsa yalnızca güncellenen sunucu etkilenir.
Geri Alma: Vazgeçilmez Güvenlik Ağı
Hangi stratejiyi seçerseniz seçin, hızlı ve güvenilir bir geri alma mekanizması olmazsa olmazdır. İyi bir geri alma planı şunları içermelidir:
- Önceki çalışan sürümün her zaman erişilebilir tutulması.
- Geri alma işleminin tek komutla, hızla yapılabilmesi.
- Veritabanı değişikliklerinin geriye uyumlu tasarlanması; çünkü kodu geri alsanız bile veri şeması sorun çıkarabilir.
Son madde çoğu ekibin gözden kaçırdığı incelik noktasıdır. Veritabanı değişikliklerini geriye uyumlu tasarlamak (örneğin bir sütunu hemen silmek yerine, önce kullanılmaz hale getirmek) geri almayı gerçekten mümkün kılar.
Berasoft'ta Güvenli Yayın
E-ticaret projelerinde bir dağıtımın çökmesi, doğrudan kaybedilen sipariş ve zedelenen güven demektir. Bu yüzden müşteri projelerinde geri alınabilir dağıtım stratejilerini, sağlık kontrolleriyle ve otomatik izlemeyle birlikte kurgularız. Yeni bir sürüm çıktığında, sistem otomatik olarak kendini kontrol eder; bir sorun sezerse trafiği eski sürüme döndürür. Kesintisiz ve güvenli bir yayın süreci kurmak için bizimle iletişime geçebilirsiniz.
Sonuç
Otomatik dağıtım, yazılımın en gergin anını en sakin anına dönüştürme sanatıdır. Blue-green, canary ve rolling teknikleri, yeni sürümü kullanıcılara sunmanın riskini farklı yollarla azaltır; ama hepsinin ortak temeli hızlı geri alabilme yeteneğidir. Ne kadar hızlı yayına aldığınız değil, bir şey ters gittiğinde ne kadar çabuk toparlandığınız gerçek olgunluğun ölçüsüdür. İyi kurulmuş bir dağıtım süreciyle yayına almak, korkulan bir olay olmaktan çıkar; günün herhangi bir saatinde gönül rahatlığıyla yapabileceğiniz sıradan bir işleme dönüşür.
Bir sonraki projeniz için hazır mısınız?
Okuduklarınızı işinize uygulamak veya dijital dönüşümünüzü konuşmak isterseniz, ekibimiz bir mesaj uzağınızda.

Yorum Yap