
做SaaS平台的公司玩到最后都一定临一个选择:是否需要做PaaS?
目前,这在业内还是一个比较有争议的话题。
PaaS(Platform-as-a-Service,平台即服务)、
IaaS(Infrastructure-as-a-Service,基础设施即服务)、
SaaS都是云计算的一部分,它们三者的层次关系如下:

PaaS再往下还可以拆分为:
IPaaS(Integration PaaS,集成PaaS)
APaaS(Application PaaS,应用PaaS)。
我讲的PaaS特指APaaS。
1.工具SaaS做PaaS的目的
首先,我强调一下,并不是所有SaaS公司都应该做PaaS。
目前国内真正在做PaaS开发的公司大多是做通用工具SaaS产品的公司。
我只想琢磨一下这部分SaaS公司为什么要做PaaS?
我发现这些SaaS公司面对的需求往往有两种:
● 多个行业较统一的需求(例如管理销售业务的CRM、管理人事业务的HRM)。
● 一个万亿级大行业中的多个细分子行业的大客户(例如快消行业众多细分门类中的大客户)。
他们的客户需求有统一性,但每个大客户又有业务上的独特性,做PaaS就是为了满足在70%~90%的统一需求下,另外10%~30%的独特需求。
我曾和一个SaaS公司的技术大佬交流,他给我举了个很具体的例子:(为了照顾没有技术背景的同学,我尽量翻译成大家能理解的白话语言)
案例:
某个系统中有很多对象(object)——“部门”“岗位”“人员”等,总共有上百个。 系统v1.0版上线时应对的需求还比较简单,但随着客户数量和客户规模同步增加,企业要求自己可在“部门”对象下增加自定义字段。 于是v2.0版本中对“部门”对象做了改造,加上了“增加自定义字段”的功能。 随后,又在后续的版本v2.1、v2.2中给“岗位”等其他5个对象增加了这个功能。 每为一个对象增加“自定义对象”的功能,都需要付出不小的设计、开发、测试成本。 最后,公司终于决定在v3.0版本对整个软件架构进行“中间层”改造。 虽然过程比较艰难,但改造完成后可以达到以下效果。 ● 所有对象都自动具备了“自定义对象”的功能。 ● 今后如果还需要为所有或部分对象增加新功能,只需要改造“中间层”中的母对象即可。 ● 开发成本、测试工作量都大幅下降。 |
PaaS的第一层价值大体可以用这个例子说明。
当然,就这个具体例子而言,研发团队也可以用“对象继承”等更简单松散的方式来完成上面的工作。
选择用PaaS来完成是因为同样类型的需求有很多,需要整体考量。
2.采用PaaS的三层目的

1)厂商内部:
基于PaaS开发自有SaaS产品一个SaaS厂商投入巨资引入PaaS的第一层目的是为了提高内部开发效率。
2)客户:
能基于PaaS做定制开发第二层目的是从客户角度出发的,因为很多中大客户有独特的需求,需要定制化的开发。
如果没有PaaS平台,无论是SI(System Integrator,系统集成商),还是承担SI角色的SaaS厂家或客户企业IT部门,他们开发出来的程序未来都不能随着SaaS产品升级而自动、平滑地升级。
这将为客户企业埋下巨大隐患,未来也会为SI和SaaS公司带来非常大而不确定的人力投入风险。
同时,为了达到这个目的,PaaS提供的开发手段也有三种:
● 无代码开发:完全通过页面配置,就能按需求定制开发,不用写入代码,不需要IT基础,对配置人员的要求很低。
● 低代码开发:除了页面配置,还可以通过加入一些简单的函数或编程脚本达到实现复杂判断、控制流程、展现结果等目的。对配置人员的要求是有软件编程基础,但不用专门学习新的编程语言。
● 高代码开发:这就是基于PaaS常规的程序开发工作,需要专业的软件工程师才能完成操作。
PaaS平台将提供编程语言(可以是类Java语言,但也包含很多新对象和新概念)和集成开发环境(IDE,Integrated DevelopmentEnvironment)。
后者一般包括:代码编辑器、编译器、调试器和图形用户界面等工具。
● 全定制开发:在没有PaaS的情况下,SI为SaaS产品不能满足的客户企业提供独特需求的定制开发。
这种方式只要求SaaS产品提供丰富而健壮的API接口。
我们回到“为大客户的独特需求做定制开发”上面那个案例场景,看看从PaaS下的无代码开发,到无PaaS的全面定制开发这4个“手段”之间的差异。

所以在PaaS的基础上做开发,无论是无代码、低代码,还是专业代码,所完成的软件工程都有很好的延续性和健壮性,是一个较完善的应对中大客户独特需求的解决方案。
但是,方案完善不意味着有经济价值。
SaaS公司还需要考虑投入产出比的问题。
● 重金投入做出来的PaaS,真的能扩大我们的目标客户范围吗?
● 这些客户真的愿意比原有单纯的SaaS产品多掏钱吗?
● 通过配置和在PaaS上的定制开发,真的能与从0开始的“完全定制开发”竞争吗?
企业不想清楚这些初级问题就不要轻易开启PaaS之门。即便以上答案都是肯定的,还需要有PaaS经验的专业人士做好以下决策。
● 为了满足“客户定制开发”的PaaS,应该采用哪个手段:无代码/低代码/专业代码?
● 如何安排合理的产品迭代路线图?哪些部分应该先进PaaS以避免重复工作?哪些部分应该后进PaaS,以应对急切的市场需求?
● 如何平衡好这样几对关系:
①PaaS与SaaS增加新功能之间的关系;
②产品稳定性与供应新功能/新场景之间的关系;
③深耕老市场客户与开拓新市场客户之间的关系。
这些问题都不能只从产品研发的角度考虑,需要结合市场和销售部门的需求,以及公司整体的战略节奏。
每家企业的战略目标和自身状况都不同,真正开启PaaS工作前,应该做财务上的投入产出比(ROI)匡算。
3)ISV:能基于PaaS开发新产品
最后才说到PaaS的终极目的——支持ISV(Independent Software Vendors,独立软件开发商)在PaaS平台上开发新SaaS产品。
这样做的价值非常巨大。
ISV基于PaaS能力能够更快速地、更低成本地开发出其他功能或行业产品,帮助PaaS平台稳定客户并获得更多客户。
这其实是一个构建软件开发生态的方式。
既然涉及生态,需要考虑的问题就不仅仅是公司内部问题。
我罗列一下一个SaaS公司做第三层PaaS需要的几个前提:
● 充足的产品研发专项资金,这就是“兵马未动、粮草先行”。
● 足够宽阔的市场空间:这么大的投入,这么高的技术和经营风险,要求有一个百亿元以上的市场空间。
● 从业务理解能力和技术能力的积累来说,好PaaS首先来自“杀手级”SaaS。
我们无法想象单个业务的SaaS产品尚未做成功的公司,他们对多种异构业务的理解力可以穿透多个SaaS产品,并构建一个能良好支撑未来很多SaaS产品的PaaS平台。
● 有庞大客户基础。没有成千上万在用的企业客户,ISV凭什么愿意投入巨大成本,甘冒未来PaaS迭代中的各种风险,在一个新PaaS平台上做新产品呢?
分析一下目前国内的形势:
几个大的IaaS厂商阿里云、腾讯云等,为了避免自己被“管道化”(就像自来水管网一样,只提供通道资源,而不提供增值服务),除了做IPaaS也会逐步开发或引入APaaS。
面对这么强大的竞争对手,即便是头部SaaS公司做PaaS也会降低目标。
当然,从另一个角度讲,阿里、腾讯提供的APaaS,其最终客户企业还是比较宽泛的。
无疑,由于各个行业ISV的加入,它们会有很强的行业特性。
但是否能有足够的领域特性(例如对项目管理、CRM、HR SaaS的支持),还很难评估。
对希望做出第三层级PaaS的头部SaaS公司来说,也许还有2~5年的时间窗。
虽然我有过十五年的产品规划设计经验,但近十年毕竟一直在重点做企业经营和产品运营的工作。这导致我看PaaS的视角与大部分产品出身的同行们很不相同,欢迎交流。


