引言

最近几年 aPaaS 这个概念逐渐火了起来,但是很多人对这块的了解还是比较模糊。大家会容易联想到 PaaS、SaaS、IaaS 等概念,以及通常我们在谈论 aPaaS 这个领域的时候也会谈到低代码(Low-Code)和无代码(No-Code)。那么如何去理解这些不同概念、具体有哪些代表性的产品、目前行业的发展状况如何、涉及相关的技术是本系列探讨的话题。

正好博主也是低代码这个方向的从业人员,未来会逐步输出一些列 aPaaS 相关的文章包括不限于对这个行业发展、产品迭代、技术演进的关注、理解和思考。

aPaaS 是什么

aPaaS = application Platform as a Service = 应用平台即服务。很多关于 aPaaS 介绍的文章都会直接给出这个解释,其实很多人通过这个定义还是无法直接清楚 aPaaS 具体干了个什么事。我对它的一句话理解就是:一个可以搭建应用的云服务平台,或者简而言之就是个云服务。也就是说它的产物是一个应用,aPaaS 本身是一个云服务而且是一个平台可以支持搭建很多不同的应用。

说到这里其实还是比较抽象,下面我们结合图来理解 aPaaS 在不同云服务之间的位置,以下是我在网上看到的最适合&清晰介绍 aPaaS 的图。

  • Application - 应用层即比较贴近于用户能直接感受到的如 APP、网页、小程序之类偏视 UI 面的内容
  • Data - 数据层
  • Runtime - 运行时的一些中间件/库
  • O/S - 操作系统如服务部署在 Linux/Windows 服务器上
  • Virtualization - 虚拟化如容器相关
  • Server - 运行在操作系统上的 Server 如 HTTP Server、微服务
  • Storage - 存储服务相关
  • Networking - 网络层

从这个图的横向来看,IaaS → PaaS → SaaS 需要自己做的事情越来越少,更多的事情会交由第三方云服务厂商,国内如阿里云、腾讯云以及海外 AWS 之类的。纵向来看越往下我们自己要操心的事情会越偏向于计算机的底层基建。

IaaS

在传统的软件开发交付流程中我们需要自建这七层服务,如自建服务器、拉网线、装系统、部署服务等。显然这是一件很操蛋的事情,开发个 APP 还要自己拉网线建机房?所以出现了 IaaS,Infrastructure 即指这部分基建的内容如虚拟化、存储第二列绿色部分,将这部分外包给 AWS 这类云服务厂商专业的事交给专业的人去做。

PaaS

PaaS 则在 IaaS 的基础上将更多的事情外包了出去,一些中间件、基础库、操作系统等都使用一些平台直接提供的能力进行开发,比如 Google APP Engine 之类的 PaaS 服务,应用开发者更多的关注点在于应用本身的业务逻辑实现和前端侧的开发。

SaaS

SaaS 可能是我们听到最多的一个,它则将外包的工作做得更加的彻底。直接把软件层面都做了,你不需要开发任何东西,在这个模式下不同业务方以不同的「租户」来体现出区别。国内比如电商的有赞、传统软件公司 CRM 相关的用友金蝶等、互联网 OA 相关飞书钉钉等。

aPaaS 在哪里?

那么再回头来看,aPaaS 属于以上云服务架构下的那一部分?这就得说下 aPaaS 主要去解决了什么样的问题。通过上面的一些关于 PaaS、SaaS 的介绍我们不难发现 PaaS 其实需要重度依赖研发团队来解决软件应用层的问题,而 SaaS 是已经给你把软件整体都打包做好了,客户的定制化诉求是很难满足。这就是核心矛盾点,通常我们可能需要依赖一些私有化部署来解决这种定制化开发的需求,成本是非常的高,比如飞书给小米做的私有化部署。

aPaaS 的出现则是来解决这部分问题,所以 aPaaS 在云服务里面的定位就是位于 PaaS 和 SaaS 之间的一种云服务,可以通过一些如 low-code、no-code 的解决方案来以较低的研发(或者不需要研发介入)成本来实现 SaaS 做不到的一些事情以提高产品研发效率降低开发成本。通过这类方式企业业务人员可以不依赖研发团队快速制做出一个应用来验证效果,在竞争如此激烈的商业环境下也提供了较低的业务试错成本。

No-Code 和 Low-Code

上面介绍了 aPaaS 是什么以及主要解决了什么问题,那么 no-code/low-code 就是问题的解决方案。所以在我的理解下 aPaaS 是泛指 no-code/low-code 的,之后我也会使用 aPaaS 来泛指 no-code 和 low-code 应用,他们是前者包含了后者的关系,前者更像是理念后面更像是实现。

Low-Code

顾名思义 Low-Code 是「低代码」的意思,也就是说应用面向的人群是需要具备一定的编程知识或者需要经过相关的编码培训才可以使用。目前 Low-Code 做得相对成熟的产品如 Microsoft Power App、腾讯云的 WeDa、阿里系钉钉宜搭、华为 AppCube

No-Code

No-Code 则是相对于 Low-Code 的,即产品的使用人员无需具备专业的编程知识,即可完成应用的搭建。在我个人看来长期 No-Code 相比于 Low-Code 在中小企业会有更大的应用场景。目前 No-Code 国内做得相对成熟的有明道云简道云、黑帕云(2021 年底被字节跳动收购)等。

它们之间的关系

上面只是简单的对 Low-Code 和 No-Code(之后统一简称 LCNC/NCLC)进行了介绍。其实无论是 No-Code 还是 Low-Code 在解决不同领域的不同场景下,亦有比较大的差异。

在搭建模式层面,根据不同的场景还可以把应用搭建模式分为页面驱动、表单驱动、模型驱动、数据驱动等。拿页面驱动和表单驱动为例,根据博主的一些了解页面驱动在 No-Code 领域会相对应用更多,比如一些营销建站平台,整体是基于设计稿去搭建页面的,以及还出现了 Design to Code(D2C)等技术,这点之后来聊。而表单驱动在 LCNC 都有广泛的应用,比如搭建一些管理系统页面或者报表都是它们较好的场景。所以在搭建模式上 LCNC 两者并无差异,这也是很多人会把 LCNC 混在一起谈以及不清楚区别的一个很重要的因素。

但在 LCNC 其实是有很明显的差异,上面也谈到 LC 必须要有具备编程知识的人才可以使用。博主前段时间也看了不少行业相关的报告,未来的趋势是会将 NC/LC 进行比较严格意义的区分,现在还是混在一起谈论。为何要严格区分 LCNC 的主要原因是这会影响到用户的产品选型,因为 LC 是需要具备专业性的人员(或者经过培训)才可以使用,而 NC 更多是开箱即用。所以有一些声音是 LC 和 NC 是一个并列的关系而不是包含的关系,但这点我并不认同。我更认同的还是 LC 包含了 NC,NC 只是 LC 的一个特殊场景,并且一个平台它既可以是 NC 也可以是 LC 的就看怎么去使用。所以我更倾向于未来对 NCLC 的定义都统一到 LC,如果产品是只能 NC 可以直接说自己是 NC 产品,否则业内对 LCNC 其实理解是比较混淆的。

aPaaS 行业现状和未来

低代码行业经历了 2017-2020 年的快速发展阶段,市场增速开始有所放缓,在企业数字化转型及疫情的助推下,2021 年低代码行业市场规模达到 27.5 亿,增长速度为 72.4%,预计未来 4 年复合增速达到 44.1%,2025 年中国低代码行业市场规模将达到 118.4 亿。

——艾瑞咨询 2022 年中国低代码行业研究报告

目前我认为 aPaaS 还是一个蓝海市场,行业内做的比较好的 Microsoft Power Platform 的营收已经超过了 20 亿美金,并且年增长率达到了 72%,成为微软规模化增长最快的一个业务之一。国内的各大互联网公司也是加大了投入和布局。

截至 2022 年 7 月中国低代码市场共有 74 起投融资事件,其中亿元以上融资有 18 起,长期资本还是比较看好这个赛道。但目前大部分 LCNC 厂商还并未实现盈利,并且目前还未看到头部厂商存在行业垄断的现象未来几年的竞争应该会比较激烈。不过我认为长期这个行业的机会也还是很大的,首先是盘子相对较大,aPaaS 切的是传统软件开发和做 SaaS 厂商的蛋糕,并且随着大家对 aPaaS 的逐渐接受、传统企业数字化推进及接力工业互联网,整个行业的规模也会逐渐变大。其次在软件工程领域没有银弹,一个 LCNC 平台不可能能解决所有领域的问题,很多中尾部的厂商在一些细分领域仍然会有很多机会。