在软件领域中,我们常常会遇到SaaS(软件即服务)和PaaS(平台即服务)这两个术语。为了更好地理解这两个概念,下面介绍PaaS的定义以及它与SaaS之间的关系。
XaaS,全称为X as a Service,是指一切以服务的形式提供,其中X不代表某个特定的单词缩写,而是代表所有。这种服务形式越来越多地通过网络进行提供,而不仅局限于本地或现场服务。
我们通常所说的IaaS、PaaS、SaaS都属于XaaS的范畴。SaaS前文已经介绍过了,下面简要介绍IaaS和PaaS的含义。
1.基础设施即服务(Infrastructure as a Service, IaaS)
这种服务模式将计算基础设施(包括服务器、网络资源、存储设备等)作为一项服务提供给消费者。它还包括提供操作系统以及虚拟化技术管理这些资源的服务等。消费者可以通过互联网便捷地从IaaS服务商获得所需的服务。
2.平台即服务(Platform as a Service, PaaS)
PaaS是指将软件研发的平台作为一种服务提供给用户。一些观点认为PaaS也是SaaS模式的一种应用,但实际上这两种服务的目标用户存在差异。PaaS通常面向软件开发人员,SaaS则面向软件客户。供应商提供的服务不仅限于基础设施,而是将软件开发和运行环境集成为整套解决方案,以SaaS的模式提交给用户。
IaaS、PaaS、SaaS三者的关系如图1-4所示。
图1-4 XaaS的三种云服务
根据名称和所处的层级,可以看出SaaS和PaaS之间有着紧密的联系。下面我们将详细介绍PaaS平台以及它与SaaS平台之间的关系。
我们通过一个具体的示例来探讨这个话题。
Salesforce公司在2007年便发布了其PaaS平台——http://Force.com,目前已有超过5万家企业成功使用了此平台。这个平台在产品开发或定制方面为Salesforce公司、平台客户以及平台ISV(平台上的服务商)提供了诸多便利。
1.Salesforce公司
基于PaaS平台开发自己的SaaS产品,可以显著提高开发效率。以Salesforce公司的Sales Cloud、Service Cloud等核心产品为例,它们都是基于http://Force.com开发的,这为开发者提供了便利,不仅提高了开发效率,还实现了产品的无缝集成。
2.平台客户
某些SaaS客户存在特定的个性化需求,为满足这些需求,需要基于PaaS进行定制开发。利用http://Force.com平台,客户不仅能够根据自身需求进行新功能的定制开发,还可以对Salesforce的标准功能进行定制改造,以满足更细致、更贴合客户实际需求的功能要求。
3.平台ISV(平台上的服务商)
第三方服务商基于PaaS平台开发新产品,针对不同行业客户提供专属解决方案,比如基于http://Force.com开发医疗行业的CRM产品Veeva。这种方案可以让生态合作伙伴开发新的产品服务,并从中获取收益。
近年来Salesforce相继收购了MuleSoft和Tableau,极大增强了PaaS平台在系统集成和数据分析方面的能力。
Salesforce在PaaS平台上启动较早、投入较大,相对比较成熟,位于业内顶尖水平。
而对于其他厂商,一是进入SaaS行业比较晚,推出面向SaaS的PaaS应用就更晚了,二是开发PaaS平台有很大的技术难度,目前仅有Oracle等少数SaaS企业能够做到,国内更是仅有少量几家SaaS企业在进行PaaS平台建设的尝试。
另外,有一些IaaS平台也在向PaaS平台延伸,比如AWS和阿里云为开发者提供了一些运行环境、中间件和操作系统等方面的服务,这已经超出了IaaS平台的服务范畴。
在之前的介绍中,我们已经明确了PaaS平台相较于SaaS平台提供了更为基础的服务。在SaaS平台的建设过程中,PaaS作为其强大的后盾,为行业或客户的个性化、定制化需求提供解决方案。
从用户对象的角度来看,PaaS平台主要服务于开发人员,而SaaS平台则主要面向软件用户。
SaaS平台的构建大多数并不是基于PaaS平台,SaaS平台往往有自己独立的产研团队和运维团队,重视数据安全等问题,有能力直接搭建基础设施,SaaS平台的建设与PaaS平台并没有依赖关系。
SaaS平台的用户数量大,其重点是解决用户的使用场景需求,产品相对标准化。
PaaS平台的存在,主要是解决软件基础环境和中间件服务的建设问题,方便研发人员更快地搭建系统。而围绕SaaS平台搭建的PaaS平台,其重点是解决SaaS平台在满足定制化需求方面的不足,为开发人员提供基于现有SaaS平台的定制开发能力,以满足客户的个性化需求。
值得注意的是,PaaS平台的构建思路并不是在SaaS平台的基础上进行扩展。如果SaaS公司希望构建PaaS平台,那么它们需要重新构建基础架构,而非简单地在现有SaaS平台上提供一些定制开发能力。这一点在过去的PaaS平台建设过程中已经得到了验证。