我曾经看到过一些软件产品,灵活性非常高,任意一个字段、按钮、读写权限等都可以进行灵活配置,我们在使用过程中,如果不是相对专业的人员是很难学会这种配置的,这会大大提升用户的学习操作成本。
在SaaS产品的可配置特性上,我们需要在灵活和易用之间寻找一种平衡,尽量以易用性为第一目标,在易用的前提下再增强可配置特性。
SaaS产品有还有一些其他特点,这里就不一一介绍了,其实我们不难发现,SaaS产品的一些特点,传统软件产品大部分也需要具备或者可以做到的,只是这些特点在SaaS体系内,显得更为突出和重要。
二、SaaS产品VS传统软件产品
通过前文我们能够发现传统软件产品和SaaS产品的一些不同之处,接下来,我们详细对比下这两种产品的特点。请看下表:

但SaaS产品和传统软件产品都属于软件类的产品,在很多方面还是有共同点的,对于大多数人来说,认为SaaS就是软件,这些共同点基本上是大家已经形成的认知,我不打算在花费篇幅描述。如果做过传统软件行业,会发现后文介绍的一部分方法论,是从传统软件的方法论中继承延伸而来的。
三、SaaS和PaaS的关系
3.1 关于XaaS
XaaS的全称是X as a service,一切即服务,X代表所有而不是某个单词的缩写。这一缩写指越来越多地通过互联网提供的服务,而不仅仅指本地或现场服务。
比如我们通常所说的IaaS、PaaS、SaaS都属于XAAS的范畴。SaaS我们前文已经介绍了,IaaS和PaaS的含义如下:
基础设施即服务 (IaaS : Infrastructure as a Service):
把计算基础(服务器、网络技术、存储和数据中心空间)作为一项服务提供给客户。
它也包括提供操作系统和虚拟化技术来管理资源。消费者通过Internet可以从完善的计算机基础设施获得服务。
平台即服务(PaaS:Platform as a Service):
PaaS实际上是指将软件研发的平台作为一种服务,供应商提供的服务不仅限于基础设施,而是将软件开发和运行环境集成为整套解决方案,以SaaS的模式提交给用户,所以有些观点认为PaaS也是SaaS模式的一种应用。但实际上两者用户对象有所不同,PaaS一般是面向软件开发人员,而SaaS面向软件客户。
他们的关系如下:

从名称定义和所处的层级可以看出,SaaS和PaaS的关联度是比较紧密的。接下来我们详细介绍下PaaS平台以及同SaaS平台的关系。
3.2 PaaS平台的发展
我们看一个典型的案例。
Salesforce在2007年就推出了自己的PaaS平台http://Force.com,已经有超过5万家企业使用了这个平台。该平台有如下主要作用:
Salesforce内部:基于PaaS开发自己的SaaS产品,可以大大提高开发效率。Salesforce的Sales Cloud,Service Cloud等主打产品,都是基于http://Force.com开发的。
平台客户:一些SaaS客户有一些个性化需求,需要基于PaaS做定制开发,满足定制化的需求。基于http://Force.com平台,客户不但可以定制开发新功能,而且还可以对Salesforce的标准功能进行定制改造。
平台ISV(平台上的服务商):基于PaaS开发新产品,针对不同行业,提供专属解决方案。比如基于http://Force.com开发的医疗行业CRM产品Veeva。
近年Salesforce相继收购了MuleSoft和Tableau,大大增强了PaaS平台在系统集成和数据分析方面的能力。
Salesforce在PaaS平台的投入上,启动较早、投入较大,相对比较成熟,是业内顶尖水平。
而对于其他厂商,第一是进入SaaS行业比较晚,进而推出面向SaaS的Application PaaS就更晚了,第二是开发PaaS平台有很大的技术难度,目前也仅有Oracle等少数SaaS企业能够做到,国内仅有少量几家SaaS企业在推进建设PaaS平台的尝试。
另外有一些IaaS平台也在向PaaS平台延伸,比如AWS和阿里云,为开发者提供一些运行环境、中间件和操作系统等方面的服务,已经超出了IaaS平台的服务范畴。