什么是功能即服务(FaaS)?功能即服务(FaaS)是一种面向云端函数的、构建和部署服务端软件的新方式。FaaS在国内通常也称为云函数。
传统的部署服务端软件的方式一般是:首先要获得一个主机实例,可以是实体机、虚拟机或者容器;然后把应用软件部署到主机上,而后各种软件逻辑操作在应用软件中进行,如图1所示。
而在FaaS的部署模式中,则去掉了主机实例层和应用软件层,代之以云函数平台,这样使得开发者仅需要通过云函数实现应用逻辑的那些操作,然后把函数上传至云厂商提供的FaaS平台中运行,从而大幅度简化了软件开发流程,如图2所示。
图1 传统的部署服务端软件方式
图2 FaaS部署模式
FaaS是无服务器架构的一种,构建和管理基于微服务架构的完整流程,计算资源完全由云厂商管理和调度,由定时器或者事件触发,计算程序通常仅在触发后暂存在计算容器内,计算程序往往无状态(Stateless),且不采用会话(Session)机制来认证用户身份。
这里所谓无服务器并非是说不需要服务器来进行计算,而是说开发者不需要过多考虑服务器相关的问题,可以更专注于做产品代码上,同时计算能力也变成了一种可以按需获取按需付费的资源。