Docker — kararlı siteler için yalıtılmış konteynerler
4buildsite platformunun tamamı — editör, API, render motoru ve yayımlanmış siteleri sunan servis — Docker konteynerlerinde çalışır: her servisin ihtiyaç duyduğu her şeyi içeren yalıtılmış paketler. Siteniz statik olarak render edilir ve her yayında atomik olarak değiştirilen eksiksiz bir sürüm olarak sunulur. Herkesin anlayacağı sonuç: yayınlar siteyi durdurmaz ve bir şey ters giderse önceki sürüme dönersiniz.
Konteyner nedir — ve siteniz için neden önemli
Konteyner, uygulamayı ve çalışması için gereken her şeyi — runtime, kütüphaneler, yapılandırma — içeren standartlaştırılmış bir pakettir. Konteyner, sunucunun geri kalanından yalıtılmış çalışır ancak ana makinenin Linux çekirdeğini doğrudan kullanır — uygulama başına ayrı bir işletim sistemi olmadan. 2013'te çıkan Docker bu teknolojiyi erişilebilir bir standarda dönüştürdü; imaj biçimi bugün OCI (Open Container Initiative) olarak standartlaştırılmıştır ve herhangi bir Linux sunucusunda veya bulutta aynı şekilde çalışır.
Klasik benzetme deniz konteyneridir: içinde ne olursa olsun aynı standart biçime sahiptir ve herhangi bir gemiye, trene veya kamyona taşınabilir. Aynı şekilde, sitenizi kuran ve yayınlayan 4buildsite servisleri — editör, FastAPI API'si, render motoru — test sunucusunda da üretim sunucusunda da aynı çalışan standart imajlar içinde paketlenir. Bir site veya mağaza sahibi olarak sizin için bu, öngörülebilirlik demektir: önizlemede gördüğünüz, ziyaretçilerin aldığının tam olarak aynısıdır.
- Konteyner = uygulama + bağımlılıkları, tek bir yalıtılmış pakette
- Standart OCI biçimi — aynı imaj her sunucuda veya bulutta çalışır
- Servis başına ayrı işletim sistemi yok — dakikalar değil, saniyeler içinde başlatma
- 4buildsite'ta konteynerleştirmeyi platform yönetir — siz yalnızca yayımlarsınız
Yalıtım: siteniz komşularına bağımlı değildir
Klasik paylaşımlı hosting'de yüzlerce site aynı sunucuyu, aynı süreçleri ve çoğu zaman aynı PHP kurulumunu paylaşır. Bir komşu ani bir trafik dalgası alırsa veya kötü yazılmış bir betik tüm işlemciyi tüketirse siteniz yavaşlar — “noisy neighbour” (gürültülü komşu) olgusu. 4buildsite sorunu iki yönden ele alır. Birincisi: yayımlanan siteler statik olarak render edilir — onları sunan sunucularda site başına kod (PHP, eklentiler, betikler) çalışmaz; dolayısıyla işlemciyi tüketecek bir komşunun kötü yazılmış betiği yoktur. İkincisi: platform servislerinin her biri kendi konteynerinde, ayrı süreç ve dosyalarla (namespaces aracılığıyla) ve CPU ile bellek sınırı koyma imkânıyla (Linux çekirdeğinin mekanizmaları olan cgroups aracılığıyla) çalışır.
Yalıtım güvenlik için de aynı derecede önemlidir. Paylaşımlı hosting'de ele geçirilmiş bir site, aynı sunucudaki komşu sitelere açılan bir kapıya dönüşebilir. 4buildsite'ta yayımlanan site statik dosyalardan oluşur — eklentiler veya temalar aracılığıyla ele geçirilebilecek kod çalışmaz — veriyi işleyen platform servisleri (siparişler, ödemeler, editör) ise ayrı konteynerlerde durur: dosya sistemi yalıtılmıştır ve olası bir olay ilgili konteynerin içinde kalır.
- Yayımlanan site = statik dosyalar — ele geçirilecek site başına kod yok
- Platform servisleri: konteyner başına ayrı dosya sistemi ve süreçler
- Öngörülebilir davranış: statik sunum, gece saat 3'te de kampanya zirvesinde de aynı
Her yerde aynı sürüm: “bende çalışıyor, canlıda çalışmıyor” yok
Klasik web'de hataların en sık kaynağı, sitenin test edildiği ortam ile canlı çalıştığı sunucu arasındaki farktır: başka bir dil sürümü, eksik başka bir eklenti, başka bir yapılandırma. Bir Docker imajı bu kategorideki sorunların tamamını ortadan kaldırır: imaj, tüm bağımlılıklar sabitlenerek yalnızca bir kez oluşturulur ve tam olarak aynı çıktı hem testte hem üretimde çalışır. “Sunucuda elle yapılandırılmış” diye bir şey yoktur.
Bu, doğrudan kararlılığa dönüşür. panel.4buildsite.net'teki görsel editörde sitenizi değiştirip yayımla'ya bastığınızda ziyaretçilere ulaşan sürüm, her seferinde aynı adımlardan, aynı konteynerleştirilmiş servislerden geçmiştir. Yayından sonra daha az sürpriz, mağazanın çöktüğü daha az gece demektir — bir online mağaza için ise kesintinin her saati kaybedilen sipariş anlamına gelir.
Kesintisiz yayınlar ve önceki sürüme geri dönüş
4buildsite'ta bir yayın, “siteyi durdurup dosyaları kopyalıyor ve umuyoruz” demek değildir. Her yayın, sitenizin canlı olandan ayrı biçimde statik olarak render edilmiş, yeni ve eksiksiz bir sürümünü üretir; ona geçiş atomiktir: tek bir işlemle sunum servisi yeni sürümü sunmaya başlar. Aynı ilke platform servisleri için de geçerlidir: bir konteynerin yeni sürümü eskisinin yanında başlar ve trafiği ancak sağlık kontrollerinden sonra devralır.
Geri dönüş yolu da aynı derecede önemlidir. Sitenin yayımlanmış her sürümü olduğu gibi saklanır; dolayısıyla önceki sürüme dönmek basitçe geri geçiş yapmak demektir — saatler süren bir yedekten geri yükleme değil, basit bir geçiş işlemi. Bir yayın sorun çıkarırsa mağazanız hatalı sürümde takılı kalmaz. Tek dürüst nüans: veriler (siparişler, ürünler, içerik) veritabanında, yayımlanmış sürümlerden ayrı yaşar — bu yüzden site dosyalarından ayrı, kalıcı birimlerde yönetilirler.
- Her yayın = yeni, eksiksiz, atomik olarak değiştirilen bir sürüm
- Geri alma = önceki sürüme geri geçiş
- Satış sezonunun ortasında bile istediğiniz zaman değişiklik yayımlayın
Verimlilik ve maliyetler: aynı parayla daha fazla kapasite
Klasik bir sanal makine, her uygulama için eksiksiz bir işletim sistemi çalıştırır — yalnızca “ambalaj” için harcanan gigabaytlarca bellek ve dakikalarca başlatma süresi. Konteynerler ana makinenin çekirdeğini paylaşır; bu yüzden aynı sunucuya çok daha fazla site sığar ve her biri kendi yalıtımına sahiptir. Bu yoğunluk, 4buildsite'ın abonelikte hosting ve SSL'i site başına ayrı bir altyapı maliyeti olmadan sunabilmesinin nedenidir.
Yayımlanan siteniz için trafiğe göre ölçekleme daha da basittir: statik dosya oldukları için sunulmaları son derece ucuzdur — bir ziyaretçi zirvesi, birbirinin ayağına basan ek süreçler değil, daha fazla sunulan dosya demektir. Saniyeler içinde başlayan konteynerler olan platform servisleri ise gerektiğinde ek örnekler alabilir. Yılın en yoğun günü için kalıcı olarak boyutlandırılmış bir altyapıya değil, öngörülebilir bir aboneliğe ödeme yaparsınız. Bu konteynerleri fiilen nasıl işlettiğimiz — orkestrasyon, proxy, CI/CD, izleme — hakkında Cloud & DevOps sayfasını okuyun.
Avantajlar ve sınırlamalar
Avantajlar
- Yayımlanan site statik sunulur ve platform yalıtılmış konteynerlerde çalışır — yoğun veya ele geçirilmiş bir komşu onu etkilemez.
- Test ve üretimde aynı platform imajları — “bende çalışıyor, canlıda çalışmıyor” yok.
- Kesintisiz yayınlar: sitenin yeni sürümü ayrı üretilir ve atomik olarak değiştirilir.
- Bir değişiklik işe yaramazsa daha önce yayımlanmış sürüme geri alma.
- Konteynerler hızla başlar — platform servisleri trafik zirvelerinde ölçeklenebilir.
- Sunucu başına yüksek yoğunluk — aboneliğe dahil hosting, ayrı maliyet yok.
Sınırlamalar
- Yalıtım, ana makinenin paylaşılan çekirdeğini kullanır — özel bir sanal makinenin donanım yalıtımından daha zayıftır.
- Konteyner geçicidir: kalıcı veriler (veritabanı, yüklenen dosyalar) ayrıca yönetilen birimler ve yedekleme gerektirir.
- İmajlar ve katmanları disk alanı tüketir — düzenli temizlik olmadan birikir.
- Kendi yönetimini yapan ekipler için Docker'ın gerçek bir öğrenme eğrisi vardır — 4buildsite'ta tamamen platform tarafından yönetilir.
Kısa değerlendirme
Docker konteynerleştirmesi, web uygulamalarını çalıştırmak için sektörün fiili standardıdır: yalıtım, test–üretim tutarlılığı ve kolay geri alma. 4buildsite'ta sitenizi kuran ve yayınlayan platform konteynerleştirilmiş çalışır; sitenizin yayınları ise sürümlenir, atomik olarak değiştirilir ve geri alınabilir — altyapının nasıl işletildiği (orkestrasyon, proxy, CI/CD) Cloud & DevOps sayfasında anlatılır.
Teknik özellikler tablosu
| Yetenek | Sınır / eşik | Tipik kullanım | |
|---|---|---|---|
| Kaynak yalıtımı | Konteyner başına CPU/RAM sınırları (cgroups, namespaces) | Paylaşılan çekirdek — VM'deki gibi donanım yalıtımı değildir | Paylaşımlı altyapıdaki siteler ve mağazalar |
| Başlatma / dağıtım | Konteyner saniyeler içinde başlar | İmajın ilk indirilmesi daha uzun sürer | Sık yayınlar ve güncellemeler |
| Geri alma | Önceki herhangi bir imaja dönersiniz | Veritabanındaki veriler imajla birlikte geri alınmaz | Bir güncelleme işe yaramadığında geri dönüş |
| Taşınabilirlik | OCI imajı — her Linux sunucusunda veya bulutta çalışır | İmajlar mimariye özgüdür (x86/ARM) | Uygulamayı yeniden yazmadan sunucular arası taşıma |
| Yoğunluk / maliyet | Tek bir sunucuda onlarca yalıtılmış konteyner | Hepsi ana makinenin çekirdeğini ve diskini paylaşır | Site başına düşük maliyet — aboneliğe dahil hosting |
Docker, sanal makineler ve paylaşımlı hosting (cPanel) karşılaştırması
| Kriter | Docker (konteynerler) | Sanal makineler | Paylaşımlı hosting (cPanel) |
|---|---|---|---|
| Yalıtım | Konteyner başına (süreçler, dosyalar, kaynaklar) | Tam (sanallaştırılmış donanım) | Zayıf — aynı sunucuda yüzlerce site |
| Başlatma / dağıtım hızı | Saniyeler | Dakikalar (tam OS açılışı) | Canlı sunucuda doğrudan değişiklik (FTP) |
| Kaynak tüketimi | Minimum — uygulama başına ayrı OS yok | Yüksek — makine başına tam bir OS | Düşük, ancak komşular arasında denetimsiz paylaşılır |
| Geri alma | Anında — önceki imajı yeniden başlatırsınız | Snapshot'tan — daha yavaş | Elle, yedekten |
| Güvenlik | Olay konteynerle sınırlı | En güçlü yalıtım | Ele geçirilmiş bir site komşuları etkileyebilir |
| Site başına maliyet | Düşük — sunucuda yüksek yoğunluk | Yüksek — makinenin tamamına ödersiniz | Çok düşük, ancak performans öngörülemez |
Sık sorulan sorular
Docker sitemin hızını etkiler mi?
Hayır. Konteynerler, donanım sanallaştırma katmanı olmadan doğrudan Linux çekirdeği üzerinde çalışır; dolayısıyla ek yük ihmal edilebilir. Site hızını kod, önbellek ve ağ belirler — kaynak yalıtımı ise onu paylaşımlı hosting'den daha öngörülebilir kılar.
WordPress'teki gibi neden klasik cPanel hosting değil?
Klasik paylaşımlı hosting'de yüzlerce site aynı sunucuyu katı sınırlar olmadan paylaşır: yoğun bir komşu sizi yavaşlatır, ele geçirilmiş biri size zarar verebilir. 4buildsite'ta yayımlanan site statik sunulur — ele geçirilecek site başına kod çalışmaz — platform servisleri ise konteynerlerde yalıtılmış çalışır. cPanel'in sunmadığı şeyler.
Bir yayın sitemi bozarsa ne olur?
Daha önce yayımlanan sürüm olduğu gibi durmaya devam eder; dolayısıyla geri dönüş bir geçiş işlemidir: sunum servisi ona geri geçiş yapar. Mağaza hatalı bir sürümde takılı kalmaz ve veritabanındaki veriler dokunulmaz kalır.
4buildsite'ı kullanmak için Docker bilmem gerekir mi?
Hayır. Konteynerleştirmeyi tamamen platform yönetir: siz siteyi panel.4buildsite.net'teki görsel editörde kurar ve yayımlarsınız. Docker “kaputun altında” çalışır — faydaları (yalıtım, geri alma) hiçbir yapılandırma olmadan alırsınız.
Docker bir online mağaza için güvenli mi?
Evet. Süreçlerin ve dosyaların yalıtımı, olası bir olayın etki alanını tüm sunucuyla değil, ilgili konteynerle sınırlar. Kart verileri zaten konteynerden geçmez — ödemeleri Stripe, Stripe'ın sertifikalı altyapısında işler.
Docker, sanal makineyle aynı şey midir?
Hayır. Sanal makine eksiksiz donanımı sanallaştırır ve kendi işletim sistemini çalıştırır — dakikalar içinde başlar ve çok tüketir. Konteyner ise ana makinenin çekirdeğini paylaşır: saniyeler içinde başlar, kaynakların küçük bir kısmını tüketir ve uygulamanın yalıtımını korur.