通过使用更大、更快的 Amazon EBS 卷,我们无疑能够支持更多客户和更多数据。随着时间的推移,我们的集群不断增加,但我们却不必再担心能否满足存储需求。 
Joseph Poirier Senior Manager of Platform Infrastructure

Bazaarvoice 为全球各大品牌提供社交商务解决方案,其中包括 Best Buy 和 The Home Depot 等全球领先的零售商,以及 Adidas 和 Samsung 等主导品牌。Bazaarvoice 解决方案帮助公司捕获、显示和分析由消费者产生的评级、评论和建议,以及发布在网上的关于公司品牌、产品和服务的社交内容。Bazaarvoice 客户利用这些数据来促进销售、赢取新客户、改进产品和服务,并提高多个渠道的消费者参与度。在 Bazaarvoice 网络上,每个月都有 7 亿多人查看数千万种产品并分享他们的相关意见和经验。

自 2005 年成立时起,Bazaarvoice 一直力求增加其技术平台的弹性。“我们希望从传统的基于 SQL 架构的孤立托管配置环境转变为更具弹性的 NoSQL 架构,”Bazaarvoice 工程执行副总裁 Gary Allison 说道。“例如,随着我们的发展,我们希望能够灵活地购买所需的存储容量,而不是被迫做出大量关于物理硬件的不一定正确的假设,”Bazaarvoice 平台基础设施高级经理 Joseph Poirier 补充道。

2008 年,Bazaarvoice 开始借助云来满足其弹性需求,现在,他们的所有面向消费者的主要服务均已迁移到 Amazon Web Services (AWS)。“我们是最早采用 AWS 的企业之一,”Allison 说道。“要实现真正的弹性,我们知道自己需要像 AWS 这样的云提供商来托管我们的环境。”

Bazaarvoice 开始使用 AWS 作为其环境的主要云平台。公司使用 20 多种 AWS 服务,包括 Amazon Elastic Compute Cloud (Amazon EC2) 实例(用于托管其网站平台)、Elastic Load Balancing(用于分配传入的网络请求)和 Amazon Simple Storage Service (Amazon S3)(用于数据存储)。“我们几乎在 AWS 上运行一切内容,包括涉及开发、QA 和生产的 50 个应用程序,”Allison 说道。“在任何给定时间,我们都有约 4000 个 Amazon EC2 实例在多个可用区中运行。”

Bazaarvoice AWS 实施的一个关键部分是 Amazon Elastic Block Store (Amazon EBS),它提供了持久的数据块级存储卷,以便与 Amazon EC2 实例配合使用。“Elastic Block Store 的‘弹性’对我们来说非常关键,”Poirier 说道。“通过使用 Amazon EBS,我们可以更加无缝地管理存储和计算容量。”此外,Amazon EBS 在 Bazaarvoice 还起到了另一种重要作用,那就是完成了其从配置环境到 AWS 的服务转型。“Amazon EBS 使我们的迁移更加轻松,因为我们可以将所有内容复制到 AWS,”Allison 说道。“由于世界各地的消费者都会访问电子商务网站并阅读评论,除了复制数据库之外,他们其实也对主从数据库造成了冲击。”

由于业务增长快速,Bazaarvoice 担心其现有的 Amazon EBS 部署中可能出现数据限制。“我们的内容大小每 18 个月增加一倍,而且我们已经非常接近 1 TB 的最大 EBS 卷大小,”Poirier 说道。“同时,我们仍处于转型期,从在主数据库中存储数据转变为使用 NoSQL 架构,因此我们有大量逻辑分离的客户端加入各个集群。其中一些集群已接近主数据库的 AWS 副本的 1 TB 限制。”

因此,Bazaarvoice 担心可能需要重新设计其中一些应用程序的架构。“EBS 卷是我们进入 AWS 的通道,通过它可以运行所有其他服务,”Poirier 说道。“我们已经进行了大量工程设计工作,以削减我们发送到 AWS 副本的数据量,然而,我们担心接下来必须完成更多工作来解决数据限制问题。”

当 Bazaarvoice 想方设法解决其面临的挑战时,Amazon 邀请他们作为更大、更快的全新 EBS 卷的早期采用者。这些新卷支持多达 16 TB 的容量,并提供高达 20000 的预配置 IOPS,而早期版本仅提供 4000 IOPS。另外,新创建的卷的数据传输速度也比之前快 2 倍。“我们获得了测试更大、更快的 EBS 卷的机会,我们的确已经迫不及待想要试用一下了,因为它看起来是一款很棒的解决方案,可以帮助我们解决数据增长的挑战,”Poirier 说道。

Bazaarvoice 得以在新 EBS 卷投入生产前对其性能进行了测试。“我们复制了一个已接近大小限制的较大集群,然后将数据库基础设施的小型版本放入新的 EBS 卷中,”Poirier 说道。“我们捕获了大约一周的传入请求 – 数十亿请求 – 并对新的 EBS 卷进行了测试,以了解其性能相较于早期卷表现如何,”他说道。“在我们进行测试的过程中,Amazon 交付的 EBS 卷性能比他们在测试计划中预期看到的性能更高。”

Bazaarvoice 现在可以轻松应对其惊人的数据增长,而无需担心大小限制。“我们已经开始将部分集群从 1 TB 卷迁移到 2 TB 卷,这能够帮助我们更好地应对数据增长。而且,如果我们需要将它们再迁移到 3 TB 卷,将会易如反掌。但在传统环境中,这种迁移需要花上好几个月进行规划,”Poirier 说道。“通过使用更大、更快的 Amazon EBS 卷,我们无疑能够支持更多客户和更多数据。随着时间的推移,我们的集群不断增加,但我们却不必再担心能否满足存储需求。”

另外,由于拥有更多的空间存储数据,并且能够更快速地访问这些数据,公司可以专注于构建新应用程序,而无需花费更多时间进行工程设计以尝试减小发送到 AWS 副本的数据量。“我们曾考虑采用一个或多个集群,并将其拆分为更多集群,但这种方法成本高昂且十分复杂,”Poirier 说道。“我们的集群之间还有很多链接,因此这样一来[我们]还需要复制这些链接。这种方法牵一发而动全身,不到万不得已我们不想采用,通过使用更大、更快的 Amazon EBS 卷,我们彻底避开了这些工作。”

Bazaarvoice 还将受益于更大、更快的 EBS 卷提供的强大性能。“在测试中,我们证实了 AWS 向我们提出的更高的 IOPS 和吞吐率,总体来说,我们看到数据库集群的性能持平或者说更强了,”Poirier 说道。“我们确信投入生产后也会看到同样的成果。”凭借更强大的性能,公司能够加快重新创建从数据库的速度。“当我们创建从数据库时,需要花一定时间通过快照做好实例的预备工作,”Poirier 说道。“在测试时,我们发现使用更新的 EBS 卷,预备速度会提高 2 倍。这意味着,如果我们需要扩展另一个从数据库以处理增加的网站流量,操作速度将快 2 倍。”

当公司完成向 NoSQL 架构的转型时,还将大大提高灵活性。“我们仍处于将其余数据库全部迁移到 AWS 的过程中,”Poirier 说道。“完成后,我们将获得存储、计算实例甚至按需定价的更多选项。”而 Bazaarvoice 将继续受益于通过 AWS 获得的弹性。“在按需扩展或缩减资源以满足需求方面,EC2 对我们改进为客户提供服务的方式起到了至关重要的作用,”Poirier 说道。“我们可以实现无缝升级,并在每次 Amazon 引入新的实例类型时获得更多价格和性能优势。”

Bazaarvoice 计划在未来几个月内扩大其 AWS 实施范围。“我们的成功离不开 AWS,同时我们希望在未来增加更多服务,”Allison 说道。“我们的 AWS 代表对我们帮助很大,他们为我们介绍新架构,甚至会针对我们提供给数亿人的服务指明新的方向。借助 AWS 对我们平台的支持,我们可以专注于通过创新为客户服务并帮助其取得商业成功。”

要详细了解 AWS 如何帮助您管理网站,请访问我们的网站和网站托管详情页面