微软宣布 Azure Functions 正式支持 Java

微软 宣布 Azure Functions V2.0 支持 Java。开发人员现在可以用 Java 8 编写 Function,并利用 Visual Studio Code、IntelliJ、Eclipse 和跨平台 Functions Core Tools 提供的 Maven 开发体验。

早在 2017 年 10 月,微软在将 Azure Functions 移植到.NET Core 2.0 时就开始要支持 Java。随着几个月前 Azure Function 2.0 GA 版本的发布,微软通过使用新的语言 worker 和过程(提供更好的性能和版本支持)改进了对 Java 和其他非.NET 语言的支持。微软的 Azure Functions 团队还为开发人员提供了更舒适的开发体验和更健壮的平台支持。

微软 Azure Functions 团队的项目经理 Asavari Tayal 在一篇关于 Azure Functions 支持 Java 的博文中写道:

这个版本现在可以支持生产环境中的 Java 工作负载了,并由 Consumption Plan 和 App Service Plan 提供 99.95% 的 SLA 支持。开发者现在可以基于 Java SE 8 LTS 和 Functions 2.0 运行时构建 Function,同时还可以使用自己选择的平台(Windows、Mac 或 Linux)和工具,从而可以在 Azure 提供的全球 50 多个可用地区构建和运行 Java 应用程序。

开发人员可以使用 Azure Functions Maven 插件 来创建、构建和部署 Java Functions。开源的 Functions 2.0 运行时允许开发人员在任何平台上运行和调试 Function,并可以利用与 Azure 管道的集成或设置 Jenkins 管道来构建 Java 项目,并将其部署到 Azure。

来源: https://azure.microsoft.com/en-us/blog/announcing-the-general-availability-of-java-support-in-azure-functions/

在部署完毕后,就可以通过 HTTP 请求调用 Java Functions,或者将其调度为事件。此外,无需开发人员调用底层的 Java SDK 就可以将数据写回调用源。

在 Azure 中构建 Java Functions 时,开发人员还可以利用 Azure Application Insights 来持久化遥测、查询和分布式跟踪。此外,开发人员可以使用 App Service Authentication / Authorization 等特性来限制对包含 Java Function 的应用程序的访问,并使用托管身份和 Azure Key Vault 来保护秘钥。更多有关在 Azure 上构建 Java Functions 的细节可以在网站上找到。

最后,微软并不是唯一一个在其无服务器计算服务中支持 Java 的公共云提供商。例如,AWS Lambda 就支持包括 Java 在内的各种语言,IBM 提供了一个无服务器平台 OpenWhisk,它也支持 Java。

查看英文原文: https://www.infoq.com/news/2019/03/azure-functions-java-support-ga