在云的上下文中,Serverful 的计算就像使用低级的汇编语言编程,而 Serverless 的计算就像使用 Python 这样的高级语言进行编程。

如 c = a + b 这样简单的表达式,如果用汇编描述,就必须先选择几个寄存器,把值加载到寄存器,进行数学计算,再存储结果。

这就好比今天在云环境下 Serverful 的计算,开发首先需要分配或找到可用的资源,然后加载代码和数据,再执行计算,将计算的结果存储起来,最后还需要管理资源的释放。

image.png

Serverless 架构应该是采用 FaaS (函数即服务)和 BaaS (后端即服务)服务来解决问题的一种设计
image.png
对开发者来说,FaaS 就是 Serverless 的全部

Serverless 优缺点

优点

image.png

缺点

  • 严重依赖云平台厂商
    不同平台厂商没有统一的标准,由一个平台厂商迁移至另一个平台厂商有巨大的迁移成本
  • 开发调试困难
  • 底层硬件不确定