如何计算在 AWS 上部署开源 API 网关的成本?

更新时间 3/11/2024

选择开源 API 网关还是 Amazon API 网关?

在开发人员决定使用完全托管的服务 Amazon API 网关还是开源 API 网关解决方案时,有以下关键考虑因素:

  • 多云和混合环境:Amazon API 网关擅长与其他 AWS 服务(如 Lambda)集成,但它与 AWS 生态系统紧密结合。相比之下,开源网关提供了更大的灵活性,能够在 GCP、Azure、私有云或这些环境的混合部署中发挥作用。

  • 广泛的定制需求:如果您的业务需要高度定制的 API 功能,这将超出 Amazon API 网关的范围,开源解决方案将会是更好的选择,因为它提供了更多的控制能力和定制力以满足您的特定需求。

  • 高 API 请求量和成本问题:随着 API 流量的增长,可能会面临 Amazon API 网关成本的显著上涨的情况。相比之下,开源网关可以是更具成本效益的选择,特别是对于高流量场景。

  • 优化性能和延迟:开源网关能让您更好地掌控性能和延迟,可以直接进行基准测试并选择最优化这些关键方面的开源网关(例如,Apache APISIX、Kong、Envoy、Tyk)来适应您的应用程序。

虽然 Amazon API 网关在 AWS 生态系统内提供了便捷和良好集成的解决方案,但开源替代方案提供了更大的灵活性、定制潜力和较低成本,尤其适用于复杂或高流量的用例。

计算成本时考虑的因素

API 网关在管理客户应用程序和后端服务之间的流量方面至关重要,作为中间件发挥着关键作用。它包含两个主要部分:数据平面和控制平面。

数据平面:随着流量扩展

数据平面是负责处理传入的 API 请求的核心组件,它承担着路由、身份验证和数据转换等任务,对于确保系统顺畅运行至关重要。随着 API 调用量的增长,数据平面需要更多的计算资源来保持最佳性能。因此,准确估算 API 调用量对于确定用户需要的数据平面实例数量至关重要,以确保系统能够有效地处理请求并保持高可用性。

控制平面:规划高可用性

控制平面充当 API 网关的中枢,它负责管理配置和策略,指导数据平面处理请求的方式。与数据平面不同,控制平面的资源需求与 API 调用量并不直接相关。然而,确保控制平面具备高可用性至关重要。因此,用户需要根据所需的冗余级别和正常运行时间要求来合理规划控制平面的资源分配。

监控和日志记录成本

  • Amazon API 网关:它集成了 AWS CloudWatch,提供监控和日志记录功能,但会产生额外的成本。因而在综合考虑 Amazon API 网关的总成本时,需要充分评估监控和日志记录的需求。

  • 开源 API 网关:通常需要单独考虑监控和日志记录的解决方案。您可以考虑像 Prometheus 和 Grafana 这样的成本效益的选项,或者选择云提供商提供的托管日志管理服务。

示例计算:估算 100 亿 API 请求的成本

以 Amazon API 网关为例

我们以 Amazon API 网关为例,来估算每月处理 100 亿 API 请求的成本。请注意,以下是估算值,实际成本可能会根据具体配置和使用模式而有所变化。

假设:

  • 每月 API 请求次数:100 亿次
  • 平均请求/响应负载大小:1 KB(1,024字节)

Handling 10-bilion API requests with Amazon API Gateway

在上述情况下,每月成本约为 6,4712 元人民币。

以开源 API 网关 Apache APISIX 为例

假设每月有 20 天,每天有 12 小时的运行时间,让我们计算 API 网关需要处理这 100 亿 API 调用的请求数。

10000000000 / 20.0 / 12 / 3600 = 11574.074074074073

计算结果显示,大约需要每秒处理 11000 个 API 请求。我们可以采用两个数据平面,每个平面配置 4 个 vCPU。

11574.074074074073 / 4 / 2 = 1446.7592592592591

在这种情况下,每个 CPU 大约每秒处理 1400 个 API 请求,对于像 Apache APISIX 这样每秒可以处理上万次请求的 API 网关来说,这是一项非常轻松的任务。

同时,相同的计算资源也被分配给控制平面。

Handling 10-bilion API requests with APISIX

在上述情况下,每月成本为 1400 元人民币。

通过对比 Amazon API 网关和开源 API 网关处理 100 亿请求的成本:64712 / 1400 = 46.2228571,我们可以得出结论: Amazon API 网关和开源 API 网关之间的云资源成本相差 46 倍。

当然,使用开源 API 网关并不是没有软件成本。您还需要考虑升级和维护的成本,以及购买技术支持和商业产品的成本。

总结

通过实例比较 Amazon API 网关和开源 API 网关 Apache APISIX,我们发现开源 API 网关可以大幅减少企业的软件成本。尽管 Amazon API 网关提供了在 AWS 生态系统内方便且良好集成的解决方案,但开源替代方案在灵活性、定制潜力和成本方面更为突出,尤其适用于复杂或高流量的使用场景。

微信咨询

获取方案