微軟正式發佈Azure Functions的第二個版本,這是一個事件驅動的、按需計算的Azure平臺服務。與版本1相比,新版本的Azure Functions包含的多項特性使開發人員可以更輕鬆地構建可伸縮的無服務器應用程序。
2016年初,微軟首次推出Azure Functions預覽版,並在2016年11月中旬發佈第一個正式版本。根據公告博文,在第二個版本中,最重要的變化是託管運行時,它現在可跨平臺移植,並且更高效。此外,運行時甚至可以在容器或IoT Edg上運行Azure Functions服務。Azure Functions 2.0還可以在更多環境中運行,比如在本地Mac或Linux機器上運行,開發人員還可以使用Visual Studio、VS Code或VS for Mac等IDE編寫函數。
Eduardo Laureano是Azure Functions的首席PM經理,他在一篇博文中寫道:
藉助Functions 2.0,開發人員可以使用多種語言編寫代碼,比如JavaScript(Node 8和Node 10)、C#和F#(.Net Core 2)和Java 8(預覽支持)。此外,據Laureano介紹,非.NET語言可以利用一種新的語言工作者模型,這可以提高性能。工作者進程提供了更好的版本支持和迭代,並且是未來語言支持的使能者。
圖片來源:https://azure.microsoft.com/en-us/blog/introducing-azure-functions-2-0/
對於Functions的第二個版本,除了核心HTTP和計時器外,所有綁定現在都是擴展。Azure Functions中的綁定將代碼從數據源或目的地解耦,並將它們打包爲擴展,微軟進一步解耦了它們。正如Laureano在博客文章中所述,通過解耦擴展,微軟使得綁定及其依賴項可以獨立於核心運行時進行版本控制。開發人員將對他們的應用程序及其運行方式擁有更多的控制權,特別是在他們的應用程序所依賴的服務不斷演化的情況下。
此外,Functions 2.0還包括如下特性:
- 一個針對Azure SignalR Service的新擴展;
- 擴展Application Insights集成;
- 新增部署中心特性(預覽階段),實現更可管理的源碼控制。
圖片來源:https://azure.microsoft.com/en-us/blog/introducing-azure-functions-2-0/
隨着Functions 2.0的發佈,微軟Function產品團隊進一步增強了服務,並將很快添加更多的託管選項和語言支持。該團隊計劃擴展Azure Functions的開發棧和託管選項,比如無服務器,比如Linux託管——現在註冊,可以使用構建在Linux操作系統之上的Functions使用計劃預覽版。此外,該團隊還在基於Functions 2.0運行時構建對Python 3.6的支持,該功能也是通過內部預覽方式提供。
查看英文原文:Microsoft Announces the General Availability of Azure Functions 2.0