Azure Functions 基础知识

这篇具有很好参考价值的文章主要介绍了Azure Functions 基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

1、什么是Azure Functions

一种无服务器的解决方案

2、什么是无服务器Serverless

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

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

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

3、Azure Functions怎么运行的

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

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

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

官方文档:Azure Functions 中的触发器和绑定 | Microsoft Docs
Azure Functions 基础知识

  • 后端的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个)

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

Azure Functions 基础知识

② 预热实例

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

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

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

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

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

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

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

③ 高级计划的一些优势

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

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

网络: 支持vNet集成

更长运行时间

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

(3) 专用计划

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

应用服务计划 使用场景:

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

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

欢迎关注我的博客,与我一起学习,我将持续分享我的学习过程,我是 热爱学习的小翁同学~文章来源地址https://www.toymoban.com/news/detail-510001.html

到了这里,关于Azure Functions 基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习基础知识

    卷积神经网络中,batch是什么? 在卷积神经网络(Convolutional Neural Network,CNN)中,batch是指每次输入模型的一组样本。通常情况下,训练数据集非常庞大,批量处理可以提高计算效率和并行化能力。 在训练过程中,将训练数据集分为多个批次(batches),每个批次包含一定数

    2024年02月16日
    浏览(53)
  • Javascript 基础知识学习

    参考自:https://www.w3cschool.cn/javascript/ JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。 JavaScript 是一种轻量级的编程语言。 JavaScript 是可插入 HTML 页面的编程代码。 JavaScript 插入 HTML 页面

    2024年02月05日
    浏览(60)
  • 深度学习基础知识整理

    Auto-encoders是一种人工神经网络,用于学习未标记数据的有效编码。它由两个部分组成:编码器和解码器。编码器将输入数据转换为一种更紧凑的表示形式,而解码器则将该表示形式转换回原始数据。这种方法可以用于降维,去噪,特征提取和生成模型。 自编码器的训练过程

    2024年01月17日
    浏览(52)
  • 基础知识学习---排序算法

    1、本栏用来记录社招找工作过程中的内容,包括基础知识学习以及面试问题的记录等,以便于后续个人回顾学习; 暂时只有2023年3月份,第一次社招找工作的过程; 2、个人经历: 研究生期间课题是SLAM在无人机上的应用,有接触SLAM、Linux、ROS、C/C++、DJI OSDK等; 3、参加工作

    2024年02月09日
    浏览(52)
  • linux基础知识学习记录

    计算机组成:计算机主要硬件和软件2部分组成。 计算机软硬件的概念:硬件是可以看得见的物理实体,软件是运行在硬件上不可见的程序。 计算机软硬件的关系:没有硬件,程序就不会存在;没有软件,硬件就是破铜烂铁。 计算机硬件的组成:CPU(中央处理器)、内存、硬盘

    2024年02月07日
    浏览(44)
  • 模电基础知识学习笔记

    文章目录: 一:基本元器件介绍  1.二极管 1.1 普通二极管特性测试  1.2 稳压二极管测试 1.3 整流二极管 1.4 开关二极管 2.电容 3.三极管(电流控制) 3.1 介绍  3.2 类型(PNP、NPN)  3.3 三种工作状态:放大状态、截止状态、饱和状态 4.场效应管(电压控制) 4.1 介绍  4.2 类型(耗尽

    2024年02月15日
    浏览(69)
  • 深度学习torch基础知识

    detach是截断反向传播的梯度流 将某个node变成不需要梯度的Varibale。因此当反向传播经过这个node时,梯度就不会从这个node往前面传播。 拼接:将多个维度参数相同的张量连接成一个张量 torch.nn.DataParallel(module, device_ids=None, output_device=None, dim=0) module即表示你定义的模型,devic

    2024年02月13日
    浏览(48)
  • 【TypeScript】基础知识学习笔记

    TypeScript的特点: JavaScript的超集,满足所有的JS语法 含有面向对象的静态类型 起步安装:1、npm i typescript -g 2、tsc 文件名 一、TS的基本数据类型 基本数据类型:number、boolean、string、undefined、null、symbol、bigint、void 当中的类型有大小写的区分:大写的类型是给对象使用,小写

    2024年02月09日
    浏览(56)
  • (学习笔记)TCP基础知识

    TCP 是 面向连接的、可靠的、基于字节流 的传输层通信协议。 面向连接:一定是[一对一]才能连接,不能像UDP协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的; 可靠的:无论网络链路中出现了怎样的链路变化,TCP都可以保证一个报文一定能够到达接收

    2024年02月16日
    浏览(58)
  • 音频数据处理基本知识学习——降噪滤波基础知识

    滤波是一种信号处理方法,它可以通过消除或减弱信号中的某些频率分量,来实现信号的去噪、去除干扰、增强某些频率成分等目的。常见的滤波方法包括低通滤波、高通滤波、带通滤波等。 降噪是一种信号处理方法,它可以通过消除或减弱信号中的噪声成分,来提高信号的

    2024年02月15日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包