无服务器架构Serverless的特点与优势

无服务器架构Serverless让开发者专注于代码的开发和运行,不需要管理任何基础设施,从而摆脱后端应用程序所需的服务器设备的设置和管理工作。目前大多数后端基础结构的维护均有云计算厂商提供,以服务的方式为开发者提供所需功如数据库、消息以及身份验证等。简单地说,Serverless 平台自动化了整个过程中的建立、部署和按需启动服务,简化的开发者的工作。

Serverless 平台的软件架构如下图所示,Serverless 的功能调用分为两类由客户请求所触发的功能请求和后台事件所触发的功能调用。这样的 Serverless 系统可以使用一个容器集群管理器来实现,它具有一个动态的能按需弹性伸缩容器数量的路由器。当然,这也需要考虑到路由器的伸缩性、容器的创建时间、语言的支持、协议的支持、函数的接口、函数的初始化时间、配置参数的传递以及提供证明文件等方面。

Serverless 平台的软件架构

无服务器架构ServerlessServerless 的特点:

(1)运行成本更低

目前主流的公有云计费模式都采用包月计费模式,比如你在亚马逊公有云上申请一台虚拟机后,不管有没有用户访问你的应用,也不管你有没有部署应用,你都要付相同的钱。而对基于 Amazon Lambda 开发的 Serverless 应用来说,你只需要根据实际使用的资源量(FaaS 执行次数 ×FaaS 函数的运行时间 × 计算资源模板费用)进行付费,也即用多少付多少,不用不收费

(2)自动扩缩容

用户无需关注 FaaS 函数的水平扩展,Serverless 平台会自动根据调用量扩展运行代码所需要的容器,轻松做到高并发调用。函数即应用,各 FaaS 函数可以独立地进行扩缩容,粒度小扩容快。

(3)事件驱动

FaaS函数是短暂且临时的,用完就销毁,FaaS函数在接收请求时产生资源消耗,不使用就没有消耗,用完资源后就会马上释放。

(4)No0ps

计算资源服务化,用户通过 API 使用计算资源,以用户算法代码为核心,不关注基础设施的部署,Serverless 是把 Ops 外包给第三方平台,让 Dev专注于业务逻辑的实现而不用操心 Ops 相关的工作。

无服务器架构ServerlessServerless的分类:

Serverless 下包含的两个概念 函数即服务FaaS、后端即服务Baas.

函数即服务FaaS∶FaaS函数让用户无需关注基础设施服务器,让客户专注于编写和上传核心业务代码,交由平台完成部署、调度、流量分发、弹性伸缩等能力。

后端即服务BaaS∶是可以直接向云厂商购买的云产品和云服务,实现了开箱即用,无需考虑部署、升级、优化等问题。

无服务器架构Serverless设计的优势:

(1)低运营成本

在传统应用系统的部署实施中,必须按业务峰值需求来构建业务系统,但在大部分时间里该业务系统是空闲的,这就导致了严重的资源浪费和成本上升。在 Serverless 架构下,不同用户能够通过共享网络、硬盘、CPU 资源,峰谷时按需自动缩容,按调用次数收费,不调用不收费,有效节约企业成本支出。

(2)简化设备运维

在 Serverless 架构中,开发人员面对的将是自定义或者第三方开发的 API 和 URL,云厂商部署好底层基础设施与运维设施,让开发人员专注于核心代码和应用的开发。

(3)提升可维护性

目前,一些公有云服务中提供了大量的服务,如登录、鉴权服务,云数据库服务等第三方服务,它们在安全性、可用性、性能方面都进行了大量优化,在 Serverless 架构下,第三方公司集成了各类服务,运维服务的有效性得到很大的提升,降低成本。

(4)开发速度更快

由于开发人员仅需专注于业务逻辑功能的开发,无需关心应用系统部署、调度、流量分发、弹性伸缩等功能的研发,软件架构和软件功能实现都大大简化,不仅节省开发时间,更可提升开发效率,降低开发难度。

猜你喜欢

转载自blog.csdn.net/qq_31432773/article/details/128688350