PaaS (Hizmet Olarak Platform) Nedir?
Kısa tanım
PaaS (Platform as a Service, Hizmet Olarak Platform), uygulama geliştiricilerin kodlarını sunucu, işletim sistemi ve ağ yönetimiyle uğraşmadan çalıştırabildiği bulut hizmet modelidir. Sağlayıcı çalışma ortamını, ölçeklemeyi, güncellemeleri ve çoğu zaman veritabanı gibi yardımcı servisleri yönetir; kullanıcı yalnızca uygulamayı ve ayarlarını kontrol eder. Altyapıyı sanal sunucu düzeyinde kiralayan IaaS ile hazır yazılımı kullanıma sunan SaaS arasında yer alır.
Diğer adları: Platform as a Service, hizmet olarak platform, IaaS, Infrastructure as a Service, hizmet olarak altyapı

Üç hizmet modeli, üç sorumluluk sınırı
ABD Ulusal Standartlar ve Teknoloji Enstitüsü (NIST), 2011'de yayımladığı SP 800-145 bulut bilişim tanımında üç hizmet modeli belirler: SaaS, PaaS ve IaaS. Modelleri ayıran şey teknoloji değil, sorumluluğun nerede el değiştirdiğidir:
| Katman | IaaS | PaaS | SaaS |
|---|---|---|---|
| Uygulama ve veri | Siz | Siz | Sağlayıcı (veri sizin) |
| Çalışma ortamı (runtime, kütüphaneler) | Siz | Sağlayıcı | Sağlayıcı |
| İşletim sistemi ve yamalar | Siz | Sağlayıcı | Sağlayıcı |
| Sanallaştırma, sunucu, depolama, ağ | Sağlayıcı | Sağlayıcı | Sağlayıcı |
IaaS (Infrastructure as a Service, hizmet olarak altyapı) sanal makine, disk ve ağ kiralamaktır; işletim sistemini kurmak, güncellemek ve güvenliğini sağlamak sizin işinizdir. Bir VPS bu modelin en tanıdık örneğidir. PaaS bir katman yukarıda durur: kodu veya konteyner imajını verirsiniz, gerisini platform halleder. SaaS'ta ise doğrudan kullanıma hazır bir ürün kullanırsınız.
PaaS üzerinde bir dağıtım nasıl ilerler?
- Geliştirici kodu bir Git deposuna gönderir ya da bir konteyner imajı yükler.
- Platform uygulamanın dilini veya imajını tanır, bağımlılıkları kurar ve derlemeyi yapar.
- Yapılandırma, kod içine gömülmek yerine ortam değişkenleri olarak tanımlanır; veritabanı adresi ve API anahtarları buradan okunur.
- Platform uygulamayı bir veya daha fazla örnek olarak başlatır, önüne yük dengeleyici ve TLS sertifikası koyar.
- Trafik arttığında örnek sayısı elle veya otomatik olarak artırılır; loglar ve temel metrikler panelden izlenir.
Heroku, Google App Engine, Azure App Service, AWS Elastic Beanstalk ve web uygulamalarına odaklanan yeni nesil platformlar bu modelin bilinen örnekleridir. Fonksiyon düzeyinde çalışan serverless hizmetler de sunucu yönetimini tamamen sağlayıcıya bıraktıkları için PaaS fikrinin bir devamı olarak görülebilir.
Platformun koyduğu kurallar
PaaS'ın kolaylığı, uygulamanın platformun beklediği biçimde yazılmasına bağlıdır. Yerel disk genellikle geçicidir; yüklenen dosyalar bir nesne depolama servisine yazılmalıdır. Uzun süren işlemler istek zaman aşımına takılabilir ve ayrı bir iş kuyruğuna taşınmalıdır. Uygulamanın birden fazla örnek olarak çalışabilmesi için oturum bilgisi bellekte değil, paylaşılan bir depoda tutulmalıdır. Bu kurallara baştan uyan bir uygulama, ileride başka bir platforma veya kendi altyapınıza taşınırken de daha az sorun çıkarır.
Ne kazandırır, neye mal olur?
- Kazanç: Sunucu yönetimi, işletim sistemi yamaları ve temel ölçekleme dert olmaktan çıkar; küçük bir ekip ürününe odaklanabilir.
- Maliyet: Düşük trafikte ucuz olan platformlar, kaynak tüketimi büyüdükçe aynı kapasitedeki IaaS veya VPS çözümlerinden belirgin biçimde pahalı hâle gelebilir.
- Bağımlılık: Platforma özgü veritabanı eklentileri, kuyruk servisleri ve yapılandırma biçimleri taşınmayı zorlaştırır. Uygulamayı bir Docker imajı olarak paketlemek bu riski azaltan yaygın bir yöntemdir.
- Kontrol ve uyumluluk: Verinin hangi bölgede tutulduğu, ağ ayarları ve işletim sistemi düzeyindeki yapılandırma her zaman seçilemez; mevzuat gereksinimi olan projelerde bu baştan kontrol edilmelidir.

