在最近的一篇博文中,微软宣布Azure Functions 3.0上线版本现已投入生产。该版本的新功能包括对.NET Core 3.1和Node 12的支持。此外,由于 Azure Functions 3.0 高度向后兼容,因此,微软声称之前的 Azure Functions 版本应该能够在 3.0 版本运行时中运行,而无需更改代码。
虽然运行时已经为投入生产做好了准备,但是还有一些工具和性能优化即将推出。产品团队解释道:
虽然已经为投入生产做好了准备,并且大多数工具及性能优化即将推出,但是,在我们宣布Functions 3.0为新应用程序的默认版本之前,还有一些工具方面的改进工作要做。我们计划于2020年1月宣布Functions 3.0为新应用程序的默认版本。
微软已经发布了其正在跟踪的工具和性能差距,包括对 Visual Studio、Azure 接口和 Azure CLI 更好的支持。
尽管还有一些工具有待发布,但是,新版本为在 Azure Functions 中使用.NET Core 的开发人员解决了一些问题。在该版本发布之前,Azure Functions 2.0只支持.NET Core 2.2,并且对.NET Core 2.2的支持也已经在2019年12月23日终止。在最近的一篇推文中,微软的 MVP 兼云架构师Rick van den Bosh解释说:
Function V3 GA的最初计划于2020年一季度发布。由于可能在几个月后,将不会有受支持的.NET Core版本来运行Azure Functions,因此,可能会造成一些问题。这样做不仅解决了这个问题,而且,Functions V3将在2020年1月成为默认版本。
尽管.NET Core 2.2 已经不再受到支持,但是,之前的 Azure Functions 版本将继续受到支持,微软解释道:
运行早期Azure Functions版本的用户将继续受到支持,目前,我们不会弃用1.0或2.0版本。运行Azure Functions 1.0或2.0版本的用户也将继续收到针对在Azure中运行的应用程序的安全更新和补丁,这些更新和补丁也将同时转移到Azure Functions运行时和底层.NET运行时。
根据语言运行时的不同,在迁移到 Azure Functions 3.0 的时候,尤其是在 Python 领域中,开发人员可以看到一些以调用开销形式改进的性能。Nuweba 的软件工程师Adir Shemesh解释说:
Python函数会看到Azure Functions 3.0最大程度地减少了调用开销。使用FaaStest的行视图,我们可以看到,在Azure Functions 2.0中,调用开销随着并发调用次数的增长而增加。
总体而言,Shemesh 为 Azure Functions 3.0 感到兴奋并做了如下总结:
确实,Azure Functions 3.0是非常令人兴奋的更新。它允许开发人员使用更新的函数运行时,并且带来了一些性能提升,但是,目前Linux上的.NET函数在调用开销方面似乎有所增加。
在升级到 Azure Functions 3.0 时遇到问题的开发人员,请在 Azure Functions 的 GitHub存储库记录相关问题。
阅读原文:
Azure Functions 3.0 Released to Production, Support for .NET Core 3.1 and Node 12 Included
评论