什么是无服务器架构Serverless?有哪些优势?

news/2024/5/20 7:51:41 标签: serverless, 架构, 云计算, 容器, 云原生

Serverless架构是云的自然延伸,我们回顾一下云计算IaaS和PaaS的发展,2006年AWS推出EC2(Elastic Compute Cloud),作为第一代IaaS(Infrastructure as a Service),用户可以通过AWS快速的申请到计算资源,并在上面部署自己的互联网服务。IaaS从本质上讲是服务器租赁并提供基础设施外包服务。PaaS(Platform as a Service)是构建在IaaS之上的一种平台服务,提供操作系统安装、监控和服务发现等功能,用户只需要部署自己的应用即可,在PaaS上最广泛使用的技术就要数docker了,因为使用容器可以很清晰的描述应用程序,并保证环境一致性。PaaS是对软件的一个更高的抽象层次,已经接触到应用程序的运行环境本身,可以由开发者自定义,而不必接触更底层的操作系统。

无服务器架构Serverless是服务端逻辑运行在无状态的容器中,由事件触发,被第三方管理,业务层面的状态则被开发者使用的数据库和存储资源所记录。Serverless 是云原生技术发展的高级阶段,使开发者更聚焦在业务逻辑,而减少对基础架构的关注。

Serverless包含了两个领域后端即服务BaaS(Backend as a Service)和函数即服务FaaS(Function as a Service)。BaaS(Backend as a Service),是一个个的API调用后端或别人已经实现好的程序逻辑,FaaS(Functions as a Service),FaaS是无服务器计算的其中一种形式,其中AWS的Lambada使用最多。

如下图是对云计算的分层概括, serverless 就是构建在虚拟机和容器之上的那一层,与应用本身的关系密切:

Serverless 应用优点和应用场景:

1.异步并发,组件独立部署和扩展;

2.应对突发或服务使用量不可预测,可节约成本, Serverless 应用在不运行时不收费;

3.短暂、无状态的应用,对冷启动时间不敏感;

4.无需提前申请资源,可以快速开发迭代的业务;

Serverless 主要应用在ETL、机器学习及 AI 模型处理、图片处理、IoT 传感器数据分析、聊天机器人等场景。

Serverless架构的优点

Serverless架构,如下图:

 在serverless架构中,服务器端代码中不需要存储任何会话状态,直接存储在NoSQL中,应用程序无状态,弹性扩展,前端可以直接利用BaaS而减少后端的编码需求,这样架构的本质上是减少了应用程序开发的人力成本,降低了自己维护基础设施的风险,而且利用云的能力更便于扩展和快速迭代。

Serverless架构的优点主要有:

1.降低成本,资源灵活使用

降低运营和开发成本,Serverless是非常简单的外包解决方案,Serverless作为服务的结果是整个应用程序组件被商品化,产生规模经济效应,降低成本。降低人力成本和运维成本;减少资源开销成本,在申请主机资源一般会评估最大峰值,可能导估值不准确,造成资源浪费,Serverless不计划资源,根据实际需要来请求资源,当根据使用时间来付费,计费的粒度更小,将更有利于降低资源的开销。

2.扩展能力强,管理简单

Serverless架构一个明显的优点即“横向扩展是完全自动的、有弹性的、且由服务提供者所管理”。从基本的基础设施方面受益最大的好处是,您只需支付您所需要的计算能力。Serverless架构组件更少,架构更简单,管理起来更加简单;

3.降低风险

组件越多越复杂的系统,出故障的风险就越大。使用BaaS或FaaS将它们外包出去,让专业人员来处理这些故障,利用专业人员来降低停机的风险,缩短故障修复的时间,使得系统稳定性更高。

4.增加缩放的灵活性

平台接收到第一个触发函数的事件时,它将启动一个容器来运行你的代码。如果此时收到了新的事件,而第一个容器仍在处理上一个事件,平台将启动第二个代码实例来处理第二个事件。自动的零管理水平缩放,将持续到有足够的代码实例来处理所有的工作负载,默认执行函数最大并发数,避免产生高额的成本。

5.缩短创新周期

以docker为代表的容器技术仅仅是缩短了应用程序的迭代周期,而serverless技术是直接缩短了创新周期,从概念到最小可行性部署的时间,让初级开发人员也能在很短的时间内完成以前通常要经验丰富的工程师才能完成的项目。

许多主流的云服务商不断完善优化产品,未来Serverless 将无处不在,和容器生态将更加紧密融合,Serverless 的计算密度将会持续提高,实现最佳的性能和价格比。未来,serverless架构依然是将处于高速发展状态并产生巨大的影响力。


http://www.niftyadmin.cn/n/151244.html

相关文章

(五)SpringBoot-常用功能

一、web mvc开发的基础知识 1、spring-boot-starter-web介绍 spring boot崇尚的就是尽可能减少手动配置,尽量基于约定规则来完成所有的配置,同时尽量基于注解来完成配置。 只要在依赖中引入spring-boot-starter-web,其实spring boot就会基于…

(一)软件开发流程与图

目录 软件开发流程 软件工程与图 业务架构设计 软件开发流程 业务调研:产品经理搞明白需求是什么需求分析:去分析产品经理给的需求文档,梳理出系统要干嘛概要设计:作为架构师,我们自己去设计全局性的技术架构、系统…

【物联网服务NodeJs-5天学习】第三天实战篇③ ——基于MQTT的环境温度检测

【NodeJs-5天学习】第三天实战篇③ ——基于MQTT的环境温度检测1. 前言2.实现思路2.1 NodeJs服务器代码2.2.1 本地部署MQTT服务器,端口18832.2.1.1 用户校验2.2.1.2 主题消息处理2.2.2 本地部署Express服务器,端口82662.2.2.1 api路由中间件2.2.2.2 静态…

STL sort 分析

前言 STL 中提供了很多算法,sort 是我们经常使用的,那它究竟是如何实现的呢? STL 的 sort 算法,数据量大时采用快速排序,分段递归。一旦分段的数据量小于某个门槛,为避免快速排序的递归调用带来过大的额外…

[闪存 2.1] 闪存芯片物理结构与_SLC/MLC/TLC/QLC

固态硬盘(Solid State Drives),简称SSD。它是一种电脑存储设备,由闪存(FLASH)、 闪存控制器、高速缓存(DRAM)组成。这是是固态硬盘的三个基本部件,对性能有关键影响。 闪存芯片简介闪存颗粒是固态

今天是国际数学日,既是爱因斯坦的生日又是霍金的忌日

目录 一、库函数计算 π 二、近似值计算 π 三、无穷级数计算 π 四、割圆术计算 π 五、蒙特卡罗法计算 π 六、计算800位精确值 从2020年开始,每年的3月14日又被定​为国际数学日​,是2019年11月26日​联合国教科文组织​第四十届大会上正式宣布…

“刚毕业,年薪40万,只因选对了方向”

“腾讯2022校招-应届毕业生年薪 40 万”刷屏了… 尽管互联网大厂的薪资高不算什么新鲜事儿,但这个热搜仍然让我大受震撼。 腾讯校招官网显示,2022届腾讯校招开放技术、产品、设计等岗位共计 78 个,且以IT岗为主。 另据各大招聘平台统计数据…

值得重点推荐的BI软件有哪些?全在这里了

在数字化程度越来越高的趋势下,发挥着推动企业数字化转型重要作用的商业智能BI也在不断提升市场份额,也催生出不少的BI软件新星。那么,BI软件有哪些?哪些BI软件更普遍适用于不同行业?针对这些问题,我们做了…