无服务技术

 

目录

1.什么是无服务架构

1.1 FaaS

1.2 BaaS

2.目前存在的有哪些无服务架构

3.无服务架构的工作流程


1.什么是无服务架构

无服务技术是FaaS和BaaS的结合

下面对于FaaS和BaaS的解释参考https://zhuanlan.zhihu.com/p/91026752http://www.360doc.com/content/18/0109/09/40769523_720416537.shtml

1.1 FaaS

函数即服务,它们仍然由应用开发者编写服务端逻辑,但不同于传统架构运行并且托管在服务器(物理机虚拟机)上,而是运行在无状态的容器中,这些容器实例通过事件触发而短暂运行(比如仅仅是一次函数调用,运行完毕以后就会销毁),并且通常完全由第三方管理,使用者无需关系这些容器的生命周期以及资源情况。这就是所谓的 “Function as a Service” 或者说 “FaaS”。

使用这一范式的开发者无需考虑服务器细节,只需要负责编写发生某些事件后所需执行的代码。云供应商将负责提供用于运行这些代码的服务器,并在必要时对服务器进行缩放。执行完毕后,承担这些功能的容器会立刻停用,并且执行过程以100毫秒为单位进行度量,用户只需为运行代码过程中所消耗的资源付费。

1.2 BaaS

完全集成第三方云上托管的服务 来完成服务端代码逻辑和管理状态 的应用。这些应用通常被称为 “富客户端” 应用,比如 单页WebAPP,移动App,他们都是通过直接调用庞大的云上生态体系服务来完成开发,像数据库(比如Parse,Firebase),认证服务(比如Auth0, AWS Cognito)等等。这些类型的服务再过去一直被描述为 “(Mobile) Backend as a Service”

2.目前存在的有哪些无服务架构

Amazon 、Google Cloud Functions、MicrosoftAzure Functions、IBM OpenWhisk,以及Iron.io和Webtask等各种开源实现都提供了类似的服务。

3.无服务架构的工作流程

参考:[1]刘畅,毋涛,徐雷.基于无服务器架构的边缘AI计算平台[J].信息通信技术,2018,12(05):45-49.

FaaS这种方式主要是承载用户的计算功能更多是对用户的计算进行托管。

采用此种架构,用户首先要将代码和配置提交到云平台上代码即用户为实现某一个函数功能编写的一份代码或者代码配置则是指本身对于函数运行环境的配置使用的是哪种环境所需的内存超时时间等以及触发函数运行的触发器的配置因为整个FaaS的运行方式是触发式运行触发就需要有一个事件来源事件来源以有很多种

  • 例如当用户上传一张图片或者删除一张图片时就会产生一个事件这个事件会触发云函数的运行
  • 例如和API网关的对接也可以作为事件来源用户的HTTP请求到达网关之后API网关会把该请求作为事件转发给云函数触发云函数的运行云函数拿到请求之后进行处理生成响应给到用户

如图所示Serverless的运行方式是按需运行仅在设定的触发器上有事件产生时才会运行图中左是用户将代码和配置提交到Serverless平台进行保当设定好的事件产生后针对每一个事件都会拉起一个函数实例实现触发式运行。

因为函数本身是托管型的,用户本身无法感知到实例在哪里运行。Serverless平台背后有个大的计算资源池,用户实例触发之后,平台会从资源池中随机选取可运行的位置,把用户的函数实例在对应位置上跑起来。因此,整个调度过程或者事件来临之后的函数运行环境的扩缩容过程,都是由平台进行的。对用户来说,调度的粒度更细了,而且调度也都托管给平台了,用户自身只需考虑功能的实现,而一切和运维相关的问题都可以由平台的提供商来解决。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值