Post
Lucet 的价值,不只是快,而是它把 FaaS 拉回轻量沙箱
Lucet 这类 Wasm 运行时真正值得关注的,是它重新打开了轻量沙箱式 FaaS 的实现空间。
Fastly 开源 Lucet 之后,我最关注的不是它宣称的性能数字本身,而是它背后的方向:
用 Wasm 做一种足够轻的沙箱,把 FaaS 从“重容器”重新拉回更适合函数计算的执行边界。
现在很多 FaaS 方案的问题,并不只是冷启动,而是整体执行模型本来就不够贴合。
如果还是按不同语言分别维护一套运行方案,平台会越来越碎;如果试图直接拿 Docker 这种容器当统一抽象,又会发现它对“每次调用快速起一个执行单元”来说还是太重了。
启动延迟、资源开销、镜像分发、环境管理,这些成本叠在一起,都会让函数计算离“轻”越来越远。
所以 Lucet 这类基于 Wasm 的运行时有意思的地方在于:
- 执行边界足够轻
- 沙箱模型足够清楚
- 对平台来说更容易统一
- 对应用来说又保留了可控接口
这让我想到区块链里已经实验过很多年的沙箱思路。
区块链上的每笔交易,本质上就是一次短生命周期 VM 执行:
- 启动一个受控执行环境
- 跑完逻辑
- 把状态写回外部
- 生命周期完全由平台托管
从这个角度看,很多区块链 VM 或者 Wasm / RISC-V 这类方案,其实天然就和 FaaS 的问题空间接近。
因为 FaaS 最终也要解决两个核心问题:
- 执行单元够不够轻
- 外部状态接口怎么暴露得既可控又通用
如果应用逻辑只需要和 ABI 打交道,而不需要直接理解操作系统和底层存储细节,平台就更容易把生命周期、资源调度和状态持久化统一接管。
所以我会觉得,Lucet 值得看的不是“是不是又一个更快的 Wasm runtime”,而是它可能代表了一条更合适的 FaaS 演化路径:
不是把容器一层层裁薄,而是从一开始就回到更轻量的沙箱抽象。
原微博中的媒体
