irfo
Moderatör
- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
Geleneksel sunucu yönetiminde, bir sunucu kurulur ve ömrü boyunca üzerinde güncellemeler, yama işlemleri ve konfigürasyon değişiklikleri yapılır. Ancak bu yaklaşım zamanla "Configuration Drift" (Konfigürasyon Kayması) dediğimiz, sunucuların birbirinden farklılaşması sorununa yol açar. Immutable Infrastructure (Değişmez Altyapı), bu sorunu kökten çözer: Sunucular asla güncellenmez, sadece yenileriyle değiştirilir.
Bu iki kavramı anlamak için "Evcil Hayvanlar vs. Büyükbaş Hayvanlar" (Pets vs. Cattle) benzetmesi sıkça kullanılır:
"Benim makinemde çalışıyordu ama sunucuda çalışmıyor" cümlesi tarih olur. Geliştirme, test ve üretim ortamları aynı imajdan (Docker veya AMI) türetildiği için beklenmedik farklar oluşmaz.
Yeni bir sürüm dağıttınız ve hata mı çıktı? Eski çalışan imajı tekrar yayına alarak saniyeler içinde eski sürüme dönebilirsiniz. Karmaşık "undo" komutlarına gerek kalmaz.
Değişmez sunucularda manuel müdahale (SSH) genellikle kapalıdır. Bu, saldırganların sisteme sızıp kalıcı değişiklikler yapmasını veya "arka kapılar" bırakmasını imkansız hale getirir.
Immutable altyapıyı hayata geçirmek için şu araçlar kritik rol oynar:
Immutable Infrastructure, modern bulut yerlisi (cloud-native) sistemlerin temel taşıdır. Başlangıçta "sürekli yeni sunucu kurmak" zahmetli görünse de, sağladığı ölçeklenebilirlik, güvenlik ve tahmin edilebilirlik uzun vadede operasyonel yükü %80 oranında azaltır.
1. Değişken (Mutable) vs. Değişmez (Immutable) Altyapı
Bu iki kavramı anlamak için "Evcil Hayvanlar vs. Büyükbaş Hayvanlar" (Pets vs. Cattle) benzetmesi sıkça kullanılır:
- [] Mutable (Evcil Hayvan): Sunucunuza bir isim verirsiniz, hastalandığında (hata verdiğinde) onu iyileştirmeye çalışırsınız. Her sunucu eşsizdir ve üzerinde manuel değişiklikler yapılır. [] Immutable (Büyükbaş Hayvan): Sunucular birbirinin aynısıdır. Bir hata oluştuğunda veya güncelleme gerektiğinde sunucuyu tamir etmezsiniz; onu siler ve koddaki güncel tanıma göre yenisini oluşturursunuz.
| Özellik | Mutable (Değişken) | Immutable (Değişmez) |
|---|---|---|
| Güncelleme | Yerinde (In-place) güncelleme yapılır. | Yeni imaj/sunucu oluşturulur. |
| Hata Ayıklama | Canlı sunucuda SSH ile müdahale. | Log analizi ve yeni dağıtım. |
| Tutarlılık | Zamanla sunucular birbirinden farklılaşır. | Tüm sunucular her zaman birebir aynıdır. |
| Geri Dönüş (Rollback) | Zor ve riskli. | Eski imaja dönmek kadar kolay. |
2. Immutable Infrastructure'ın Avantajları
"Benim makinemde çalışıyordu ama sunucuda çalışmıyor" cümlesi tarih olur. Geliştirme, test ve üretim ortamları aynı imajdan (Docker veya AMI) türetildiği için beklenmedik farklar oluşmaz.
Yeni bir sürüm dağıttınız ve hata mı çıktı? Eski çalışan imajı tekrar yayına alarak saniyeler içinde eski sürüme dönebilirsiniz. Karmaşık "undo" komutlarına gerek kalmaz.
Değişmez sunucularda manuel müdahale (SSH) genellikle kapalıdır. Bu, saldırganların sisteme sızıp kalıcı değişiklikler yapmasını veya "arka kapılar" bırakmasını imkansız hale getirir.
3. Bu Yaklaşımı Sağlayan Teknolojiler
Immutable altyapıyı hayata geçirmek için şu araçlar kritik rol oynar:
- [] Konteynerlar (Docker): Uygulamayı ve bağımlılıklarını paketleyerek her yerde aynı şekilde çalışmasını sağlar. [] Infrastructure as Code (Terraform/Pulumi): Sunucuların silinip yeniden oluşturulmasını otomatikleştirir. [] Imaj Oluşturucular (Packer): Bulut sağlayıcılar için önceden yapılandırılmış sanal makine imajları (AMI vb.) hazırlar. [] Blue-Green Deployment:** Eski ve yeni sürümlerin yan yana çalıştırılıp trafiğin kaydırılmasını sağlar.
- [] Eski Yöntem: Sunucuya SSH ile bağlan -> apt-get update çalıştır -> Servisi yeniden başlat -> Hata çıkarsa elle düzeltmeye çalış. [] Yeni Yöntem (Immutable): Dockerfile'ı güncelle -> CI/CD üzerinde yeni bir imaj build et -> Mevcut sunucuları/podları kapat -> Yeni imajdan üretilen sunucuları aç.
Sonuç
Immutable Infrastructure, modern bulut yerlisi (cloud-native) sistemlerin temel taşıdır. Başlangıçta "sürekli yeni sunucu kurmak" zahmetli görünse de, sağladığı ölçeklenebilirlik, güvenlik ve tahmin edilebilirlik uzun vadede operasyonel yükü %80 oranında azaltır.