Categories
程式開發

Azure Functions 3.0正式投入生產,支持.NET Core 3.1和Node 12


在最近的一篇博文中,微軟宣布Azure Functions 3.0上線版本現已投入生產。該版本的新功能包括對.NET Core 3.1Node 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