在 JavaOne 大会上,微软宣布 Azure Functions(让用户可以在云上运行小段的代码)支持 Java。这增加了 Azure Functions 所支持的语言的数量,在较大的云提供商中,微软成为第二个支持无服务器 Java 的。
在 Ignite 大会上,微软宣布将 Azure Functions移植到了.NET Core 2.0,实现了.NET 跨平台可用性,提供了支持其他编程语言的运行时。Java 支持现在尚处于公开预览阶段,这也是使用Azure Functions 的开发人员长期以来最希望增加的特性之一。
微软还发布了一个用于Maven 构建自动化的新插件,让开发人员可以从当前基于Maven 的项目里创建、构建及部署Azure Functions。
大约一年之前,微软发布了Azure Functions 这个运行事件驱动应用程序的无服务器计算特性。开发人员可以使用C#、F#、JavaScript(Node.js)、PowerShell、PHP、Python 和 Bash 等编程语言及脚本语言编写Azure Functions,也可以上传可执行的CMD 或BAT 文件作为一个函数运行。Functions 可以集成其他的Azure 服务,如Cosmos DB、服务总线、存储,也可以集成第三方服务,如GitHub。Azure 服务可以触发一个函数执行一段逻辑,或者通过可配置的绑定作为输入和输出。微软还提供了一套任务模板,如用于Azure Event Nubs 接收新事件、运行特定的调度以及处理服务总线消息。
Azure Functions 支持通过标准的 OAuth 提供商进行身份验证,包括 Azure 活动目录、微软账户、Facebook、Google 及 Twitter。Java 将共享同样的特性,Azure 应用服务项目管理合伙人总监 Nir Mashkowski 在微软开发者博客中是这样描述的:
新的 Java 运行时将共享 Azure Functions 提供的所有差异化特性,如各种触发选项、数据绑定、自动扩展的无服务器执行模型以及按执行次数计费。
对于 Java 支持,开发人员不需要使用新工具。他们可以借助 IDE 及类似 Eclipse、 IntelliJ 和 VS Code 这样的编辑器,使用自己的机器在本地构建和调试 Azure Functions。
图片来源: https://azure.microsoft.com/en-us/blog/announcing-the-preview-of-java-support-for-azure-functions/
比较大的云提供商都在投资无服务器平台,进一步促进其他服务的使用。这些其他服务(包括数据库和存储)的事件会触发无服务器计算实例运行,不管是 Azure Functions、AWS Lambda、Google Cloud,还是新的 Oracle Fn 平台。
平台之间从部署到计费都不一样。例如,Azure Functions 提供了人工或计量扩展(应用服务计划)或亚秒级的自动扩展(消费计划),而 AWS Lambda 和 Google Cloud 仅提供自动扩展。语言支持方面的差别也很显著,Azure Functions 和 Oracle Fn 支持的语言更多,而 Google Cloud 仅支持 JavaScript,AWS Lambda 仅支持 C#、 JavaScript、Java 和 Python。此外,Java 在 RedMonk 和 Stack Overflow 上都位居排名最高的语言之列,因此,对于大多数的无服务器平台而言,支持 Java 很有价值。
近日,Pund-IT 首席分析师 Charles King 这样评价了微软和 Oracle 的 Java 支持:
微软新增的 Azure Functions Java 支持和 Oracle 最近的 JavaOne/OpenWorld 大会都发映出围绕 Java 的不断创新以及 Java 社区的活力。
查看英文原文: Azure Functions Now Support Java
评论