中国IDC圈4月18日报道,在4月份举行的 Build大会 上,微软宣布了 Azure Functions 预览版,这是一个根据需求运行代码的服务。Azure Functions意味着微软已经进入日益流行的、由Amazon、 Google、IBM等主导的事件驱动无服务器计算领域。

Azure Functions让开发人员可以发布基于外部触发执行的代码,而不用考虑准备计算或存储资源。这些函数——使用C#、JavaScript、Bash、F#、PHP、PowerShell或PHP编写——通常表现为短期异步任务。在 一篇有关预览版发布的博文 中,微软将“数据处理”作为发布这类服务的一个重要原因。

数据无所不在。它在云端,在本地,并越来越多地扩展到联网设备。组织正在努力发现那些数据的价值,要求他们的开发人员以高可扩展的解决方案作为回应,而方案的构建时间表被空前地压缩。这些方案通常需要开发人员实现按需或定时的批处理任务,以协调事务、获取和处理数据,或者实时响应事件。

开发人员可以以多种方式触发Azure Functions,包括HTTP调用、修改Azure队列或Blob存储以及通过cron调度。微软指出,支持HTTP让Azure Functions成为软件即服务应用发送的“网勾(webhook)”消息的理想接收者。

微软为Azure Functions提供了 两种托管选项 :传统的“ 应用服务(App Service)”方案或新推出的“动态服务(Dynamic Service)”方案。这个选择会影响到扩展性和成本。在应用服务方案中,Azure Function运行在专用的虚拟机上,Function可能会同其他运行在用户账户下的应用共享服务器。如果选择了动态服务方案,那么Azure Function会跨多个应用实例并行运行,而且这些实例可以根据使用情况 自动缩放 。在这个方案中,用户只需为实例的执行时间付费,而应用服务方案的用户需要为托管的虚拟机付费,不管使用情况如何。

开发人员可以从起始模板或者从头开始创建这些单一用途的函数。微软提供了一个基于Web的开发环境,并且还提供了Git端点,允许开发人员使用GitHub、Bitbucket、Visual Studio Team Services、 Dropbox等进行本地开发及持续集成。这个基于Web的IDE提供了特定于语言的语法格式化、代码补全提示以及一些基本的测试工具。在函数的应用设置中,用户可以指定Azure Functions可以使用的内存量(最大1536MB),是否应用用户身份验证以及如何暴露服务元数据。

基于像 应用服务 和 WebJobs 这样的已有Azure服务,微软 用90天 构建出了Azure Functions。按照微软的说法,简洁是关键。他们引入了一个名为“绑定(bindings)”的特性, 实现了Azure Function代码同数据源或目的地的分离 。

借助Functions绑定,开发人员可以通过他们的Function很轻松地同其他数据源和服务进行交互,而不必考虑数据如何流入及流出一个Function。绑定让类似向队列添加一条消息或者获取一个Blob的任务同向Function输出变量传递一个JSON或者从Function输入变量读取一个Blob一样简单。使用这项功能,开发人员需要对他们与之交互的底层服务有一点了解,以便后续可以简单地切换到一个不同的服务。

微软并不是第一个引入无服务器计算模型的。虽然该服务听上去与传统的平台即服务(PaaS)产品有点类似,但微软声称,Azure Functions通过提供基于执行的计费和基于需要的实例缩放扩展了PaaS的概念。Azure Functions更像 AWS Lambda 、Google Cloud Functions 、 IBM Bluemix OpenWhisk 、 Auth0 WebTask 这样的产品。

Azure Functions在许多方面都不同于AWS Lambda,包括一个开源的运行时、更广泛的语言支持及没有执行时间限制。技术专家兼AWS Lambda用户Tom Maiaroto在 一篇博文 中比较了这两个服务,他认为,“Azure Functions的底层结构与Lambda有很大的不同”。

一个“应用服务”是一个容器或环境,可以运行一组Azure云函数。这与Lambda有很大的不同。实际上,这两个服务是截然不同的。

Lambdas是单独组织的,而ACF在逻辑上分组成“应用程序”。

...

Azure更像是[EC2 Container Service]Tasks和Lambda的混合。例如,你可以在应用服务上设置环境变量,然后在ACF中使用。AWS Lambda无法持久化环境变量,但ECS Tasks可以。

整个的容器架构不同。Lambdas会根据一个“冷请求(cold request)”准备一个全新的容器,并(从zip文件)部署代码。后续请求可以受益于容器重用,处理速度更快。不过,你需要了解的是,它没有提供持久化,而且,使用Node.js Lambdas时需要注意变量作用域,因为容器会被重用。

不过,ACF受冷/暖请求的影响较小。Azure仍会按需准备资源,但文件不会“冻结”到存储在某个地方的zip文件中。它们在Azure的WebJobs上运行。

...

如果启用,那么每个函数都会自动映射到一个HTTP端点。然而,使用Lambda,你必须分别配置API网关。API网关很好,但非常复杂耗时。此外,某些无服务器框架通过自动为Lambdas设置API来缓解这个痛点。微软在UX方面得分了,因为你需要配置的东西少很多。

Azure Functions 在预览期间是免费的 ,但之后微软会根据计算利用率和每百万请求收费。 UX已经在GitHub上开源 , WebJobs SDK 也是。接下来,微软表示,他们将致力于支持更多的语言、 本地开发选项 及 集成其他微软服务 ,如Azure服务总线。

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排 行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2019-07-31 13:38:58
国际资讯 微软加大可再生能源投资 亚利桑那州新数据中心将主要使用太阳能
为了减少数据中心的碳足迹,微软正在加大对太阳能的投资。2023 年的时候,其数据中心有望使用 70% 的可再生能源。亚利桑那数据中心的可持续发展项目,一直受到很多人的关注 <详情>
2019-07-30 13:24:35
云技术 云计算之三国风「云」
云一直是微软、亚马逊、谷歌三位巨头争夺的主战场。在华尔街看来,该业务似乎将事关公司未来发展。 <详情>
2019-07-30 09:13:10
云资讯 微软收购BlueTalon 增强云计算数据类服务
据国外媒体报道,日前,微软公司宣布收购数据相关专业公司BlueTalon。 <详情>
2019-07-29 19:48:40
云技术 全球公有云市场近五年趋向集中,微软、谷歌落败亚马逊
近日,亚马逊AWS、微软Azure和谷歌云为首的三大云服务商发布了最新财报。 <详情>
2019-07-28 17:40:01
云技术 被微软视为最大对手的企业不多,但在中国就有这么一家企业!
上云,可能是这几年各大企业的一种趋势,因为和传统的服务器、数据库组网模式相比,云计算效率高,成本低,而部署快,更便于维护,所以是受到了各企业,尤其是新兴企业的欢 <详情>