在最近的一篇博客文章中,微软公布了公开预览版的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
评论