VPS.TC
| $
Sunucu Durumu
Turkey İstanbul, Türkiye
Aktif
USA New York, ABD
Aktif
Sepet Toplamı:
Sepeti Görüntüle
IaaS, PaaS ve SaaS Farkı Nedir?
Bulut Bilişim

IaaS, PaaS ve SaaS Farkı Nedir?

Defne avatarı Defne 11 dk okuma 0 Yorumlar
Paylaş:

IaaS, PaaS ve SaaS farkı nedir?

Gece vardiyasında yeni açılmış bir VPS’in başında otururken aynı soruyla sık karşılaşıyorum: Sunucuyu ben mi yönetmeliyim, yoksa yalnızca uygulamaya mı odaklanmalıyım? Bu sorunun cevabı çoğu zaman IaaS, PaaS ve SaaS modellerinden hangisini seçtiğinizde saklıdır.

Ekranda üç model de bazen yalnızca “cloud” etiketiyle görünür. Sağlayıcının yönettiği katman, sizin yönettiğiniz bölüm ve bir arıza çıktığında kimin müdahale edeceği ise modele göre değişir.

IaaS, PaaS ve SaaS farkı temelde şuna dayanır: Altyapının ne kadarını siz yönetiyorsunuz, uygulamaya ne kadar yakın çalışıyorsunuz ve sağlayıcı sizin yerinize ne kadar iş yapıyor?

🚀 VPS Sunucu ile Hızınızı Artırın!

Yüksek performanslı SSD depolama ve %99.9 uptime garantisi ile projelerinizi hızlandırın.

VPS Sunucu Kirala

Bir sistem yöneticisi olarak bu ayrımı yalnızca teorik bir sınıflandırma gibi görmüyorum. Müşterinin “sunucuyu ben yöneteyim” dediği bir VPS ile “uygulamayı kullanayım, gerisine karışmayayım” dediği hazır servis arasında ciddi bir operasyon farkı var. Yanlış model seçildiğinde yalnızca fatura değil, bakım sorumluluğu da büyüyebiliyor.

Üç modeli tek cümlede ayırmak

Önce kısa bir çerçeve çizelim:

  • IaaS: Sanal sunucu, disk, ağ ve benzeri temel kaynakları kiralarsınız; işletim sistemiyle üzerindeki servislerin çoğu size kalır.
  • PaaS: Uygulamanızı çalıştıracağınız hazır bir platform alırsınız; işletim sistemi, çalışma zamanı ve bazı altyapı ayrıntıları sağlayıcı tarafından yönetilir.
  • SaaS: Hazır bir yazılımı doğrudan kullanırsınız; altyapı, platform ve uygulamanın işletilmesi büyük ölçüde sağlayıcının sorumluluğundadır.

Bir VPS çoğunlukla IaaS örneğidir. Git üzerinden kod gönderdiğiniz ve platformun build, deploy ve ölçekleme işlemlerini sizin yerinize yaptığı servis PaaS tarafına yaklaşır. E-posta, çevrim içi ofis veya proje yönetimi uygulaması ise genellikle SaaS modelidir.

☁️ Cloud Sunucu ile Esneklik Kazanın!

Ölçeklenebilir kaynaklar ve anlık yedekleme ile bulutun gücünü deneyimleyin.

Bulut Sunucu Paketleri

Katmanları bir binanın katları gibi düşünün

Bulut modellerini anlamanın pratik bir yolu, binayı kimin yönettiğine bakmaktır. IaaS size arsası, elektrik bağlantısı ve boş bir dairesi hazırlanmış bir yer verir. İçerideki duvar rengi, mobilya ve tesisatın önemli bölümü sizin işinizdir.

PaaS, mutfağı ve temel eşyaları hazır bir daireye benzer; kendi işinizi yaparsınız ama kalorifer tesisatına dokunmazsınız. SaaS ise anahtarı çevirdiğinizde kullanmaya başladığınız, bakımı başkası yapılan bir otel odası gibidir.

Bu benzetme birebir değildir. Yedekleme, ağ güvenliği ve veri sahipliği gibi konular her modelde sözleşmeye göre değişebilir. “SaaS kullanıyorum, hiçbir şeyden sorumlu değilim” düşüncesi burada tehlikeli hale gelir. Hesap güvenliği, kullanıcı yetkileri, veri dışa aktarma ve yasal yükümlülükler hâlâ sizin tarafınızda olabilir.

IaaS: Kontrol sizde, bakım da

IaaS tam olarak ne sunar?

Infrastructure as a Service, yani hizmet olarak altyapı, temel bilişim kaynaklarının servis olarak sunulmasıdır. Sanal makine, CPU, RAM, disk, sanal ağ, IP adresi ve bazen yük dengeleyici gibi bileşenleri sağlayıcıdan alırsınız. Fiziksel sunucunun veri merkezinde kimin sorumluluğunda olduğunu düşünmezsiniz; sanal makinenin içindeki işletim sistemi, servisler ve yapılandırmalar ise çoğunlukla size aittir.

Bir Linux VPS açıp üzerine Nginx, PHP, MySQL veya Docker kurmanız klasik bir IaaS kullanımına örnektir. Daha fazla kontrol istersiniz, karşılığında daha fazla operasyon üstlenirsiniz. Güncelleme, firewall kuralları, SSH erişimi, log takibi, yedekleme ve uygulama güvenliği bu listenin yalnızca görünen kısmıdır.

Başlangıç için VPS Nedir, Ne İşe Yarar? Başlangıç Seviyesi Detaylı Rehber yazısında sanal özel sunucunun paylaşımlı hosting ve fiziksel sunucudan ayrıldığı noktaları anlatmıştım. IaaS seçiminin günlük hayattaki en anlaşılır karşılığı da bu.

IaaS modelinde sorumluluk dağılımı

Sağlayıcı genellikle fiziksel tesis, fiziksel sunucu, sanallaştırma katmanı ve veri merkezi ağının bir bölümünü yönetir. İşletim sisteminin güncel tutulmasından uygulamanın doğru çalışmasına kadar üst katmanlar ise size kalır.

Katman Genellikle kimin sorumluluğunda?
Fiziksel sunucu ve veri merkezi Sağlayıcı
Sanallaştırma katmanı Sağlayıcı
Sanal makine kaynakları Paylaşımlı sorumluluk
İşletim sistemi Müşteri
Web sunucusu ve veritabanı Müşteri
Uygulama kodu ve kullanıcı verisi Müşteri

Buradaki “genellikle” kelimesi önemli. Yönetilen VPS paketlerinde işletim sistemi güncellemeleri veya temel güvenlik ayarları sağlayıcı tarafından yapılabilir. Satın alma sayfasındaki tek bir “managed” kelimesine güvenmek yerine hangi işlemlerin kapsama girdiğini yazılı olarak kontrol ederim.

IaaS ne zaman mantıklıdır?

  • Özel yazılım ve servis kurulumlarına ihtiyacınız varsa,
  • root veya yönetici seviyesinde erişim gerekiyorsa,
  • İşletim sistemi, ağ ve güvenlik ayarlarını kendiniz yönetebiliyorsanız,
  • Kaynakların nasıl kullanılacağını ayrıntılı biçimde kontrol etmek istiyorsanız,
  • Mevcut uygulamanız bir sunucuya taşınacak şekilde tasarlanmışsa.

Yeni bir VPS’i otomatik hazırlamak istediğimde cloud-init kullanıyorum. Cloud-Init Nedir? VPS Kurulumunu Otomatikleştirme başlığındaki yaklaşım, aynı kurulumu tekrar tekrar elle yapmaktan daha güvenli; en azından yanlış paketi yanlış sunucuya kurma ihtimalini azaltıyor.

PaaS: Sunucuyu değil uygulamayı düşünmek

PaaS nasıl çalışır?

Platform as a Service, uygulama çalıştırmak için gereken işletim sistemi, runtime ve dağıtım araçlarının hazırlandığı modeldir. Python, Node.js, Java veya başka bir çalışma ortamını seçersiniz; kodunuzu yükler, ortam değişkenlerini tanımlar ve dağıtımı başlatırsınız. Sağlayıcı çoğu zaman işletim sistemi yamalarını, uygulama sunucusunu ve temel ölçekleme işlemlerini yönetir.

Bu, geliştirici ekip için ciddi zaman kazandırabilir. Uygulamanın yeni sürümünü göndermek için SSH ile sunucuya bağlanıp dosyaları elle kopyalamak yerine Git tabanlı bir dağıtım akışı kullanırsınız. Loglar ve metrikler platform panelinden alınır. Daha kolay görünür; kontrolün bir kısmını devretmiş olursunuz.

PaaS kullanan ekip genellikle kernel seçmez, disk bölümlemesiyle uğraşmaz ve web sunucusunun servis dosyasını elle yazmaz. Bunun karşılığında sağlayıcının desteklediği runtime sürümlerine, ağ modeline, eklentilere ve kaynak sınırlarına bağlı kalır.

PaaS’ın güçlü ve zayıf tarafları

En büyük avantajı operasyon yükünü azaltmasıdır. Küçük bir ekip, ayrı bir sistem yöneticisi çalıştırmadan uygulamasını yayına alabilir. Otomatik deploy, geçici ortam oluşturma, yatay ölçekleme ve sertifika yönetimi gibi özellikler üretim sürecini sadeleştirir.

Bedeli daha sınırlı özelleştirmedir. Platformun desteklemediği bir kernel modülüne, özel bir ağ topolojisine veya alışılmadık bir daemon’a ihtiyacınız varsa PaaS sizi zorlayabilir. Sağlayıcı değişikliği de IaaS’a kıyasla daha zahmetli olabilir; uygulama platformun kendine özgü servislerine bağlanmışsa taşıma sırasında yeniden tasarım gerekebilir.

Bir PaaS sağlayıcısına geçmeden önce şu soruları sorarım: Veritabanı sağlayıcıya özel mi? Veriyi standart biçimde dışarı alabiliyor muyum? Uygulama başka bir platformda kaç değişiklikle çalışır? Build süreleri, uykuya alma davranışı ve aylık kaynak sınırları nedir?

SaaS: Hazır yazılımı kullanma modeli

Software as a Service, internet üzerinden hazır bir uygulamaya eriştiğiniz modeldir. E-posta hizmeti, çevrim içi doküman aracı, müşteri destek sistemi, muhasebe yazılımı veya ekip içi görev uygulaması SaaS olabilir. Kullanıcı olarak çoğu zaman sunucu kurmaz, güncelleme çalıştırmaz ve veritabanı yönetmezsiniz.

SaaS ilk bakışta en rahat modeldir. Hesap açarsınız, kullanıcıları davet edersiniz ve işi yapmaya başlarsınız. Güncelleme çıktığında SSH oturumu açmanız gerekmez; çoğu serviste böyle bir erişim zaten yoktur.

Bu rahatlığın karşısında veri taşınabilirliği ve sağlayıcı bağımlılığı bulunur. Hizmet kapanırsa veya fiyatlandırma değişirse verinizi hangi formatta alacağınızı önceden bilmelisiniz. SaaS sağlayıcısının yedek alması, sizin geri dönüş senaryonuzu tamamen çözdüğü anlamına gelmez. Bir hesabın yanlışlıkla silinmesiyle tüm şirket verisinin geri getirilebilmesi aynı şey değildir.

SaaS kullanırken sizin sorumluluğunuz

  • Güçlü parola ve çok faktörlü kimlik doğrulama kullanmak,
  • Kullanıcı rollerini ve erişim izinlerini düzenli kontrol etmek,
  • Verilerin dışa aktarılabildiğini ve bu işlemin ne sıklıkta yapılacağını bilmek,
  • Sağlayıcının saklama, silme ve yedekleme politikasını incelemek,
  • İşletme açısından kritik verilerin bağımsız bir kopyasını tutmak.

Burada sistem yöneticisinin işi bitmiyor; biçim değiştiriyor. Sunucuyu yamamak yerine kimlik yönetimi, sözleşme şartları ve veri yaşam döngüsüyle ilgileniyorsunuz.

Üç modelin karşılaştırması

Özellik IaaS PaaS SaaS
Kontrol seviyesi Yüksek Orta Düşük
Yönetim yükü Yüksek Orta Düşük
Kurulum süresi Orta veya uzun Kısa Çok kısa
Özelleştirme Geniş Platformla sınırlı Ürünün sunduklarıyla sınırlı
Altyapı bilgisi ihtiyacı Yüksek Orta Düşük
Sağlayıcı bağımlılığı Görece düşük Orta veya yüksek Yüksek olabilir
Tipik kullanıcı Sistem yöneticisi ve geliştirici Geliştirici ekibi Son kullanıcı ve işletme

Tablo karar vermeyi kolaylaştırır ama tek başına yetmez. Kritik bir veritabanını IaaS üzerinde çalıştırmak size tam kontrol verir; yedekleme ve yüksek erişilebilirlik tasarımını da sizin yapmanız gerekir. Aynı veritabanını yönetilen bir PaaS hizmetine bırakmak operasyonu azaltabilir, fakat veri çıkış ücretlerini ve platform sınırlarını hesaba katmanız gerekir.

Güvenlik ve yedekleme sorumluluğu kimde?

En çok karıştırılan nokta burası. “Bulutta” kelimesi güvenlik ve yedekleme sorumluluğunu ortadan kaldırmaz. Yalnızca sorumluluğun bazı katmanlarını sağlayıcıya devreder.

IaaS kullanıyorsanız güvenlik grubunu açmak, SSH anahtarlarını korumak, gereksiz servisleri kapatmak, güncellemeleri uygulamak ve uygulamanın zafiyetlerini gidermek size kalabilir. Ben yeni bir VPS teslim aldığımda root ile sürekli çalışmak yerine ayrı bir yönetici hesabı oluşturur, SSH anahtarıyla girişi açar ve firewall kurallarını kontrol ederim. SSH portunu değiştirmek tek başına güvenlik değildir; logları azaltabilir ama açık bir servisi güvenli hale getirmez.

PaaS modelinde işletim sistemi yamasıyla uğraşmazsınız, fakat uygulama sırlarının yönetimi yine önemlidir. Ortam değişkenlerine yanlışlıkla API anahtarı yazmak, platform ne kadar güvenli olursa olsun sorun çıkarır. SaaS tarafında da yöneticinin hesabında çok faktörlü doğrulama yoksa bütün güvenlik modelini tek bir parolaya bırakmış olursunuz.

Yedeklerde kuralım değişmiyor: test edilmemiş yedek, yedek değildir. Sağlayıcı “backup var” diyorsa saklama süresini, geri yükleme yöntemini, farklı bölgeye kopyalanıp kopyalanmadığını ve geri dönüş süresini sormak gerekir. Ben ayda bir geri dönüş provası yapıyorum; bu işlem bazen yedeğin varlığından daha değerli bir bilgi veriyor.

Performans, ölçekleme ve maliyet

IaaS’ta aylık kaynak maliyetini daha doğrudan kontrol edersiniz. Küçük bir sanal makineyle başlayabilir, trafik ve kullanım arttıkça CPU, RAM veya disk kapasitesini değiştirebilirsiniz. Lisans, yedekleme, izleme, yönetim emeği ve olası kesintinin maliyetini de hesaba katmalısınız.

PaaS başlangıçta daha pahalı görünebilir. Deploy sürecini, otomatik ölçeklemeyi ve operasyon personelinin zamanını azaltabilir. Trafik modeliniz düzensizse kullandıkça ödeme modeli avantajlı olabilir; sürekli yüksek kullanımda aynı servis pahalı hale gelebilir.

SaaS’ta çoğu zaman kullanıcı başına veya özellik paketine göre ödeme yapılır. Sunucu CPU’sunu izlemezsiniz ama kullanıcı sayısı, depolama, API çağrıları ve veri dışa aktarma gibi kalemler faturayı büyütebilir. Fiyat sayfasını okurken yalnızca ilk ayı değil, büyüdüğünüzde ne olacağını da kontrol edin.

Performans karşılaştırırken TTFB’yi milisaniye milisaniye tartışıp uygulama önbelleğini kurmayı unutmak sık gördüğüm bir hata. Model seçimi önemlidir. Doğru cache, doğru sorgu indeksi ve makul log politikası çoğu zaman daha erken sonuç verir.

Hangi senaryoda hangisini seçmeli?

Kişisel proje veya küçük web sitesi

WordPress, basit bir API veya birkaç düşük trafikli site için yönetilen hosting, SaaS ya da küçük bir IaaS sunucusu yeterli olabilir. Linux yönetimini öğrenmek istiyorsanız IaaS iyi bir laboratuvar sağlar; canlı müşterinin sitesini öğrenme alanı olarak kullanmayın.

Ben evdeki Dell OptiPlex 7050 üzerinde Proxmox çalıştırıyorum. Her deneme önce orada bozuluyor.

Geçen yaz bu makinenin fanı arızalandığında Grafana’daki sıcaklık grafiği basamak basamak yükseldi. VM’leri kapatıp fanı değiştirdim; ama asıl ders, laboratuvarın bile monitoring ve fiziksel bakım istediğiydi. IaaS seçerken üstlendiğiniz yük bunun daha düzenli ve sözleşmeli hâlidir.

Hızlı ürün geliştiren ekip

Altyapı ekibi küçük, geliştirici sayısı yüksekse PaaS tercih edilebilir. Ekip kod yazmaya odaklanır, dağıtım standardize edilir ve yeni geliştiricinin sisteme katılması kolaylaşır. Platforma özel servisleri ölçülü kullanın; taşınabilirlik ihtimali yüksekse Docker imajı, standart veritabanı ve bağımsız yedekleme planı işinizi kolaylaştırır.

Uygulamanızın sunucu işletmek yerine olay tetikleyerek çalışması gerekiyorsa Serverless Nedir? Avantajları ve Kullanım Alanları yazısındaki modeli de inceleyebilirsiniz. Serverless çoğu zaman PaaS’ın daha yönetilmiş bir biçimi gibi algılansa da faturalandırma ve çalışma sınırları farklı olabilir.

Özel ağ ve tam yönetim isteyen uygulama

Özel VPN, düşük seviyeli ağ kuralları, kendi veritabanı ayarlarınız veya alışılmadık bir daemon gerekiyorsa IaaS daha uygun olur. Güvenlik duvarı, izleme, yedekleme ve felaket kurtarma tasarımını baştan yazmanız gerekir. Uygulamanın kritik bir parçasını tek bir sunucuda bırakmayın; snapshot, harici yedek ve geri dönüş testi olmadan “hazır” kabul etmiyorum.

Geçiş yapmadan önce kontrol listesi

Model seçimi yalnızca teknik ekibin kararı olmamalı. Satın alma kararından önce şu sorular belirsizliği azaltır:

  1. Uygulamanın işletim sistemi veya kernel seviyesinde özel bir ihtiyacı var mı?
  2. Ekibiniz düzenli güvenlik güncellemelerini ve log takibini yapabilecek mi?
  3. Veritabanı ve dosyalar hangi yöntemle dışarı aktarılacak?
  4. Sağlayıcı kesintisinde başka bir ortama geçiş planınız var mı?
  5. Kaynak kullanımı arttığında maliyet hangi kalemlerle büyüyecek?
  6. Yedeklerin geri yüklenmesi ne kadar sürüyor ve bunu gerçekten denediniz mi?
  7. Kimlik doğrulama, rol yönetimi ve denetim kayıtları ihtiyacınızı karşılıyor mu?

Cevaplar “uygulamayı çalıştırayım, altyapıyla ilgilenmeyeyim” yönündeyse SaaS veya PaaS tarafına yaklaşın. Özel kontrol ve bağımsızlık daha önemliyse IaaS mantıklıdır. Hibrit seçim de gayet normaldir: ekip içi iletişim SaaS, uygulama sunucusu IaaS, deploy katmanı ise PaaS olabilir.

En sık yapılan seçim hataları

İlk hata, yalnızca aylık fiyatı karşılaştırmak. IaaS’ın ucuz görünen sunucusuna monitoring, yedekleme, yönetim zamanı ve güvenlik bakımını eklemediğinizde gerçek maliyeti eksik hesaplamış olursunuz.

İkinci hata, sağlayıcıya özgü özellikleri standart sanmak. PaaS üzerinde kolayca çalışan bir kuyruk veya veritabanı, başka sağlayıcıya geçerken yeniden tasarım gerektirebilir. Hizmetin adı kadar dışa aktarma biçimine de bakın.

Üçüncü hata, sorumluluk matrisini okumamak. “Sağlayıcı yedekliyor” cümlesi; kaç kopya, kaç gün saklama, hangi bölge ve hangi geri dönüş süresi sorularının cevabı değildir.

Benim laboratuvar fanı arızasında gördüğüm şey de aynı noktaya çıkıyor: yönetimi devretmek, sistemi hiç düşünmemek anlamına gelmiyor. IaaS’ta fiziksel katmana daha yakın bakım yaparsınız; PaaS ve SaaS’ta ise erişim, veri ve sağlayıcı politikalarını daha dikkatli takip edersiniz.

Sık Sorulan Sorular

IaaS mı PaaS mı daha iyi?

Tek başına daha iyi olan bir model yoktur. Sunucu ve ağ üzerinde ayrıntılı kontrol istiyorsanız IaaS, uygulama geliştirmeye odaklanıp operasyon yükünü azaltmak istiyorsanız PaaS daha uygun olabilir.

VPS IaaS sayılır mı?

Evet, çoğu VPS hizmeti IaaS kategorisinde değerlendirilir. Sağlayıcı fiziksel altyapıyı ve sanallaştırmayı yönetirken işletim sistemi, servisler, güvenlik ve uygulama ayarlarının önemli bölümü size kalır.

SaaS kullanırken yedek almak gerekir mi?

Genellikle evet. Sağlayıcının yedekleme sistemi, yanlışlıkla silinen bir dosyayı veya hesabı sizin istediğiniz noktaya geri döndürebileceği anlamına gelmez. Veri dışa aktarma seçeneklerini ve bağımsız kopya oluşturma sıklığını önceden kontrol edin.

PaaS sağlayıcısına bağımlı kalmamak için ne yapılabilir?

Uygulamayı mümkün olduğunca taşınabilir biçimde paketleyin, standart veritabanı ve depolama biçimleri kullanın, yapılandırmayı kod olarak saklayın. Düzenli veri dışa aktarma ve başka bir ortamda küçük bir deneme kurulumu geçiş riskini görünür hale getirir.

Ben model seçerken önce şu soruya bakıyorum: Yarın bir şeyi değiştirmem gerektiğinde hangi katmana erişmem şart? Cevap işletim sistemi ve ağ ise IaaS, yalnızca uygulama koduysa PaaS, hazır ürünü kullanmak yeterliyse SaaS tarafında kalıyorum.

Defne avatarı
Yazar

Defne

vps.tc blog yazarı. Sistem yönetimi, Linux ve hosting dünyası üzerine yazıyor.