SaaS و یا Software-as-a-Service یکی از راهکارهای ارایهی نرمافزار با استقرار روی وبسرور است. به این شکل که دیگر کاربر نیاز به نصب نرمافزار روی سیستم شخصی خود ندارد و تنها با دسترسی به اینترنت و یک مرورگر وب میتواند از آن بهره گیرد. مدل هزینهای این برنامهها معمولن بهشکل پرداخت حق اشتراک است.
امروزه بسیاری از شرکتهای نرمافزاری به دلیل دسترسی فراگیر اینترنت و مدیریت و بهروزرسانی راحتتر، محصولات خود را روی چنین پلتفرمهایی عرضه میکنند. از این دست میتوان به برنامههای شناختهشدهای مانند Salesforce ،Microsoft Office 365 ،Box ،Dropbox ،Slack و سرویسهای Google Apps اشاره کرد. SaaS در کنار IaaS و PaaS، یکی از سه بخش اصلی سرویسهای مبتنی بر ابر است.
عملکرد SaaS
آغاز ارایهی نرمافزارهای مبتنی بر SaaS را میتوان همزمان با عصر بهکارگیری رایانشهای مبتنی بر ابر معرفی کرد. رویکرد رایانش ابری، ارایهی سرویسها بر بستر اینترنت و از راه دور است. به همین جهت روشی برای ارایهی نرمافزارها بر بستر رایانش ابری شکل گرفت که با نام SaaS شناخته میشود.
در SaaS به جای آنکه نرمافزار روی دستگاه کاربر قرار داشته باشد، روی یک سرور خارجی مستقر میشود. دسترسی به برنامههای مبتنی بر SaaS معمولن از طریق مرورگر وب و با استفاده از نام کاربری و گذرواژه امکانپذیر است.
یکی از تفاوتهای عمدهای که این روش انتشار نرمافزار با مدل نرمافزارهای نصب شده روی سیستم کاربر دارد آن است که، در SaaS نیازی به داشتن سختافزار قوی از سوی کاربر نیست، چون تمامی پردازشهای اصلی و سنگین در سمت سرور انجام میشوند. این امر همچنین امکان بهروزرسانی و خطایابی سامانههای نرمافزاری را به دلیل آنکه تمامی اجزایِ نرمافزارِ در حال اجرا در اختیار توسعههنده قرار دارد، بسیار راحتتر از قبل میکند.
اما تفاوت اصلی دیگر در شیوهی پرداخت هزینه و حق دسترسی است. در حالت SaaS، به طور معمول میزان پرداخت هزینهی اشتراک، به ازای مدت زمان دسترسی و مجموعهای از ویژگیها و امکاناتِ در اختیار تعریف میشوند. در حالیکه در مدل هزینهای، نرمافزار نصب شده روی دستگاه کاربر، چه بسا کل هزینهی برنامه به همراه خدمات پشتیبانی آن، یکجا از وی دریافت میشود.
مزایای SaaS
- کاهش کلی هزینهی استفاده از نرمافزار به دلیل عدم نیاز به نگهداری و همچنین خرید سختافزار اضافی برای سازمانها. معمولن هزینهی اولیهی نصب و آموزش چنین برنامههایی نیز به مراتب پایینتر از راهکارهای دیگر است.
- مدل پرداخت اشتراکی و استفاده از راهکار pay as you go (به معنی تنها همان مقدار که مصرف میکنید پرداخت میکنید) منجر میشود که شرکتها و سازمانها امکان هدایت هزینههای خود را در هر لحظه از زمان، به سمت عملیاتهای همواره در حال اجرا داشته باشند. بنابراین در هر مقطعی که تصمیم بگیرند، میتوانند سرویسی را ارتقا یا حتا از مدار خارج کنند.
- از آنجایی که برنامههای مبتنی بر SaaS از طریق اینترنت در دسترس قرار میگیرند، کاربران میتوانند در هر جا و مکانی که دسترسی به اینترنت امکانپذیر باشد و با هر دستگاهی، از نرمافزار استفاده کنند.
- به دلیل آنکه این نرمافزارها از طریق اینترنت و مرورگر در دسترس قرار میگیرند، دیگر محدود به سیستمعامل و پلتفرم خاصی نیستند. این ویژگی نه تنها امکان استفاده از نرمافزار را روی هر دستگاه و پلتفرمی مهیا میسازد، بلکه هزینه و زمان قابل توجهی را هم از دوش توسعهدهندگان نرمافزارها برمیدارد. چون دیگر نیازی به توسعه و نگهداری نرمافزارهای جداگانه، متناسب با هر پلتفرمی نیست.
- دریافت خودکار و سریعتر بهروزرسانیها. در نتیجه کاربران نگرانی از چگونگی انجام بهروزرسانیهای نرمافزاری و امنیتی خود نخواهند داشت.
معایب SaaS
- مانند تمامی سرویسهای ابری، دسترسی کاربران به نرمافزار وابسته به سرویسدهی ۲۴ ساعته و هفت روز هفتهی ارائه دهندهی آن است. عملکرد مطلوب برنامههای کاربران نیز به اقدامات سرویسدهنده بستگی دارد که چه زمانی بهروزرسانی و وصلههای امنیتی را اعمال کرده باشند. در این حالت کاربر اختیاری روی بهروزرسانی برنامهی خود ندارد.
- سرویسهای مبتنی بر SaaS به دلیل اتکا به بستر اینترنت، امکان دارد در مواردی از دسترس خارج شوند. به همین دلیل سازمانها و شرکتها باید برای موارد عدم دسترسی به سرویسها آمادگی لازم را داشته باشند.
- نداشتن کنترل برنامهها شاید از سویی دیگر بر سازمانها هزینه ایجاد کند. برای نمونه، سازمانی را تصور کنید که نخواهد به نسخهی جدید برنامهای مهاجرت کند یا هزینهی آموزش نسخهی جدید به کارمندانش را متحمل شود.
- استفاده از سرویسهای SaaS، مانند هر سرویس مبتنی بر ابری میتواند با مشکلاتی همراه باشد. برای نمونه، ممکن است اطلاعات و دادههای سازمانها به بیرون درز کنند که این امر میتواند امنیت و ایمنی سازمان و کاربران را زیر سوال ببرد.
- با تمام راحتی استفاده و کاهش هزینهای که این سرویسها با خود به همراه دارند، ممکن است به دلیل عدم دسترسی به شبکهی اینترنت با کیفیت مناسب و دور بودن مکان میزبانی نرمافزار، تجربهی کاربری و کیفیت نرمافزاری مطلوبی را کاربر نهایی تجربه نکند.
- اما نکتهی امنیتی مهمی در خصوص چنین نرمافزارهایی وجود دارد که لازم است کاربران علاوه بر مرور توافقنامهی خود با سرویسدهنده، به آن دقت لازم را داشته باشند. در نرمافزارهای مبتنی بر SaaS، دادههای کاربر در سمت سرور و در اختیار ارایهدهندهی سرویس است. در حالیکه در برنامهی نصب شده روی سیستم کاربر، چنین دادههایی در کنترل کاربر قرار دارند. این مورد یکی از انتقادات جدی است که ترویجکنندگان نرمافزار آزاد به این شیوه از ارایهی نرمافزار وارد میکنند و حتا ریچارد استالمن آن را SaaSS و یا Service as a Software Substitute، به معنای سرویس، جایگزینِ نرمافزار دانسته است. چراکه وی معتقد است در این حالت، کاربر به فایل اجرایی برنامهی خود دسترسی ندارد. همچنین محل اجرای برنامه، سرور فرد(شرکت) دیگری است. بنابراین کاربران امکان نظارت و حتا تغییر برنامهی خود را هم نخواهند داشت (اشاره به آزادیهای چهارگانه در تعریف نرمافزار آزاد).
افزونبر موارد بیان شده، کاربران باید در متن قرارداد چنین نرمافزارهایی به تعهدات سرویسدهنده در قبال دادهها، مسوولیت کاربر و تضمین کیفیت سرویس توجه داشته باشند مانند، میزان آپتایم و آنکه برای مشتریان چه تمهیداتی در صورت دریافت سرویس با کیفیت پایین (SLA) در نظر گرفته شده است.