# Rollback

Adres: https://softwaredictionary.org/tr/terimler/rollback
Kategori: DevOps ve Bulut
Son güncelleme: 2026-09-30
Türkçe karşılığı: geri alma
Okunuşu: rolbek

Kısaca: Rollback, yeni bir dağıtım hatalara, kesintilere ya da beklenmedik başka sorunlara yol açtığında yazılımı önceki, sorunsuz sürüme döndürme işlemidir.

## Dağıtımda rollback nedir?

Dağıtımda rollback, canlı ortamı çalışan son sürüme döndürerek bir yayını geri almak demektir. Ekipler yeni bir sürüm hatalara, yavaş yanıtlara ya da bozuk özelliklere yol açtığında geri alır, çünkü eski sürümü geri yüklemek genellikle zararı durdurmanın en hızlı yoludur. Kullanıcılar tekrar güvende olduktan sonra geliştiriciler hatayı zaman baskısı olmadan araştırabilir.

Rollback'in nasıl işlediği dağıtım yöntemine bağlıdır. Konteynerlerde önceki imaj sürümünü yeniden dağıtırsınız; blue-green deployment'ta trafiği eski ortama geri yönlendirirsiniz; feature flag'lerle ise yeni özelliği hiç yeniden dağıtım yapmadan kapatırsınız. İyi rollback'ler hızlı ve otomatiktir; çoğu zaman bir yayından sonra hata oranları yükseldiğinde izleme uyarıları tarafından tetiklenir.

Bir metin düzenleyicideki geri al düğmesi gibi düşünün: bir değişiklik ters gittiğinde canlıda düzeltmeye çalışmak yerine son iyi duruma geri dönersiniz. En zor kısım genellikle kod değil veridir. Bir sürüm veritabanı şemasını değiştirmişse ya da veriyi yeni bir biçimde yazmışsa eski kod bunu anlamayabilir; bu yüzden ekipler veritabanı migrasyonlarını geriye dönük uyumlu olacak şekilde, örneğin eski sütunları kaldırmadan önce yenilerini ekleyerek tasarlar.

Dağıtım rollback'i sıklıkla roll-forward ile ve veritabanı transaction rollback'iyle karıştırılır. Roll-forward, geri dönmek yerine düzeltme içeren yeni bir sürümü hızla dağıtarak sorunu gidermek demektir. Transaction rollback ise tek bir transaction'ın commit edilmemiş değişikliklerini iptal eden bir veritabanı işlemidir; tüm bir sürümü geri almaya göre çok daha küçük ve otomatik bir geri almadır.

## Önemli noktalar

- Rollback, kötü bir yayından sonra uygulamanın çalışan son sürümünü geri yükler.
- Bir olay sırasında kullanıcı etkisini azaltmanın genellikle en hızlı yoludur.
- Blue-green dağıtımlar ve sürümlü konteyner imajları rollback'i hızlandırır.
- Eski kodun çalışmaya devam edebilmesi için veritabanı değişiklikleri geriye dönük uyumlu kalmalıdır.
- Bunun yerine hızlı bir düzeltme yayınlayan roll-forward, başlıca alternatiftir.

## Örnek: Bir Kubernetes dağıtımını geri almak

```bash
# See the revision history of a deployment
kubectl rollout history deployment/web-app

# Roll back to the previous revision
kubectl rollout undo deployment/web-app

# Or roll back to a specific revision number
kubectl rollout undo deployment/web-app --to-revision=3

# Watch until the rollback has finished
kubectl rollout status deployment/web-app
```

## Sık sorulan sorular

**Rollback ile roll-forward arasındaki fark nedir?**

Rollback önceki çalışan sürüme döner; roll-forward ise bir yama içeren yeni bir sürümü dağıtarak sorunu giderir. Rollback'ler bir kesinti sırasında genellikle daha hızlı ve güvenlidir; roll-forward ise geri dönmenin imkânsız olduğu durumlarda, örneğin geri döndürülemez bir veri değişikliğinden sonra kullanışlıdır.

**Bir veritabanı değişikliği nasıl geri alınır?**

Çoğu migrasyon aracı, bir up migrasyonunu tersine çeviren bir down migrasyonu yazmanıza izin verir, ancak geri almak değişiklikten sonra yazılan verileri kaybettirebilir. Ekiplerin geriye dönük uyumlu değişiklikleri tercih etmesinin nedeni budur; böylece eski uygulama sürümü çalışmaya devam eder ve şema sonradan temizlenebilir.

**Otomatik rollback nedir?**

Otomatik rollback, dağıtım sisteminin bir yayından sonra sağlık kontrollerini ya da hata oranlarını izlediği ve bunlar bir eşiği aşarsa bir insanı beklemeden kendiliğinden önceki sürüme döndüğü durumdur.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
