对于Serverless,我们可以把它理解为一种架构,一种理念,甚至是一种思想。Serverless的核心目的,就是在云计算的基础上,再向前迈进一步,彻底“包揽”所有的环境工作,直接提供计算服务。

在Serverless架构下,开发者只需编写代码并上传,云平台就会自动准备好相应的计算资源,完成运算并输出结果,从而大幅简化开发运维过程。Serverless是云计算的进一步延伸,所以,它继承了云计算的最大特点——按需弹性伸缩、按需付费。
现在的互联网服务,基本上都是采用微服务架构。也就是把一整套服务,拆分为多个细分服务,由不同的服务器完成运算。

Serverless的特点是,这个服务足够“细小”,变成了“函数级”的颗粒度。从层级上来看,Serverless在传统云计算SaaS的Application(应用)层级之上,又加了一层——function(函数)。它的颗粒度更细,可以更灵活地满足用户的算力需求。
image.png
按照CNCF对Serverless 的定义,Serverless架构是采用FaaS(函数即服务)和BaaS(后端服务)服务来解决问题的一种设计。FaaS就是Function as a service(函数即服务)。每一个函数都是一个服务,函数可以由任何语言编写,直接托管在云平台,以服务形式运行,通过事件触发。BaaS则是Backend as a service(后端即服务)。云平台提供的后端组件整合,开发者无需开发和维护后端服务,通过API/SDK的调用,便可获得例如数据存储、消息推送、账号管理等能力。

       Serverless = FaaS + BaaS

Serverless的背后,依然是虚拟机和容器。只不过,服务器部署、runtime安装、编译等工作,都由Serverless计算平台负责完成了。对开发人员来说,只需要维护源代码和Serverless执行环境的相关配置即可。这就叫“无服务器计算”。

Serverless架构的最大优势,显然就是帮助用户彻底摆脱了基础设施管理这样的“杂事”,更加专注于业务开发,从而提升了效率,降低了开发和运营成本。

根据业界的统计,在商业和企业数据中心里的典型服务器,日常仅仅只提供了5%~15%的平均最大处理能力的输出。这是一种算力资源的巨大浪费。

2017年,Serverless开始在国内落地。这一年,阿里云和腾讯云先后推出了自己的 Serverless平台。阿里云的Serverless平台,被直接命名为函数计算(FC,Function Compute)。

一年后的2018年,阿里云推出Serverless容器服务ASK和Serverless应用引擎SAE。

Serverless的出现,可以让用户按照实际算力使用量进行付费,属于真正的“精确计费”。换言之,用户的每一分钱,都花在了刀刃上。
目前,阿里云已经拥有超过20款Serverless产品,包括函数计算FC、Serverless 应用引擎SAE、Serverless容器服务ASK、PolarDB数据库、AnalyticDB数仓等。其中函数计算日调用次数超过200亿次,整体规模位居国内首位。

Serverless并不是没有服务器的计算,而是将算力环境和资源进行了“隐藏”,让用户不可见,无需操心。事实上,Serverless不仅需要算力资源,而且对算力资源的要求比以往更高。


wyk1184
77 声望8 粉丝