在学习服务架构的时候有很多的概念, 而且很多他们之间的差异性并没有那么明显. 看了一下资料这里简单总结一下 PaaS 和 FaaS 的区别

名词解释

  • LaaS : 基础设施即服务 ECS
  • PaaS : 平台即服务 heroku
  • SaaS : 软件即服务 网络开票系统
  • FaaS : 函数即服务
  • BaaS : 后台即服务
  • Serverless : 无服务计算架构

差异性

  • 可伸缩性
  • 定价
  • 启动时间
  • 边缘计算

核心的差异在于粒度上

可伸缩性

首先这两种架构都是可以自由扩展, 但是扩展的粒度是不一样的. FaaS 由于本身粒度更小所有可扩展型就更强. 一个就像是自来水按流量扩展, 另一个则像是桶装水按桶进行扩展

定价

由于粒度的差异, 在波动很大的服务上 FaaS 显得非常有优势, 但是如果波动不大的服务可能 PaaS 性价比更高

启动时间

FaaS 对启动时间的要求更高, 忘记是谁说过如果一个执行 20ms 的应用能在 30ms 中启动那它就是 Serverless

边缘计算

边缘计算的概念是说, 应该把服务放在里客户端更近的地方以减少对网络传输的压力. 边缘计算的硬件可能是客户端本身, LOT 设备或者部署在各个地区的服务器. CDN 加速就是类似的一个应用只是它是静态资源

由于 PaaS 粒度问题还是需要部署在指定的机器上, 就无法实现边缘计算. 而 FaaS 的粒度就可以做到随时部署启动就有可能做到真正的边缘计算