Kullanıcıların uygulamayı internet (genellikle bulut tabanlı bir altyapı) üzerinden (haliyle internete bağlanabilen tüm cihazlardan, lokasyon bağımsız şekilde) bağlanıp kullandığı, yazılımın hizmet olarak sunulduğu modelidir.
SaaS çözümler internet tarayıcısı olan her cihazdan uygulama sağlayıcısı (app provider) tarafından belirlenen URL’de bulunan uygulamaya genellikle kullanıcı adı-şifre gibi kimlik doğrulayıcı bilgileri ile giriş yaparak erişebilir/kullanabilir. Yani kullanıcıların uygulamaya ait ana işlevleri kullanılabilmek/çalıştırabilmek için kullandıkları cihazlarında ek bir kurulum yapması/donanım kaynağı bulundurması vs. çoğu zaman gerekmez.
Bu modelde uygulamaya ve kullanıcılara ait dosyalar/veriler uygulama sağlayıcısı tarafında genellikle bulut tabanlı mimarilerde barındırılır. Yani uygulamanın çalışma dosyaları vs. her şey uygulama sağlayıcısı kontrolündedir. Kullanıcılar kendilerine uygulama sağlayıcısı tarafından iletilen ya da kendi oluşturdukları giriş bilgileri ile uygulamaya giriş yaparak kullanabilir. Kurulum yalnızca uygulama sağlayıcısı tarafında gerçekleşir.
SaaS modellerde kaynaklar uygulama sağlayıcısı tarafından yönetilir ve oluşan altyapı maaliyetleri; ya eşit bölünerek ya da kullandıkları kadarını ödeyecekleri şekilde yansıtılır. Herkesin kendi donanımını edinmesinden ise bunların bir merkezde toplanıp kiralarak kullanılması çoğu durumda oldukça mantıklı ve avantajlıdır.
Bu sayede kullanıcıların uygulamayı kendi cihazlarında çalıştırabilmesi için kaynak (işlemci, ram, disk vs.) bulundurması gerekmez
Bu çok ama çok önemlidir.
Bir uygulamanın SaaS olarak sunulabilmesi için uygulama sağlayıcısı (yani biz geliştiriciler), uygulamayı internet üzerinden erişilip/kullanılabilir ve ölçeklenebilir şekilde tasarlamak zorundadır.
Eğer uzun zamandır programlama ile uğraşıyorsanız; geçmişte uygulamaların kullanabilmeleri için insanlara yazılımı derleyerek ya da derlemeyerek ürettiğimiz kurulum dosyalarını paylaşırdık ve sonrasında kullanıcılar cihazlarına (sunucu ya da normal bilgisayarlar) bu dosyaları kullanarak uygulamamızı yükler, ancak bundan sonra uygulamamızı kullanabilirlerdi. Bu senaryoda kullanıcı cihazına uygulamamızın çalışabilmesi için gerekli araçların olması, disk, network vs. yan faktörler ile boğuşulurdu. [Biz geliştiricilerin, uygulama kullanıcılarına istemsizce “Uygulama bizde çalışıyor!” sözünü sıkça kullandırtan günler… :)]
SaaS modelinin maliyet avantajları, yönetim kolaylığı vb. onlarca faydası bulunmaktadır. Bu nedenle günümüzde uygulamalar paket program modeli ile kullanıcılara yazılımı göndermek yerine SaaS şekilde hazırlanmaktadır.
SaaS projelerinizin olması ve ölçeklenemediğiniz günler görmemeniz dileğiyle…