Apache OpenServerless 介绍与选型指南

Apache OpenServerless 介绍与选型指南:仍在孵化的云无关 Serverless 平台(2024-06 入孵,尚无正式 ASF 发行版,开发版本线 0.9.0-incubating-RC7),讲清 Kubernetes + OpenWhisk FaaS 引擎的架构组成、ops CLI 上手路径与孵化期风险,并以 Knative Serving、OpenFaaS、Apache OpenWhisk 为替代方案给出量化选型对比。

Apache OpenServerlessOpenServerlessApacheServerless云计算2026/10/19

Apache OpenServerless 介绍与选型指南

目标:基于 Apache 孵化器状态页、官方站点与 GitHub 仓库的联网溯源(查询日期 2026-10-19),讲清 Apache OpenServerless(Incubating)的定位、架构组成、版本现状与上手路径,并给出与 Knative、OpenFaaS、Apache OpenWhisk 的量化选型对比。本文为认知篇,不做本地安装实测;截至查询日期该项目尚无正式 ASF 发行版,选型时请特别注意孵化期风险。

一、信息基准

本节给出本文全部关键数据的基准与来源,所有状态信息均在 2026-10-19 联网核验。

二、软件概述

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 平台的常见架构形态对比——

形态代表特点
引擎型 FaaSApache OpenWhisk只做函数执行,其余自选
平台型 ServerlessApache 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;认知篇不重复本地实测):

  1. 安装 ops CLI:按官方 docs/installation/install-cli/ 指引下载与你环境匹配的 ops 预构建二进制,或按官方声明以 go install 从源码构建(官方推荐后者用于生产级安装);
  2. 准备 Kubernetes 集群与 kubeconfig:快速上手文档面向"已有可管理 K8s 集群"的用户,需要具备集群管理凭据(kubeconfig)与网络入口(文档示例涉及 nginx-ingress 与集群 API 地址);
  3. 部署平台:通过 ops CLI 连接目标集群并安装平台组件(operator 会拉起 OpenWhisk 引擎与各托管服务);
  4. 部署首个应用:使用 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.8kOpenServerless 的上游引擎;自身近两年无新版
Knative ServingK8s 原生函数层活跃v1.23.0(2026-07-30)6.1kCRD 化的 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。

八、参考链接