Azure API Management 是一种全托管服务,为用户提供发布、保护、转换、维护和监控 API 的能力。用户只需要在 Azure 门户上点击几下,就可以创建一个充当“前门”的 API 门面,外部和内部应用程序可以通过这个门面访问自定义后端服务实现的数据或业务逻辑,这些后端服务可以运行在 Azure 上(例如 App Service 或 Azure Kubernetes Service),或托管在 Azure 外部(私有数据中心或组织内部部署)。API Management 负责处理与 API 调用相关的所有任务,包括请求身份验证和授权、速率限定和配额实施、请求和响应转换、日志记录和跟踪以及 API 版本管理。
从现在开始,Azure 用户可以在创建新的 API Management 实例时选择新的 Consumption 版本。这种 Consumption 版本实质上是基于无服务器原则设计和实现的 API Management 的变体,让更多的用户享受 API Management 的好处,非常适应于使用无服务器技术构建的新型应用程序。
APIM Consumption 版本可以实现来自用户的一些应用场景:
使用无服务器技术(如 Functions 和 Logic Apps)实现的微服务 API 网关。
为无服务器 Azure 资源(如 Service Bus 队列和主题、Azure 存储等)提供简化且安全的外观的 API 网关。
传统后端的 API 网关,其中 API 流量会出现较大的峰值,但在大多数情况下保持较低水平。
版本的比较
为了更好地了解新版本,我们将其与现有版本进行比较。
API Management 推出了两个版本——Developer 版本和 Standard 版本。随着时间的推移,我们为企业用户添加了具有高级功能的 Premium 版本,并将 Basic 版本作为入门级版本。这些版本具有一个共同的架构,每个 API Management 服务实例都会分配到一组专用的资源。安全隔离、即时可用容量以及隔离保护是这种方法的主要优点之一。不过,它们也带来了一些副作用——相对较高的配置和扩展延迟,而且不是基于用户使用进行定价,这些都不适用于基于无服务器应用程序模型的新型解决方案。
Consumption 版本使用了与之前的版本相同的底版本服务组件,但同时又采用了一种完全不同的基于动态分配资源的架构。因此,它与无服务器计算模型完美匹配,即无需管理基础设施,无空闲容量,高可用,可自动扩展和基于使用的定价模型,所有这些都使它成为涉及将无服务器资源暴露为 API 的解决方案的最佳选择。在选择 Consumption 版本时会涉及一些权衡,其中最重要的两个是功能集和使用限制。下表总结了各版本之间的比较结果。
新功能
以下两个新功能现在仅在 Consumption 版本中可用,不过很快也将在其他版本中可用。
自带高速缓存(Bring Your Own Cache,BYOC):高速缓存是一项被广泛使用的用于降低 API 延迟和 API 后端负载的技术。用户可以让 API Management 服务使用外部配置的 Redis 兼容缓存。用户可以完全控制缓存配置,预加载和清除缓存内容,还可以为不同的 API Management 服务实例扩展缓存大小,这些是 BYOC 的主要优势。它也是在 Consumption 版本中启用响应缓存的唯一选项,因为与其他版本不同的是它没有内置缓存。我们修改了现有的缓存策略,以便让它能够与集成的和外部的缓存配置无缝协作。
更灵活的订阅:订阅本质上是一组 API 密钥(准确的说是两个——主要的和次要的)容器。以前,订阅必须由用户持有,并且支持单个 API 产品作用域。为了简化密钥管理,我们做出了一些变更。我们现在允许“独立”订阅,不与用户相关联。我们还添加了两个订阅作用域——所有 API 和单个 API。因此,现在可以为 API 访问权限创建密钥(或 API Management 实例中的所有 API),而无需先创建产品并添加 API(或所有 API)!此外,每个 API Management 实例现在都带有一个不可变的全 API 订阅,这使得在 Test 控制台中测试和调试 API 变得更加容易。
后续工作
自去年春天以来,我们一直致力开发 Consumption 版本,现在很高兴与用户分享这个消息。但是,我们仍然有很多工作要做。以下是将在未来几个月推出的一些重要功能和改进。
自定义主机名和证书;
“一键”升级到更高的 API Management 版本;
更快的配置时间(与较旧的版本相比已经非常快了,但我们希望进一步改进它);
减少“冷启动”延迟(我们在这方面做得还不够,而且延迟还有很大的改进空间);
公共 Azure 区域的广泛可用性(我们计划在 API Management 可用的每个区域都提供完整的 Consumption 版本);
其他无服务器和 PaaS 资源的“添加 API”体验(在“添加 API”页面上可以看到新的功能按钮)。
可用性
我们很高兴地宣布,Consumption 版本即将在美国中北部、美国西部、西欧、北欧、东南亚和澳大利亚东部地区可用。
评论 1 条评论