知识卡片

Serverless厂商锁定的根源

专业/工作 · 333

内容

Serverless比传统架构更容易被厂商锁定,根源不在计算逻辑本身,而在事件源与函数之间的数据结构 规约——同样是”对象存储触发函数”这件事,不同云厂商传给函数的事件JSON字段名、嵌套结构完全不同, 业务代码里解析事件的部分就必须针对厂商重写,很多事件源也不支持跨厂商触发。这意味着即使函数的 核心业务逻辑是通用的,胶水层的适配成本会随着使用的事件源种类线性增加。[[CloudEvent解决事件格式碎片化]] 正是想在标准层面消除这种差异,但目前主流商用平台并未普遍采用它,所以现实中厂商锁定依然存在。 发散:这提示了一个务实的架构原则——写Serverless函数时,应该把”解析事件”和”处理业务”两段代码 显式拆开,前者才是真正需要为每个厂商重写的部分。

参考来源

《Serverless工程实践:从入门到进阶》第1章《什么是Serverless》