> 文档中心 > 【云原生系列第三章】---Serverless架构中常见名词解析

【云原生系列第三章】---Serverless架构中常见名词解析

目录

一、组成部分

1、FaaS是指函数即服务

2、BaaS是后端即服务

3、以一个网站为例

二、工具层面

1、Serverless、Serverless Framework

2、Serverless Devs

三、特性层面

1、在上一章节我们已经了弹性伸缩、按量付费进行了理解,在此次不过多重复。

2、在Serverless架构中还有另一名词叫事件触发

四、挑战层面


当我们学习一个新的技术或者说是新的框架的时候,通常都会接触一些名词,例如说标准输入、标准输出、MVC等等,那么在Serverless架构中,又有哪些有趣的名词呢?我们一起来看看吧~

首先我们要明确的一点是Serverless架构是一个技术架构,它不属于任何一个公司、厂商、个人,它是全人类的他是云计算前进的产物,在我的理解中,Serverless架构名词主要可以以下几个部分:

一、组成部分

1、FaaS是指函数即服务

可以理解成是计算平台、例如阿里云的函数计算、AWS的Lambda、华为云的函数工作流以及腾讯云的云函数等;

2、BaaS是后端即服务

也可以认为是配套计算服务的基础设施,例如对象存储、数据库硬盘挂载服务、API网关等;

3、以一个网站为例

通常情况下都是由用户发起请求,然后通过API网关一事件的形式出发函数,此时函数会去对象存储里面或者数据库里面,去一些数据或文件来进行加工处理,处理之后呢再返回给客户端,这里的FaaS负责处理业务逻辑,其余的BaaS则负责做好基础设施的保障。

二、工具层面

1、Serverless、Serverless Framework

工具层面则有一个非常有趣的现象,那就是Serverless领域中有一个开发者工具,也叫做serverless,或者说它的全名叫做Serverless Framework,它是一家美国的公司,这有一个什么感觉呢,在中国的电信领域有一家公司叫中国电信,在中国移动通信领域有一家公司叫中国移动,所以可以认为Serverless架构是一种新的技术架构,而北美某公司出品的Serverless Framework实际上是Serverless架构的开发者工具,所以对于新人来说Serverless很容易混淆它是领域还是开发工具

2、Serverless Devs

国内也有一款工具,叫做Serverless Devs,和Serverless一样定位在无厂商锁定层面,相对比前者而言,Serverless Devs更希望可以在Serverless应用的全生命周期发挥作用,助力开发者可以更简单、更快速、更方便的来使用各个云厂商的Serverless产品来提升整个Serverless应用的开发效能降低开发周期。

三、特性层面

1、在上一章节我们已经了弹性伸缩、按量付费进行了理解,在此次不过多重复。

2、在Serverless架构中还有另一名词叫事件触发

实际上说Serverless架构是通过事件来进行触发的,那么什么是事件?

API网关是一个事件源,当用户发起请求到了API网关,API网关会产生一个特定的数据结构,在这个数据结构中可能会包括路径、参数、请求方法、请求头等相关信息,这个数据结构可以认为是一个事件,API网关把这个事件给FaaS平台,FaaS平台此时启动对应的函数,并将这个事件作为一个参数传递给该函数,所以这里可以认为,函数是通过API网关的事件来进行触发的,API网关是一个触发器同样是一个事件源。

那么除了API网关之外还有其他的触发器或者事件源么,答案是有,每一个厂商也都是不一样的,例如阿里云还有CDN触发器、对象存储触发器、数据库触发器、消息队列触发器等等。

四、挑战层面

在Serverless架构中还有一个名词叫冷启动,那么什么是冷启动呢?我们单独在下一个章节进行说明。