从用户的视角看
而从用户的视角,用户只需要把代码写好打包提交上去即可运行,不需要自己准备运行的服务器、安装运行环境,所以可以近似认为Serverless提供了一个代码可运行的平台。
使用Serverless用户甚至都不需要关心运行所需要多少CPU、内存等计算资源,因为Serverless平台就提供了近似无限的计算能力,这也是和PaaS的主要区别,即大部分PaaS平台,用户依然需要手动维护运行的容量,需要手动扩容或者缩放平台规模。
而对于FaaS应用,这种问题完全是透明的。AWS云架构战略副总裁Adrian Cockcroft曾经针对两者的界定给出了一个简单的方法:“如果你的PaaS能够有效地在20毫秒内启动实例并运行半秒,那么就可以称之为Serverless”。–摘抄自《从IaaS到FaaS—— Serverless架构的前世今生》
云计算层面分析
而从云计算角度,Serverless能够最大化利用计算资源,减少资源闲置和碎片。从云运营角度上看,Serverless能精确到代码调用次数和运行时间的粒度实现计量计费,实现调用一次计费一次,不调用不计费,这相对启动一个虚拟机运行代码来说,除非你的应用能够一直保证满载运行,否则只要资源空闲则意味着资源浪费。