客户案例 / 软件与互联网 / 全球

2024 年
Heroku 徽标

Heroku 通过 Amazon DynamoDB 将其运营开销降低 90%

了解平台即服务提供商 Heroku 如何利用 Amazon DynamoDB 提高其机群的运营效率。

减少 90%

运营开销缩减率

减少 75%

延迟缩短率

概述

对于许多开发者而言,花费在日常运营任务上的时间会挤占用于创新以及为客户创造价值的时间。Salesforce 旗下公司 Heroku 旨在通过其平台即服务(PaaS)产品,简化在 Amazon Web Services(AWS)上的应用程序部署、运营及扩展工作。通过提供完全托管的解决方案,Heroku 助力团队专注于应用程序的构建与创新,同时减轻基础设施或开发运维管理方面的负担。

Heroku 的大部分架构,包括许多数据存储,都是从零开始构建并在内部进行管理的。对于 Heroku 的开发者来说,这种自主管理的方式愈发具有挑战性。2022 年,该公司开始向托管服务迁移,以降低运营成本。作为此项举措的一部分,Heroku 将其应用程序指标和告警功能的存储后端迁移至 AWS 的一项新服务上,这一迁移不仅降低了运营成本,还提升了查询性能。

Woman working on laptop while smiling

机会 | 为 Heroku 简化数据库管理

Heroku 成立于 2007 年,是首批云平台即服务提供商之一,支持包括 Ruby、Python、Node.js、PHP、.NET 以及 Java 在内的众多编程语言。其 PaaS 产品是数百万应用程序(从小型初创企业到大型企业)的首选解决方案。Heroku 完全基于 AWS 构建。Heroku 首席执行官 Bob Wise 表示:“开发团队需要一套涵盖开发和生产环节的工具,拥有标准化的构建、测试、部署等流程。我们利用许多 AWS 服务为开发者提供这些功能,并将它们整合到 PaaS 产品中,这样,客户使用 Heroku 就能获取所需的全部工具。”

此前,Heroku 使用自主管理的 Apache Cassandra 集群来构建其指标即服务(MetaaS)系统,用于收集和汇总应用程序指标。该系统还会针对性能问题发送告警,并驱动 Heroku 的自动扩缩功能。随着时间推移,公司的工程师被与运营这些集群相关的耗时管理任务所累,分散了他们在平台创新及新功能开发方面的精力。

kr_quotemark

在 AWS 上,我们能够在保持强大安全性的同时提高运营效率,并享受到新的性能优势。”

Bob Wise
Heroku 首席执行官

解决方案 | 使用 Amazon DynamoDB 通过完全托管的服务加快创新

Heroku 选择从自主管理的 Cassandra 集群迁移至 Amazon DynamoDB(一种无服务器的非关系型数据库服务)。为简化迁移流程,该公司还采用了 AWS Database Migration Service(AWS DMS),这是一种托管式迁移和复制服务,有助于快速、安全地将数据库及分析工作负载迁移至 AWS,且停机时间最短,并且不会丢失任何数据。

Wise 表示:“我们的工作重点与 AWS 高度一致,一是安全,二是运营稳定性。我们希望尽可能确保安全,并且信任 AWS 团队将安全作为首要原则来运营的承诺。”

最初的 MetaaS 系统每秒会将数十万条观测数据摄取到 Apache Kafka 中。随后,流处理作业会处理这些观测数据,为每个应用计算各项指标,并将时间序列数据回写到 Kafka 中。最终数据会被写入 Cassandra 数据库,以供长期存储和查询。

经过精心规划,Heroku 创建了一组并行的流式处理作业,这些作业可以在不影响系统其余部分的情况下,将来自 Kafka 的相同数据写入 Amazon DynamoDB。Heroku 逐步提高了从 Cassandra 和 Amazon DynamoDB 读取查询的百分比,直至两条代码路径的查询使用率都达到 100%。Heroku 实施了一系列测试来验证两个数据库之间的数据一致性。在确认数据同步后,团队便开始了迁移的最后阶段。

Heroku 从测试环境入手,逐渐将读取查询从 Cassandra 切换至 Amazon DynamoDB,直至最终完全从 Amazon DynamoDB 读取。事实证明此次迁移取得了成功,到 2023 年 5 月,MetaaS 系统的所有查询都由 Amazon DynamoDB 提供服务。得益于这种渐进式的迁移方法,Heroku 得以在不影响现有客户的情况下完成迁移。“除非你密切关注我们指标选项卡的页面加载时间,否则根本察觉不到任何变化”,Wise 说,“对于我们在 Heroku 所做的很多工作来说,没人察觉到变化就是成功的终极标志。”

成果 | 将运营开销降低 90%

通过迁移至 Amazon DynamoDB,Heroku 获得了更快的速度和更高的灵活性。由于团队无需再管理和维护 Cassandra 集群,运营成本降低了 90%,而且由于 Amazon DynamoDB 是完全托管的服务,因此 Heroku 也无需再预置或扩展底层硬件。

同时,Amazon DynamoDB 可以提供更快且更具可预测性的查询性能,即便在流量高峰时段也不例外。Heroku 现在可以使用 Amazon DynamoDB 更快、更稳定地运行查询,并使延迟降低 75%。

迁移至 Amazon DynamoDB 也为 Heroku 加快创新步伐铺平了道路。公司无需再将精力集中在耗时的运营任务上,从而释放了工程资源,使其团队能够专注于为客户交付新功能。

Wise 表示:“我们的客户一直希望我们在创新方面加快步伐。我们实现这一目标的途径之一就是减少工程团队在无差异化繁重工作上花费的时间,将更多精力投入到实际的功能构建上,从而加快速度。这是 AWS 带来的一个非常直接的益处。”

随着 Heroku 继续从自主管理向完全托管转型,AWS 将继续在其转型过程中发挥关键作用。“我们可以二者兼得”,Wise 说,“在 AWS 上,我们能够在保持强大安全性的同时,提高运营效率,并享受新的性能优势。”

关于 Heroku(Salesforce 旗下公司)

Heroku 是一款支持多种编程语言的云应用平台即服务(PaaS)。作为首批云平台之一,Heroku 自 2007 年 6 月起一直在不断发展。2010 年,Heroku 被 Salesforce 收购。

使用的 AWS 服务

Amazon DynamoDB

Amazon DynamoDB 是一项无服务器的 NoSQL 数据库服务,您可以通过它来开发任何规模的现代应用程序。

了解详情 »

AWS Database Migration Service

受到全球客户的信任,能够以最短的停机时间安全地迁移 100 多万个数据库。

了解详情 »

更多软件和互联网客户案例

未找到任何项目 

1

行动起来

无论行业无论规模,每天都有各种机构在使用 AWS 实现自身业务转型、实现企业愿景。欢迎您联系我们的专家,立即踏上您的 AWS 之旅。