在最近的一篇博客文章中,微軟公布了公開預覽版的Azure Functions Proxies。該功能可為使用Azure Function Apps,希望為其提供一個通用的公開端點,而無須考慮各種Function Apps的具體供應位置或方式的組織提供反向代理功能。
微軟項目經理Mathew Henderson介紹了Azure Functions Proxies試圖解決的一些難題:
自從Azure Functions發布后,我們發現大量客戶使用該服務構建了不同的API。Functions是一種快速定義所需操作的好方法,對很多類型的應用來說,該服務的訂閱計劃提供了非常適合的計費模式。然而我們也聽說多個Functions的管理工作比較麻煩,用戶通常會難以通過一個Function應用管理大型的解決方案。此外還有一些用戶希望使用微服務架構,但希望對不同組建進行部署隔離。雖然大部分情況下可以將一個解決方案拆分為多個Function應用,但對 API 來說這樣做會較為復雜。
Azure Functions Proxies順利解決了有大量API或微服務需要管理的開發者面臨的難題。過去,由于每個Azure Function App使用了自己的主機名,而Azure Functions可能托管在多個區域,這使得API的使用方必須自行解決URL管理方面的繁瑣難題。現在,開發者可以暴露一個反向代理端點,并對底層API進行抽象,使其可以包含其他Function App、API、Azure API App,或其他HTTP端點。
開發者可以用創建創建Function App的界面直接創建Azure Function Proxy。在配置過程中,開發者需要提供一個Route模板,借此設置允許使用哪些HTTP方法,并提供要將HTTP請求路由到的Backend URL。Backend URL并非必須為靜態,用戶可根據請求的具體內容或應用程序設置動態地設置該URL。
圖片來源:https://blogs.msdn.microsoft.com/appserviceteam/2017/02/22/azure-functions-proxies-public-preview/
對于使用持續部署,例如BitBucket、Dropbox、GitHub,或Visual Studio Team Services配置Function App的開發者,也可以用相同方式部署自己的Azure Functions Proxies,但前提是Azure Functions Proxies已啟用。有關Azure Function Proxy的所有信息都存儲在一個名為proxies.json的文件中,該文件位于Function app目錄的根目錄下。
Azure Functions Proxies目前為預覽服務,免費提供。標準計費方式將按照代理的執行收費,詳情請參閱Azure Functions的定價頁面。
閱讀英文原文:Microsoft Releases Azure Functions Proxies Public Preview