购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2.13 无服务器计算

无服务器计算英文为Serverless Computing,通常也被简称为Serverless,它并不是指没有服务器,而是指对于用户,服务器变得“不可见”(或者“无感知”),是指开发者不需要直接管理服务器资源。Serverless是一种云计算模型,它允许开发者编写和部署功能单元(函数)而无须关心底层的服务器基础设施。在Serverless架构中,云服务提供商负责动态管理和分配服务器资源,根据实际需要为函数执行提供计算资源。

Serverless的核心目的就是在云计算的基础上向前迈进一步,彻底“包揽”所有的环境工作,直接提供计算服务。在Serverless架构下,开发者只需编写代码并上传,云平台就会自动准备好相应的计算资源,完成运算并输出结果,从而大幅简化开发运维过程。也就是说,Serverless是云计算的进一步延伸,所以,它继承了云计算最大的特点——按需弹性伸缩、按需付费。

从层级上来看,Serverless在传统云计算SaaS的应用层级上又加了一层——函数层,如图1-12所示。函数层的颗粒度更细,可以更灵活地满足用户的算力需求。

图1-12 FaaS与IaaS、PaaS、SaaS的关系

按照CNCF对Serverless的定义,Serverless架构是采用FaaS和BaaS来解决问题的一种设计,即Serverless=FaaS+BaaS。FaaS就是Function as a Service(函数即服务)。每个函数都是一个服务,函数可以由任何语言编写,直接托管在云平台,以服务的形式运行,通过事件触发。BaaS则是Backend as a Service(后端即服务)。云平台提供后端组件整合,开发者无须开发和维护后端服务,通过API/SDK的调用,便可获得数据存储、消息推送、账号管理等功能。

Serverless的背后依然是虚拟机和容器。只不过,服务器部署、运行时安装、编译等工作都由Serverless计算平台负责完成。对开发人员来说,只需要维护源代码和Serverless执行环境的相关配置即可。这就叫“无服务器计算”。Serverless架构的最大优势就是帮助用户彻底摆脱基础设施管理这样的“杂事”,使用户更加专注于业务开发,从而提升效率,降低开发和运营成本。根据业界的统计,在商业和企业数据中心的典型服务器,日常只提供了5%~15%的平均最大处理能力的输出,这是一种算力资源的巨大浪费。总之,Serverless的出现,可以让用户按照实际算力使用量进行付费,属于真正的“精确计费”。 x70XjvI+S3H5AFaS51zGaD8FDa4dbN/dRNRAaZs0blkb02xTRUUijoYHILjsDwVB

点击中间区域
呼出菜单
上一章
目录
下一章
×