İçeriğe geç
parazade

Rollback Ne Demek?

Yayın: · Son güncelleme:

Rollback Ne Demek? Kısaca

Rollback, bir değişikliği geri alarak sistemi önceki çalışan durumuna döndürme işlemidir. Yazılım yayınlarında hatalı sürümü geri çekmek, veritabanlarında ise yarım kalan bir işlemi iptal etmek için kullanılır.

Rollback nedir?
İçindekiler
  1. Rollback ne demek?
  2. Yazılım yayınlarında rollback
  3. Veritabanı işlemleri nasıl geri alınır?
  4. Nelere dikkat etmeli?

Rollback ne demek?

Rollback, "geri sarma" ya da "geri alma" anlamına gelir. Yeni bir sürüm canlıya çıktıktan sonra beklenmedik bir sorun çıkarsa, ekip düzeltmeyi beklemek yerine önceki sürüme döner. Kullanıcılar kısa sürede yeniden çalışan bir sisteme kavuşur.

Kavram iki bağlamda kullanılır. Birincisi yazılım dağıtımı, ikincisi veritabanı işlemleridir.

Yazılım yayınlarında rollback

Varsayımsal bir senaryo: bir uygulamanın 2.4 sürümü saat 14.00'te yayınlandı ve 10 dakika içinde giriş hatası şikâyetleri başladı. Ekip bir önceki 2.3 sürümünü yeniden yayınlayarak sorunu birkaç dakikada durdurur. Hatanın nedeni ise sakin bir ortamda incelenir.

Bunun hızlı olması için önceki sürümün hazır tutulması gerekir. Docker imajları, Kubernetes'teki sürüm geçmişi ve hosting panellerindeki "önceki dağıtıma dön" düğmeleri bu amaçla kullanılır.

Veritabanı işlemleri nasıl geri alınır?

Veritabanlarında rollback, bir transaction içindeki tüm adımları iptal eder. Bir para transferinde gönderen hesaptan düşme başarılı, alıcı hesaba ekleme başarısız olursa ROLLBACK komutu ilk adımı da geri alır. Böylece para havada kaybolmaz.

Nelere dikkat etmeli?

Kodu geri almak kolaydır, veriyi geri almak değildir. Yeni sürüm veritabanında bir sütunu silmişse eski sürüme dönmek o veriyi geri getirmez. Bu yüzden veritabanı değişikliklerini geriye uyumlu yapmak ve büyük yayınlardan önce yedek almak gerekir.

Her yayından önce şu soruyu sorun: bu sürüm sorun çıkarırsa kaç dakikada ve hangi adımlarla geri dönebiliriz? Cevap belirsizse yayın henüz hazır değildir.

Sıkça Sorulan Sorular

Rollback ile hotfix arasındaki fark nedir?

Rollback, sorunlu sürümü kaldırıp öncekine döner. Hotfix ise mevcut sürümde kalarak hatayı düzelten acil bir yamadır. Hızlı ve güvenli olduğu için ilk tepki genellikle rollback olur.

Mobil uygulamalarda rollback yapılabilir mi?

Kullanıcının cihazına inen sürümü geri almak zordur, çünkü uygulama mağazaları eski sürüme dönüşe genellikle izin vermez. Bu nedenle mobilde feature flag ve kademeli yayın daha sık tercih edilir.

İlgili terimler

Deploy(Deployment)Deploy (deployment), yazılımın hazırlanan sürümünün bir sunucuya ya da platforma kurularak çalışır ve erişilebilir hâle getirilmesidir. Türkçede dağıtım, yayına alma ya da canlıya alma olarak geçer.TransactionTransaction (işlem), veritabanında birlikte başarılı olması ya da birlikte geri alınması gereken komutlar bütünüdür. Adımlardan biri başarısız olursa tüm işlem geri alınır ve veri yarım kalmaz.HotfixHotfix, canlı ortamda kullanıcıları etkileyen kritik bir hatayı düzenli sürüm takvimini beklemeden acilen düzelten küçük yazılım değişikliğidir. Türkçede sıcak düzeltme ya da acil yama olarak da anılır.Feature FlagFeature flag (özellik bayrağı), bir yazılım özelliğini kodu yeniden dağıtmadan açıp kapatmayı sağlayan yapılandırma anahtarıdır. Yeni özellikleri önce küçük bir kullanıcı grubuna açmak ve sorun çıkarsa hemen kapatmak için kullanılır.Yazılım(Software)Yazılım, bir bilgisayarın ya da akıllı cihazın ne yapacağını adım adım tarif eden programların, verilerin ve talimatların bütünüdür. Donanım fiziksel parçaları, yazılım ise bu parçaları çalıştıran mantığı ifade eder.Veritabanı(Database)Veritabanı, verilerin düzenli, aranabilir ve güncellenebilir biçimde saklandığı elektronik kayıt sistemidir. Müşteri listeleri, siparişler ve ürün bilgileri gibi veriler veritabanlarında tutulur.Hosting(Web Hosting)Hosting (web barındırma), bir web sitesinin dosyalarının ve veritabanının internete sürekli açık bir sunucuda tutulmasını sağlayan hizmettir. Siteniz ziyaretçilere bu sunucudan sunulur.