SaaS (Hizmet Olarak Yazılım) Nedir?
Kısa tanım
SaaS (Software as a Service, Hizmet Olarak Yazılım), yazılımın sağlayıcının altyapısında çalıştırıldığı ve kullanıcıların ona internet üzerinden, genellikle abonelik karşılığında eriştiği dağıtım modelidir. Kurulum, sunucular, güncellemeler, yedekleme ve güvenlik sağlayıcının sorumluluğundadır; tek bir uygulama kurulumu çok sayıda müşteriye birlikte hizmet verir. CRM'ler, muhasebe programları, e-posta ve proje yönetimi araçları yaygın SaaS örnekleridir.
Diğer adları: Software as a Service, bulut yazılım, abonelikli yazılım

Yazılımı satın almak yerine kullanmak
Geleneksel modelde bir şirket yazılımın lisansını satın alır, kendi sunucularına kurar, güncellemelerini ve yedeklerini kendisi yönetir. SaaS'ta ise yazılım sağlayıcının altyapısında çalışır; müşteri ona tarayıcıdan, mobil uygulamadan ya da API üzerinden erişir ve kullanım hakkı için düzenli ücret öder. ABD Ulusal Standartlar ve Teknoloji Enstitüsü'nün bulut bilişim tanımında (NIST SP 800-145) SaaS, kullanıcının altyapıyı, işletim sistemini ve uygulamanın kendisini yönetmediği, yalnızca sınırlı kullanıcı ayarlarına erişebildiği hizmet modeli olarak tarif edilir.
E-posta ve ofis paketleri, CRM'ler, ön muhasebe ve e-fatura programları, proje yönetimi araçları ve hazır e-ticaret altyapıları bugün çoğunlukla bu modelle sunulur.
Çok kiracılılık (multi-tenancy)
SaaS'ı ekonomik kılan şey, tek bir uygulama kurulumunun aynı anda birçok müşteriye, yani kiracıya hizmet vermesidir. Her müşteri yalnızca kendi verisini görür; kod ve sunucular ise paylaşılır. Kiracı verilerini ayırmanın üç yaygın yolu vardır:
- Paylaşılan şema: Tüm müşteriler aynı tablolarda, her satırda bir
tenant_idsütunuyla tutulur. En ucuz yöntemdir, ama her sorguda bu filtrenin eksiksiz uygulanmasını gerektirir. - Kiracı başına şema: Aynı veritabanı içinde her müşteriye ayrı bir şema ayrılır.
- Kiracı başına veritabanı: İzolasyonu en güçlü, maliyeti ve operasyon yükü en yüksek seçenektir.
Hangi yöntem seçilirse seçilsin, bir müşterinin başka bir müşterinin verisini görebilmesi bir SaaS ürününde yapılabilecek en ağır hatalardan biridir. Kiracı ayrımı bu nedenle tek tek ekranlarda değil, yetkilendirme katmanında sistematik olarak uygulanmalı ve test edilmelidir.
Abonelik modeli
SaaS ürünleri genellikle aylık ya da yıllık abonelikle satılır. Fiyat kullanıcı sayısına, kullanım miktarına (işlem, depolama, API çağrısı) veya özellik paketlerine göre belirlenir. Müşteri açısından bu, büyük bir başlangıç yatırımı yerine öngörülebilir bir işletme gideri demektir. Öte yandan ödeme hiç bitmez: kullanıcı sayısı arttıkça fatura büyür, fiyat ve paket değişikliklerine ise sağlayıcı karar verir.
SaaS, kurulu yazılım ve özel yazılım
| SaaS | Kurulu yazılım (on-premise) | Özel yazılım | |
|---|---|---|---|
| Başlangıç maliyeti | Düşük | Lisans ve donanım | Geliştirme maliyeti yüksek |
| Devreye alma | Hızlı | Kurulum ve yapılandırma gerekir | Analiz ve geliştirme süreci gerekir |
| Bakım ve güncelleme | Sağlayıcıda | Şirketin BT ekibinde | Geliştirici ekipte |
| Verinin yeri | Sağlayıcının altyapısı | Şirketin sunucuları | Tercihe göre |
| Sürece uyum | Ürünün izin verdiği kadar | Yapılandırma sınırları içinde | Sürece göre tasarlanır |
Ne zaman SaaS, ne zaman özel yazılım?
Muhasebe, e-posta, bordro, takvim gibi her şirkette büyük ölçüde aynı işleyen süreçlerde olgun bir SaaS ürünü neredeyse her zaman daha mantıklıdır. Aynı işi sıfırdan yazmak pahalıdır ve iyi bir ürünün yıllar içinde biriktirdiği ayrıntıları yakalamak kolay değildir. Özel yazılım şu durumlarda anlam kazanır:
- Süreç şirketi rakiplerinden ayıran şeyse ve hazır ürünler onu ancak zorlanarak destekliyorsa.
- Birkaç SaaS aracı arasında veri elle taşınıyorsa ve bu boşluğu dolduran hazır bir entegrasyon yoksa.
- Kullanıcı başına abonelik maliyeti, ölçek büyüdükçe kendi sistemini işletmenin maliyetini açıkça geçiyorsa.
- Mevzuat veya müşteri sözleşmeleri verinin nerede ve nasıl saklanacağına dair sağlayıcının karşılayamadığı şartlar koyuyorsa.
Çoğu zaman doğru cevap bir karışımdır: standart işler için SaaS ürünleri, bunları birbirine bağlayan API entegrasyonları ve yalnızca gerçekten farklılaşan süreçler için özel yazılım. SaaS seçerken verinin dışa aktarılabilmesini, API'nin kapsamını ve sözleşme bittiğinde veriye ne olacağını baştan sormak, ileride sağlayıcıya bağımlı kalma (vendor lock-in) riskini azaltır.

