无服务器架构(Serverless)是什么

小编 384

无服务器架构(Serverless)是云原生的核心概念之一,也是云原生架构的核心组成部分,它是指在无需管理服务器等底层资源的情况下完成应用的开发和运行。一个完整的无服务器架构,一般由FaaS层的云函数负责无状态的计算,BaaS层组件负责状态的维护。

1.无服务器架构(Serverless)的概念

无服务器架构(Serverless)是在无需管理服务器等底层资源的情况下完成应用的开发和运行。它真正的含义是开发者再也不用过多考虑服务器的问题,但是并不代表完全去除服务器,而是依靠第三方资源服务器后端,比如使用 Amazon Web Services(AWS) Lambda.计算服务来执行代码。

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

2.无服务器架构(Serverless)的组成

一个完整的无服务器架构由BaaS和FaaS组成,其中BaaS层组件负责状态的维护,FaaS层的云函数负责无状态的计算。

FaaS(函数即服务,Function as a Service),它将函数代码托管给云产商,以服务形式运行,支持事件触发。代表产品有腾讯云SCF、AWS Lambda等。

BaaS(后端即服务,Backend as a Service)则是指云平台提供的后端组件整合,开发者无需开发和维护后端服务,通过API/SDK的调用便可获得例如数据存储(对象存储、云数据库、云中间件等)、消息推送、账号管理、地图定位、AI、IoT等能力。

延伸阅读

无服务器架构有哪些特点

1.按需加载

在无服务器计算架构下,应用的加载和卸载由无服务器计算云计算平台控制。应用不是一直都在线的,仅在有请求到达或者有事件发生时才会被部署和启动。

2.事件驱动

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

3.依赖服务化

无服务器计算架构下,所有应用依赖的服务都是一个个后台服务,用户可以通过 BaaS 服务方便地获取应用,而无须关心底层细节。

4.自动扩缩容

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

5.运行成本更低

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

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部