Azure Functions是Microsoft的云计算平台上提供的一项服务。它被分配给“功能即服务”服务模型,并且可以执行单个功能或相互关联的功能,而不必担心基础IT基础架构。
Azure Functions是Microsoft的云服务的名称。它是在Microsoft的云计算平台Azure上提供的,可以分配给“功能即服务(FaaS)”服务模型。功能即服务位于后端即服务(BaaS)和软件即服务(SaaS)之间,是所谓的无服务器计算的一部分。
Azure Functions的主要目标是通过消除程序员担心底层IT基础结构的需要,来加速和简化应用程序的开发和部署。可以认为业务逻辑之下的所有内容都是理所当然的,并由Microsoft通过云提供并根据需要进行扩展。
各个功能是受事件控制的代码元素。它们通过事件提供某些结果或触发其他功能。这些功能可以组合并相互链接。基于微服务的应用程序是从全部功能及其连接创建的。
Azure Functions的其他典型应用程序领域是处理大量数据或数据收集以及来自物联网(IoT)的事件处理。Azure功能可以与其他Azure服务(例如Azure Cosmos DB,Azure移动应用程序或Azure Service Bus)结合使用。他们与来自著名云提供商的其他FaaS产品竞争,例如Google Cloud Functions,IBM Cloud Functions,Oracle Cloud Fn或Webbtask.io和Hook.io。
无服务器计算和功能即服务(FaaS)的基础
为了更好地了解Azure功能,首先要了解有关无服务器计算和功能即服务(FaaS)服务模型的一些基本信息。可以在云计算中在服务模型后端即服务(BaaS)和软件即服务(SaaS)之间对功能即服务进行分类。它是所谓的无服务器计算概念的一部分。其背后的基本思想是使应用程序的开发和提供与底层基础结构脱钩。程序员仅需定义其功能并将其相互链接,而不必担心服务器,网络,存储,操作系统,运行时环境,虚拟机或其他IT体系结构组件。
功能或程序逻辑下面的所有内容都可以假定为存在。云提供商负责基础架构的提供和操作。程序员创建功能代码,将其上传到云中,并定义触发功能执行的条件或事件。提供程序使资源可用于执行代码,并在执行后再次释放它们。FaaS的服务通常根据功能的执行时间向客户收费。这些函数本身是独立的,并且是无状态的。如果要保留持久状态和数据,则必须集成外部数据库管理系统或文件系统。
Azure函数的主要特征
Azure Functions的主要功能是可以使用云中提供的功能来实现无服务器应用程序。可用于功能的编程语言是Java和Javascript,Python,Powershell或C#等。Azure函数的其他特征是:
基于使用量的定价模型
事件控制的功能触发,
通过OAuth提供程序的身份验证来保护HTTP事件触发的功能,
可以与Azure平台的其他服务和SaaS产品结合使用,
功能运行时可在GitHub上免费使用,
使用持久函数映射状态依赖项。
Azure功能的成本
您可以根据自己的需求选择三种不同的Microsoft Azure功能收费标准。
这三个是:
1.基于使用情况的使用计划: Azure平台提供所有必需的资源并负责资源管理。资源会根据功能需求动态添加或删除。客户根据其代码的执行时间付款。
2.应用程序服务计划:功能被视为网络应用程序。可以通过现有的应用程序服务免费执行功能。与消费计划相比,可以更好地预先估算成本。
3.高级计划:在高级计划中,预先定义了用于执行功能的可直接寻址实例的数量。Azure提供了用于执行功能的所有其他资源。服务根据提供的实例计费。
Azure功能的功能概念和组件
与常规应用程序相比,使用Azure函数和无服务器计算,创建的应用程序部分不再通过函数调用链接,而是通过事件链接。功能的执行可以由各种事件触发。可能的事件是例如传入的HTTP请求,Azure Blob容器或Azure队列中的更改或来自服务总线的消息。通过HTTP,也可以通过其他SaaS产品的任何事件来触发触发。
Azure Functions支持多种语言,例如Python,C#,Java,Javascript,PHP等用于编程功能的语言。可以通过开源数据包管理器NuGet和Javascript的Node Package Manager集成许多库。Azure Functions使用Azure存储来管理触发器和执行日志功能。这需要一个Azure存储帐户,该帐户必须支持Azure Blob,队列和表的存储服务。
Azure函数的一个特殊功能是持久函数和持久实体。Azure Functions提供具有持久功能和持久实体的状态服务。与正常功能相反,持久功能的运行时间长达数分钟,数小时,数天或更长时间。即使从内存中删除了功能代码,也将保留持久功能的状态。
使用Azure功能的优势
Azure函数和无服务器计算具有许多优点,例如:
快速轻松地开发和部署应用程序,
通过事件控制的功能链接可以映射业务逻辑,
开发人员不必担心基础IT基础架构,
服务计费是基于使用情况的,
Azure云平台会根据功能的资源要求自动扩展,
函数运行时是开源的,可以在GitHub上免费使用;它是便携式的,可以在任何地方运行,
可以使用不同的编程语言
简单的编程模型
可以与许多其他Azure服务和产品一起使用,
广泛的托管选项,
具有调试,监视和DevOps功能的强大开发环境,
提供不同的定价模式。