SaaS创业路线图:to B产品、营销、运营方法论及实战案例解读
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2节 SaaS创业是否要做PaaS

做SaaS创业最后都面临一个选择:是否需要做PaaS?目前,这在业内还是一个比较有争议的话题。本节从公司整体战略的视角,结合国内企业软件市场的竞争形势,从PaaS被使用的形态、开发目的和前提来探讨这个关键决策。

PaaS(Platform-as-a-Service,平台即服务)、IaaS(Infrastructure-as-a-Service,基础设施即服务)、SaaS都是云计算的一部分,它们三者的层次关系如下图所示。

云计算的三层:IaaS、PaaS和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公司的CTO交流,他给我举了个很具体的例子。为了照顾没有技术背景的同学,我尽量翻译成大家能理解的语言。某个系统中有很多对象(object)——“部门”“岗位”“人员”等,总共有上百个。系统v1.0版上线时应对的需求还比较简单,但随着客户数量和客户规模同步增加,企业要求自己可在“部门”对象下增加自定义字段。于是v2.0版本中对“部门”对象做了改造,加上了“增加自定义字段”的功能。随后,又在后续的版本v2.1、v2.2中给“岗位”等其他5个对象增加了这个功能。每为一个对象增加“自定义对象”的功能,都需要付出不小的设计、开发、测试成本。最后,公司终于决定在v3.0版本对整个软件架构进行“中间层”改造。虽然过程比较艰难,但改造完成后可以达到以下效果。

● 所有对象都自动具备了“自定义对象”的功能。

● 今后如果还需要为所有或部分对象增加新功能,只需要改造“中间层”中的母对象即可。

● 开发成本、测试工作量都大幅下降。

PaaS的第一层价值大体可以用这个例子说明。当然,就这个具体例子而言,研发团队也可以用“对象继承”等更简单松散的方式来完成上面的工作。选择用PaaS来完成是因为同样类型的需求有很多,需要整体考量。

2.采用PaaS的三层目的

前文讲到的例子还只是从提高研发效率的角度考虑。我们下面再把采用PaaS方案的目的深入讲解一下。

有一次,科技企业媒体“甲子光年”采访我,我画了一张图说明PaaS成熟的几个阶段。在写本节文字期间,我又与一些做PaaS的头部公司CEO、CTO做了更深的探讨。这里我把那张图改为下面这张“采用PaaS的三层目的”。

采用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 Development Environment)。后者一般包括代码编辑器、编译器、调试器和图形用户界面等工具。

● 全定制开发:在没有PaaS的情况下,SI为SaaS产品不能满足的客户企业提供独特需求的定制开发。这种方式只要求SaaS产品提供丰富而健壮的API接口。

我们回到“为大客户的独特需求做定制开发”这个场景,看看从PaaS下的无代码开发,到无PaaS的全面定制开发这4个“手段”之间的差异。

“大客户的独特需求定制开发”手段

所以在PaaS的基础上做开发,无论是无代码、低代码,还是专业代码,所完成的软件工程都有很好的延续性和健壮性,是一个较完善的应对中大客户独特需求的解决方案。

但是,方案完善不意味着有经济价值。SaaS公司还需要考虑投入产出比的问题。

● 重金投入做出来的PaaS,真的能扩大我们的目标客户范围吗?

● 这些客户真的愿意比原有单纯的SaaS产品多掏钱吗?

● 通过配置和在PaaS上的定制开发,真的能与从0开始的“完全定制开发”竞争吗?

企业不想清楚这些初级问题就不要轻易开启PaaS之门。即便以上答案都是肯定的,还需要有PaaS经验的专业人士做好以下决策。

● 为了满足“客户定制开发”的PaaS,应该采用哪个手段:无代码/低代码/专业代码?

● 如何安排合理的产品迭代路线图?哪些部分应该先进PaaS以避免重复工作?哪些部分应该后进PaaS,以应对急切的市场需求?

● 如何平衡好这样几对关系:①PaaS与SaaS增加新功能之间的关系;②产品稳定性与供应新功能/新场景之间的关系;③深耕老市场客户与开拓新市场客户之间的关系。

这些问题都不能只从产品研发的角度考虑,需要结合市场和销售部门的需求,以及公司整体的战略节奏。

在首期腾讯SaaS加速器的第二次封闭培训上,我分享了上面这个表格,还对每个项目做了打分。这个打分的工作,每个打算做PaaS的企业都应该自己做,我就不拿打分结果出来误导大家了。每家企业的战略目标和自身状况都不同,对应打分项设置及分数权重也不相同。真正开启PaaS工作前,要做的不仅是这个打分表,而且应该做财务上的投入产出比(ROI)匡算。

3)ISV:能基于PaaS开发新产品

最后才说到PaaS的终极目的——支持ISV(Independent Software Vendors,独立软件开发商)在PaaS平台上开发新SaaS产品。这样做的价值非常巨大。ISV基于PaaS能力能够更快速地、更低成本地开发出其他功能或行业产品,帮助PaaS平台稳定客户并获得更多客户。这其实是一个构建软件开发生态的方式。

既然涉及生态,需要考虑的问题就不仅仅是公司内部问题。我罗列一下一个SaaS公司做第三层PaaS需要的几个前提。

● 充足的资金:我粗略估计过,目前做PaaS的头部SaaS公司里,北森、纷享销客资金投入超过4亿元、时间超过3年。他们都还只做到第二层,如果想在往第三层演进,仅仅是技术积累都还需要时间。

● 足够宽阔的市场空间:这么大的投入,这么高的技术和经营风险,要求有一个百亿元以上的市场空间。

● 从业务理解能力和技术能力的积累来说,好PaaS首先来自“杀手级”SaaS。我们无法想象单个业务的SaaS产品尚未做成功的公司,他们对多种异构业务的理解力可以穿透多个SaaS产品,并构建一个能良好支撑未来很多SaaS产品的PaaS平台。

● 有庞大客户基础。没有成千上万在用的企业客户,ISV凭什么愿意投入巨大成本,甘冒未来PaaS迭代中的各种风险,在一个新PaaS平台上做新产品呢?

我分析一下目前国内的形势:几个大的IaaS厂商阿里云、腾讯云等,为了避免自己被“管道化”(就像自来水管网一样,只提供通道资源,而不提供增值服务),除了做IPaaS也会逐步开发或引入APaaS。面对这么强大的竞争对手,即便是头部SaaS公司做PaaS也会降低目标。

当然,从另一个角度讲,阿里、腾讯提供的APaaS,其最终客户企业还是比较宽泛的。无疑,由于各个行业ISV的加入,它们会有很强的行业特性。但是否能有足够的领域特性(例如对项目管理、CRM、HR SaaS的支持),还很难评估。对希望做出第三层级PaaS的头部SaaS公司来说,也许还有2~5年的时间窗。

3.小结

虽然我有过十年研发经验,但近十年毕竟一直做营销和运营工作。我看PaaS的视角与大部分技术出身的同行们很不相同,本节就是通过“目的”的视角观察做PaaS的必要性。

一个SaaS公司是否一定要通过高成本、高风险的PaaS来实现这些目的,要首先给自己画个大问号,先进行全面思考、财务衡量和技术储备,再动手做PaaS。