Apache OpenServerless 介绍与选型指南
Apache OpenServerless 介绍与选型指南:仍在孵化的云无关 Serverless 平台(2024-06 入孵,尚无正式 ASF 发行版,开发版本线 0.9.0-incubating-RC7),讲清 Kubernetes + OpenWhisk FaaS 引擎的架构组成、ops CLI 上手路径与孵化期风险,并以 Knative Serving、OpenFaaS、Apache OpenWhisk 为替代方案给出量化选型对比。
Apache OpenServerless 介绍与选型指南
目标:基于 Apache 孵化器状态页、官方站点与 GitHub 仓库的联网溯源(查询日期 2026-10-19),讲清 Apache OpenServerless(Incubating)的定位、架构组成、版本现状与上手路径,并给出与 Knative、OpenFaaS、Apache OpenWhisk 的量化选型对比。本文为认知篇,不做本地安装实测;截至查询日期该项目尚无正式 ASF 发行版,选型时请特别注意孵化期风险。
一、信息基准
本节给出本文全部关键数据的基准与来源,所有状态信息均在 2026-10-19 联网核验。
- 查询日期:2026-10-19。
- 基准版本:无正式发行版。Apache 官方发行目录 https://dist.apache.org/repos/dist/release/incubator/openserverless/ 下仅有
KEYS签名文件,没有任何已投票通过的正式版本;开发版本线为 0.9.0-incubating,GitHub 上最新发布为 v0.9.0-incubating-RC7(2026-09-29),均属候选版本(RC),非正式发行。 - 维护方:Apache 软件基金会孵化器 podling,2024-06-17 进入孵化(来源:https://incubator.apache.org/projects/openserverless.html )。
- 许可:Apache License 2.0(仓库 LICENSE/NOTICE 文件核验)。
- 发行形态:源码 tarball(位于投票用目录 dist/dev/incubator/openserverless/)+ GitHub 主仓库(umbrella 仓 + git submodules)+ ops CLI 的预构建便利二进制(官方明确声明其不是 Apache 官方发行件)。
- 版本依据(含来源 URL,查询日期 2026-10-19):
- 孵化状态与入孵日期:https://incubator.apache.org/projects/openserverless.html
- GitHub Releases(RC 时间线):https://github.com/apache/openserverless/releases (v0.9.0-incubating-RC7,2026-09-29)
- 官方发行目录(仅 KEYS):https://dist.apache.org/repos/dist/release/incubator/openserverless/
- 官方站点与安装文档:https://openserverless.apache.org/ 与 https://openserverless.apache.org/docs/installation/quickstart/
二、软件概述
2.1 项目定位
Apache OpenServerless(孵化中)是一个云无关(cloud-agnostic)的开源 Serverless 平台:基于 Kubernetes 构建,以 Apache OpenWhisk 作为 FaaS(函数即服务)执行引擎,并在其之上提供一整套平台化服务——SQL/NoSQL 数据库、键值存储、对象存储、LLM 服务、函数调度器等,由平台核心(operator)统一管理,配套 ops CLI 简化部署与交互,并提供集成开发环境与 starter 应用。其目标是让开发者"写函数 + 引用平台服务"即可交付完整应用,而不必逐个拼装中间件。
2.2 与 Apache OpenWhisk 的关系
OpenWhisk 是 2016 年前后开源、2021 年后社区活跃度明显放缓的 Apache FaaS 引擎;OpenServerless 可理解为OpenWhisk 生态的"平台化续作":它直接复用 OpenWhisk 作为函数执行引擎,在其外围补齐了 K8s operator、数据库/对象存储/LLM 等托管服务与统一 CLI。孵化 podling 名册中包含 OpenWhisk 社区的资深开发者 Michele Sciabarrà(来源:孵化器状态页名册),项目主仓 README 也明确 "with Apache OpenWhisk as its FaaS engine"。选型时应当把两者视为"引擎 vs 平台"的上下游关系,而非竞品。
2.3 版本现状
截至 2026-10-19:项目入孵已两年余,仍处孵化期;0.9.0 版本自 2026-09 起连续产出 RC5→RC7 候选(主仓 README 给出的构建示例即以 v0.9.0 为例),但尚未走完正式发行流程;dist/release 下无正式版本,意味着没有任何"官方背书"的安装制品,官方快速上手文档也明确声明预构建二进制仅为 convenience builds、需要生产级安装应使用 go install 从源码构建。
三、核心架构
3.1 平台组成
依据孵化器状态页描述与主仓 README(查询日期 2026-10-19):
- Kubernetes 底座:平台面向标准 K8s 集群交付,官方文档覆盖 AKS/EKS/GKE 等云上集群的安装指引;
- operator:平台核心,负责在集群内编排、升级与管理全部平台组件;
- FaaS 引擎:Apache OpenWhisk,承担函数的接收、调度与执行;
- 托管服务族:SQL/NoSQL 数据库、键值存储、对象存储、LLM 服务与函数调度器等,由 operator 统一供给,函数代码通过平台 API 直接消费;
- ops CLI:面向用户的统一命令行入口,负责连接集群、部署平台与应用;
- 开发工具链:集成 IDE、starter 应用与预集成运行时。
💡 技术拓展:Serverless 平台的常见架构形态对比——
形态 代表 特点 引擎型 FaaS Apache OpenWhisk 只做函数执行,其余自选 平台型 Serverless Apache OpenServerless 引擎 + 数据库/存储/LLM 等全家桶托管 K8s 原生函数层 Knative Serving 以 K8s CRD 提供 scale-to-zero 服务 简易函数网关 OpenFaaS 轻量、上手快、生态灵活 OpenServerless 走的是"平台型"路线,代价是组件多、体量大、孵化期成熟度风险高。
3.2 代码组织与运行时
主仓库 apache/openserverless 是一个 umbrella 仓库,绝大部分代码以 git submodules 组织(README 强调克隆必须 --recurse-submodules)。官方文档的 Runtimes 章节列出平台提供的预置函数运行时:NodeJS(v18/v20/v21)、PHP(v8.0–v8.3)、Python(v3.10–v3.12),并支持自建运行时。开发构建按平台提供 Ubuntu/Windows(WSL)/macOS 三套脚本。
四、关键特性
以下特性依据孵化器状态页、主仓 README 与官方文档归纳(查询日期 2026-10-19):
- 云无关交付:不绑定单一云厂商,官方文档按 AKS/EKS/GKE 等环境分别给出安装指引,可自建 K8s;
- 函数 + 平台服务一体化:OpenWhisk 引擎之外,由 operator 统一供给数据库、KV、对象存储、LLM 服务、调度器,减少拼装成本;
- 统一 CLI(ops):从连接集群、部署平台到部署应用的统一入口;
- 多语言运行时:NodeJS/PHP/Python 预置运行时 + 自定义运行时能力;
- 开发者体验组件:集成 IDE 与 starter 应用模板;
- 固有限制(孵化期导致):无正式发行版、API 与安装形态可能在不通知的情况下变化(0.9.0 的 RC 迭代仍在改)、社区规模小(主仓星标 577,2026-10-19 实查)、生产级支持缺失。
五、快速上手
以下为官方快速上手路径的转述(来源:https://openserverless.apache.org/docs/installation/quickstart/ ,查询日期 2026-10-19;认知篇不重复本地实测):
- 安装 ops CLI:按官方
docs/installation/install-cli/指引下载与你环境匹配的 ops 预构建二进制,或按官方声明以go install从源码构建(官方推荐后者用于生产级安装); - 准备 Kubernetes 集群与 kubeconfig:快速上手文档面向"已有可管理 K8s 集群"的用户,需要具备集群管理凭据(kubeconfig)与网络入口(文档示例涉及 nginx-ingress 与集群 API 地址);
- 部署平台:通过 ops CLI 连接目标集群并安装平台组件(operator 会拉起 OpenWhisk 引擎与各托管服务);
- 部署首个应用:使用 starter 应用模板或自写函数,经 ops CLI 部署并验证调用。
⚠️ 注意:官方在快速上手页明确免责——预构建二进制只是便利构建,未经 ASF 背书、不适合生产;唯一官方制品是源码发行件。对生产环境,这实际上意味着"从源码构建整套平台"的工程投入,选型前务必评估。
六、适用场景与限制
适用场景:
- 团队已有 K8s 且愿意跟进孵化期项目演进,希望以"函数 + 托管数据服务"一体化的方式搭建内部应用平台;
- OpenWhisk 存量用户寻求把"裸引擎"升级为带数据库/对象存储/LLM 服务的完整平台;
- 需要多云/云无关部署形态的 Serverless 实验环境。
限制与注意:
- 无正式发行版:截至 2026-10-19 只有 0.9.0 系列候选版本,不建议承载关键业务;
- 孵化期不稳定:安装形态、API 与组件构成仍可能变化;
- 体量与门槛:平台型架构组件众多,对 K8s 运维能力要求高;
- 社区规模有限:主仓星标 577、贡献者以孵化初始团队为主,长期维护节奏存在不确定性;
- 生产级 Serverless 需求建议优先评估 Knative/OpenFaaS 等成熟方案(见第七章)。
七、同类选型对比
面向"基于 K8s 的开源 Serverless/FaaS"这一需求的横向对比(星标数为 GitHub 仓库实查值,版本为各仓库 Releases 实查,查询日期 2026-10-19):
| 方案 | 形态 | 当前状态 | 最新版本 | GitHub Stars | 关键差异 |
|---|---|---|---|---|---|
| Apache OpenServerless | 平台型(K8s + OpenWhisk + 托管服务) | 孵化中,无正式发行 | 0.9.0-incubating-RC7(2026-09-29) | 577 | 引擎+数据服务全家桶一体化;孵化期、成熟度最低 |
| Apache OpenWhisk | 引擎型 FaaS | 维护放缓 | v2.0.0(2024-04-07) | 6.8k | OpenServerless 的上游引擎;自身近两年无新版 |
| Knative Serving | K8s 原生函数层 | 活跃 | v1.23.0(2026-07-30) | 6.1k | CRD 化的 scale-to-zero 服务与流量治理,社区庞大、云厂商集成广 |
| OpenFaaS | 简易函数网关 | 活跃 | 主仓 2026-07-02 仍有发布 | 26k | 轻量上手快,函数即可执行程序,生态(faas-netes)成熟 |
数据来源:各仓库 Releases 页(github.com/<org>/<repo>/releases.atom)与 shields.io 星标接口(查询日期 2026-10-19)。
选型建议:追求成熟与社区规模,选 OpenFaaS(最易上手)或 Knative Serving(深度绑定 K8s 生态、多厂商支持);只想要裸 FaaS 引擎且能接受缓慢维护节奏,可看 Apache OpenWhisk;只有当团队认同"函数 + 平台托管数据服务"一体化路线、并能跟进孵化期演进时,才考虑 OpenServerless。
八、参考链接
- 孵化器状态页:https://incubator.apache.org/projects/openserverless.html
- 官方站点:https://openserverless.apache.org/
- 安装快速上手:https://openserverless.apache.org/docs/installation/quickstart/
- 主仓库与 Releases:https://github.com/apache/openserverless
- 官方发行目录(仅 KEYS):https://dist.apache.org/repos/dist/release/incubator/openserverless/
- 上游引擎:Apache OpenWhisk https://github.com/apache/openwhisk
- 替代方案:Knative Serving https://github.com/knative/serving ;OpenFaaS https://github.com/openfaas/faas