Azure Functions 基础知识

引言:学习Azure Functions需要知道的知识,没有太多官方定义,方便理解

1、什么是Azure Functions

一种无服务器的解决方案

2、什么是无服务器Serverless

无需关注服务器、基础设置, 按需付费 ,弹性伸缩(以应对峰值)的一种服务
是指服务器对开发者、应用者、使用者和交付者来说,更像一个底层的资源,可以忽视它无视它。

适合的一些应用,比如在线教育,比如会遇到一些流行的课程,可能会对整个系统的访问量有所冲击,使用无服务器就可以快速的弹性伸缩扩展,来应对峰值的负载。

比如工业场景下的 缺陷检测,捕捉到某个事件去触发一些检测模型,通过无服务器的技术,快速构造视频缺陷检测平台

3、Azure Functions怎么运行的

(触发器)触发 → 执行 → 释放

4、Azure Functions的绑定(可选 1/*)

以声明的方式将资源连接到函数(输入绑定、输出绑定)

官方文档:Azure Functions 中的触发器和绑定 | Microsoft Docs
在这里插入图片描述

  • 后端的Functions跑的服务器,通常默认是1-1.5 G的这样的一些虚拟机,虚拟机的数量能够根据请求数,自动的维护实例,最大能达到200个实例。
  • 所以它的扩展性是非常强的,而这个扩展不需要用户处理。
  • 同时这个高峰过去之后,实例的个数会自动的再降回去,甚至降到零。降到零之后实际上对于用户来说是不计费的状态。

5、Azure Functions的托管计划(消耗、高级、专用计划)

Azure Functions 的缩放单位为函数应用。横向扩展函数应用时,将分配额外的资源来运行Azure Functions主机的多个实例。相反,计算需求下降时,扩展控制器将删除函数主机实例。

解释:请求多的时候,实例增多,弹性伸缩

计费相关:

定价Azure Functions定价 |Microsoft Docs

其他计费成本

Functions运行依赖于存储账户、Application Insights(可选)

建议配置Appliation Insights,可以监控Function的运行状况

Http请求或其他请求,会有一些带宽的消耗,需要计费

价格计算器

估算函数应用和相关服务的总体成本时:价格计算器

价格计算器 | Microsoft Docs

(1) 消耗计划成本(200实例)

消耗计划每个实例固定1vCore,1.5G内存,最大200个实例

Azure Functions中的消耗计划 | Microsoft Docs

单个函数执行的执行成本以**“GB秒”**来度量。执行成本是通过将其内存用量与执行时间相结合计算得出的。

函数的运行时间越长,其成本越高;同理,函数消耗的内存越多,其成本越高。

假设函数使用的内存量保持恒定。在这种情况下,进行简单的相乘即可计算成本。例如,假设函数运行了3秒,消耗了0.5 GB,那么,执行成本为0.5GB*3s= 1.5 GB-seconds.

消耗计划中的 Azure Functions 限制为单次执行 10 分钟。

(2) 高级计划(100实例)

Azure Functions中的高级计划 | Microsoft Docs

高级计划按照实例计费 每个高级计划在任何时候都至少有一个活动(计费)的实例。

计费:核心数 * vCPU持续时间的单价(vCPU/小时) + 内存 * 内存持续时间的单价(GB/小时)

消除冷启动

当消耗计划中没有发生任何事件或执行任何操作时,你的应用可以缩减到零个实例。 当出现新事件时,必须使运行应用的新实例专用化。 将新实例专用化可能需要一些时间,具体取决于应用。

第一次调用时的这种额外延迟通常称为应用冷启动。

高级计划提供了两个功能,这些功能协同工作以有效地消除函数中的冷启动:“始终就绪实例”和“预热实例”。

① 始终就绪实例

Always Ready Instances始终就绪实例(1-20个)

让应用在指定数量的实例上始终处于就绪状态,就不会有冷启动的发生

在这里插入图片描述

② 预热实例

预热实例是在缩放激活事件期间作为缓冲区预热的实例。

默认的预热实例数为 1,在大多数情况下此值应保留为 1。

举例: 高级函数应用配置了五个始终就绪实例和一个默认的预热实例。

  • 没开始的时候不计费,5个始终就绪在运行

  • 第一个实例开始,五个就绪,一个预热,是6个实例(第六个预热的处于非活动状态的缓冲区)

  • 请求增多↑,要拓展实例了,将会拓展到预热的那个实例。此时,6个活动状态,1个预热缓冲。

  • 不会预热或激活超出最大值的实例。

③ 高级计划的一些优势

纵向扩展应用服务计划 可以增大CPU、内存、硬盘

扩大(应用服务计划) 就是设置始终就绪实例

网络: 支持vNet集成

更长运行时间

运行持续时间默认为 30 分钟。 可以修改 host.json 配置,使高级计划应用的持续时间无限长。 如果设置为一个无限的持续时间,则可以保证函数应用至少运行 60 分钟

(3) 专用计划

专用计划依赖于应用服务计划,应用服务计划是Web App的一种计费方式

应用服务计划 使用场景:

1、具有已运行其他应用服务实例的、未充分利用的现成VM。

(有一些应用服务计划了,但是利用率不高,这个时候可以将Function部署在上面)
2、需要提供用于运行函数的自定义映像。

欢迎关注我的博客,与我一起学习,我将持续分享我的学习过程,我是 热爱学习的小翁同学~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值