
最近折腾了一个叫 orkestr Functions 的平台,踩了几个坑,这篇把问题说清楚。
没人调用的函数应该不花钱,一旦有人调用又能瞬间响应。这是 Serverless(无服务器计算)的设计初衷,也是大多数欧盟团队偷偷放弃的东西——为了数据驻留选 AWS Lambda,为了速度又得找个美国托管的备选方案。以前你必须二选一。但这周,orkestr Functions 换上了新的Serving引擎,两全其美:纯欧盟基础设施加上不输 Lambda 本身的冷启动性能。
现在每个函数都运行在独立硬件隔离的微虚拟机里,不再和其他租户共享内核。这不是表面功夫——正是这个改动让我们重建了从"请求到达"到"你的处理器运行"的完整路径。
这周我们自己的测试数据:
缩容到零仍然是核心特性:一个空闲的函数不花钱但保持可访问。区别在于它醒来的那一刻发生了什么。
orkestr 上的每个函数都有自己的微虚拟机——一个真实的内核、独立的内存、和所有其他租户的代码隔离开来。这比共享内核的容器有更强的边界,这正是我们平台其他隔离工作负载使用的相同机制。你默认就有这个边界,而不是作为附加功能。
缩容到零平台的典型坑:函数关闭时会把日志一起带走。现在修复了。你的函数的每次运行——从醒来到再次休眠——现在都在控制台日志标签页里有自己的日志流。如果你用过阿里云日志服务(SLS)或类似服务,就是那个体验,不用另外接一个日志服务。
当前运行的实例在顶部实时推送;过去的运行记录在下面。每个流显示实例信息、时间窗口、结束原因("缩容到零"、"重新部署"),以及函数运行期间说的所有内容:你的打印输出和错误、每个请求一行显示状态和耗时,还有一个冷启动标记显示你的代码加载花了多长时间。
保留期跟随你的套餐:免费版1天,Pro版7天,Team版及以上30天。
我们不会假装 AWS Lambda 很差——它不差,如果你不在乎数据存在哪里,它是一个成熟、文档完善、生态庞大的平台。下面是两者实际的不同之处,公平测量:
| orkestr Functions | AWS Lambda(Python) | |
|---|---|---|
| 冷启动 | 约500毫秒 | 约200-400毫秒 |
| 热请求 | 约100毫秒 | 约50-150毫秒 |
| 部署时间 | 约1秒(无构建、无镜像) | 容器镜像部署30-60秒 |
| 托管 | 德国、芬兰、法国 | 你选择的区域,通常控制平面在美国附近 |
| 数据驻留 | 默认欧盟 | 取决于区域+提供商条款 |
| 隔离 | 每个函数一个微虚拟机 | 每个函数一个微虚拟机 |
如果你不发容器镜像,Lambda 在原始冷启动数字上仍然领先——那是 AWS 打磨了十年的成熟单租户执行环境模型,他们的文档也解释了为什么热路径那么快。orkestr 领先的点是部署循环:不用构建容器,不用推送镜像,不用让你的 CI 冷重启。如果你在一个 webhook 处理器上一小时迭代十次,1秒部署对比30-60秒部署,一周下来能省出好几个小时。
我们的卖点不是"Lambda 很差"。而是说你不用为了欧盟托管而牺牲 Lambda 级别的性能。
一切都在德国、芬兰和法国的服务器上运行——法尔肯施泰因、赫尔辛基,以及常见的欧盟托管服务商,请求路径里没有任何美国大厂。如果你是那种已经被客户法务团队在 Schrems II 之后问过"我们真的能用这个供应商吗"的创业公司,你就知道这为什么是第一个要问的问题,而不是最后一个。没有需要解释的美国数据传输,没有终点在弗吉尼亚的分处理商链。
这不是给美国产品打补丁加给欧盟市场的勾选功能。这就是整个基础设施。
Python 和 Node.js。Python 先上;Node.js 正在紧跟着接入新引擎,数字一样——同样的冷启动、同样的约1秒部署。依赖的用法和 Functions 上已有的方式一样:粘贴一个普通的包列表(Python 用 pip requirements 语法,Node.js 用包名或完整的 package.json),它们在部署时安装。
所有套餐都支持 Functions,包括免费版。新引擎对所有人都是一样的——套餐区别在于你能用多少函数、每个函数有多少 CPU/内存。Current limits are on the pricing page。
新引擎正在向现有函数逐步推送——你不需要迁移或修改任何东西,函数的 URL 和 API 密钥完全不变。如果你是新用户,从控制台的 Functions 标签创建函数;默认处理器是一个可用的示例,你可以原封不动地部署上去看看冷启动表现。
如果你之前因为"快"和"欧盟托管"感觉是个矛盾而搁置了 Serverless,这篇就是来填平那个沟的。
orkestr 是欧盟团队的真正 Lambda 替代品吗?
如果你的优先级是欧盟独享托管加上和 Lambda 同级别的性能,答案是是的。如果你需要 Lambda 的特定生态(Step Functions、EventBridge、完整的 AWS 服务网格),orkestr Functions 是一个更简单的 HTTP 触发工具,不是深度 AWS 技术栈的即装替代品。
冷启动比 Lambda 慢多少?
大约同一数量级——orkestr 约500毫秒,典型 Python Lambda 约200-400毫秒。一旦热起来差距会缩小,在部署速度上差距消失,orkestr 反而更快。
这会取代 orkestr 上的容器应用部署吗?
不会。Functions 适合小型无状态 HTTP 处理器——webhook 接收器、粘合端点、小型 JSON API。完整应用仍然通过常规流水线以容器方式部署。
Node.js 支持了吗?
支持。Node.js 正在紧跟着 Python 接入新引擎,性能特征相同——同样的冷启动、同样的约1秒部署。npm 依赖和 pip 依赖的用法一样。
函数缩容到零时日志会消失吗?
不会了。每次运行都有自己可浏览的日志流,包含你的输出、每个请求的状态和耗时、以及一个冷启动标记。免费计划保留1天,Pro计划7天,Team计划及以上30天。
数据实际存在哪里?
在欧盟服务器上——目前是德国、芬兰和法国。请求路径和存储路径里没有美国云提供商。