SaaS定义了一种新的交付方式,也使得软件进一步回归服务本质。企业部署信息化软件的本质是为了自身的运营管理服务,软件的表象是一种业务流程的信息化,本质还是第一种服务模式。
SaaS改变了传统软件服务的提供方式,减少本地部署所需的大量前期投入,进一步突出信息化软件的服务属性,或成为未来信息化软件市场的主流交付模式。
互联网特性
一方面,SaaS服务通过互联网浏览器或WebServices/Web2.0程序连接的形式为用户提供服务,使得SaaS应用具备了典型互联网技术特点。
另一方面,由于SaaS极大地缩短了用户与SaaS提供商之间的时空距离,从而使得SaaS服务的营销、交付与传统软件相比有着很大的不同。
比如,SaaS软件行业知名产品NetSuite所提供的在线ERP、在线CRM等模块产品都是基于网络的。
这样的优势在于不必投入任何硬件费用,也不用请专业的系统维护人员就能上网,有浏览器就可以进行ERP、CRM系统的使用。快速地实施、便捷的使用、低廉的价格都有赖于SaaS产品的互联网特性。
多重租赁(Multi-tenancy)特性
SaaS服务通常基于一套标准软件系统为成百上千的不同客户(又称为租户)提供服务。这要求SaaS服务能够支持不同租户之间数据和配置的隔离,从而保证每个租户数据的安全与隐私,以及用户对诸如界面、业务逻辑、数据结构等的个性化需求。
由于SaaS同时支持多个租户,每个租户又有很多用户,这对支撑软件的基础设施平台的性能、稳定性和扩展性提出很大挑战。SaaS作为一种基于互联网的软件交付模式,优化软件大规模应用后的性能和运营成本是架构师的核心任务。
服务(Service)特性
SaaS使软件以互联网为载体的服务形式被客户使用,所以很多服务合约的签订、服务使用的计量、在线服务质量的保证和服务费用的收取等问题都必须加以考虑。而这些问题通常是传统软件没有考虑到的。
可扩展(Scalable)特性
可扩展性意味着最大限度地提高系统的并发性,更有效地使用系统资源。比如应用:优化资源锁的持久性,使用无状态的进程,使用资源池来共享线和数据库连接等关键资源,缓存参考数据,为大型数据库分区。