Serverless架构是采用FaaS(函数即服务)和BaaS(后端服务)服务来解决问题的一种设计。
到底什么是Serverless?无服务器
硬件+虚拟机+操作系统+数据库+中间件/运行库+应用+函数 全包,用户只交集在业务代码上,
更加减少发布运维的工作
laaS-->PaaS-->SaaS-->Faas
FaaS就是Function as a service(函数即服务)。每一个函数都是一个服务,函数可以由任何语言编写,直接托管在云平台,以服务形式运行,通过事件触发。
BaaS则是Backend as a service(后端即服务)。云平台提供的后端组件整合,开发者无需开发和维护后端服务,通过API/SDK的调用,便可获得例如数据存储、消息推送、账号管理等能力。
Serverless = FaaS + BaaS
Serverless的背后,依然是虚拟机和容器。只不过,服务器部署、runtime安装、编译等工作,都由Serverless计算平台负责完成了。对开发人员来说,只需要维护源代码和Serverless执行环境的相关配置即可。这就叫“无服务器计算”。
Serverless架构的最大优势,显然就是帮助用户彻底摆脱了基础设施管理这样的“杂事”,更加专注于业务开发,从而提升了效率,降低了开发和运营成本。
根据业界的统计,在商业和企业数据中心里的典型服务器,日常仅仅只提供了5%~15%的平均最大处理能力的输出。这是一种算力资源的巨大浪费。
Serverless的出现,可以让用户按照实际算力使用量进行付费,属于真正的“精确计费”。
换言之,用户的每一分钱,都花在了刀刃上。
- Serverless的发展历程
世界上第一个Serverless平台,是2006年发布的Zimki。这个平台提供服务端JavaScript应用,支持“按照实际调用付费”。不过,当时他们并没有使用Serverless这个名词。
后来,到了2012年,Iron.io的副总裁Ken Form在文章“Why The Future of Software and Apps is Serverless”中,首次提出了Serverless,才宣告这个概念的正式诞生。
2014年11月,亚马逊率先推出了真正意义上的第一款Serverless FaaS服务——Lambda。从此,各大厂商开始跟进。
2017年,Serverless开始在国内落地。这一年,阿里云和腾讯云先后推出了自己的 Serverless平台。阿里云的Serverless平台,被直接命名为函数计算(FC,Function Compute)。
一年后的2018年,阿里云推出Serverless容器服务ASK和Serverless应用引擎SAE。
那一时期,刚好小程序开始火爆。Serverless的灵活架构,非常适合小程序的开发。于是,吸引了大量的开发者们。
到了2019年,国内厂商纷纷入局Serverless。如今,Serverless已经成了各大云厂商的标配,受到整个行业的热捧。
本月初,2022·云栖大会上,阿里云智能总裁张建锋表示,以云为核心的新型计算体系正在形成,软件研发范式正在发生新的变革,Serverless是其中最重要的趋势之一。