より大きく、より速い 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 氏は語ります。

Bazaarvoice は 2008 年に伸縮性の必要に対処するためにクラウドに目を向け、現在主な消費者向けのサービスをすべてアマゾン ウェブ サービス (AWS) に移行しました。「当社は、かなり早い時期に AWS を採用しました」と、Allison 氏は言います。「本当の伸縮性を実現するには、当社の環境をホストするために AWS のような強力なクラウドプロバイダーが必要であることを知っていました」

Bazaarvoice では、その環境の主なクラウドプラットフォームとして AWS の使用を開始しました。ウェブサイトプラットフォームをホストするための Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、受信ネットワークリクエストを分散するための Elastic Load Balancing、およびデータストレージのための Amazon Simple Storage Service (Amazon S3) を含む、20 を超える AWS のサービスを使用しています。「当社では、開発、QA、本番にわたる 50 のアプリケーションを含むほとんどすべてのものを AWS で実行しています」と、Allison 氏は言います。「いつでも、複数のアベイラビリティーゾーンにまたがって実行する約 4000 の Amazon EC2 インスタンスを使用しています」

Bazaarvoice における AWS の実装の主要な部分は、Amazon Elastic Block Store (Amazon EBS) です。これにより、永続的なブロックレベルのストレージボリュームを Amazon EC2 インスタンスで使用できます。「Elastic Block Store での "伸縮自在性" は当社にとっての主要コンセプトです」と、Poirier 氏は説明します。「Amazon EBS を使用すると、ストレージとコンピューティング性能をよりシームレスに管理できます」Amazon EBS は、Bazaarvoice においてコロケーション環境から AWS へのサービスの移行を達成するためにも主要な役割を果たします。「すべてを AWS にレプリケートできたため、Amazon EBS によって移行が容易になりました」と、Allison 氏は語ります。「世界中の消費者が e コマースサイトを訪れてレビューを読むとき、実際はレプリケートされたデータベース上にあるマスターデータベースおよびスレーブデータベースにヒットしているのです」

ビジネスが急速に成長するにつれ、Bazaarvoice では既存の Amazon EBS デプロイで可能なデータの限界について懸念していました。「当社のコンテンツサイズは 18 か月毎に 2 倍になりました。EBS ボリュームが最大の 1 テラバイトに近づいていました」と、Poirier 氏は言います。「同時に、マスターデータベース内にあるデータから NoSQL アーキテクチャへの移行も続けています。それで、クラスターへのクライアントの論理的分離が数多く生じます。これらのクラスターのいくつかは、マスターデータベースの AWS レプリケーションとして 1 テラバイトの上限に近づいていました」

結果的に、Bazaarvoice ではアプリケーションのいくつかを再設計する必要があると考えました。「EBS ボリュームは AWS へのゲートウェイで、他のすべてのサービス作業を処理していました」と、Poirier 氏は話します。「AWS レプリカに送るデータ量を削減するために多くのエンジニアリング作業を行いました。データの限界に関する問題を解決するために、さらに多くの作業の必要が生じることを心配していました」

課題に対処する方法を模索するにつれ、Bazaarvoice は Amazon から、より大きく、より速い新しい EBS ボリュームの初期の採用者になるよう勧められました。これらの新しいボリュームは、最大 16 テラバイトまでをサポートし、以前のバージョンでの 4000 IOPS から増加して最大 20,000 のプロビジョンド IOPS を提供します。さらに、新しく作成されたボリュームは、2 倍を超える速さでデータを転送できます。「より大きく、より速い EBS ボリュームをテストする機会がありました。当社のデータ増加の課題にとって、優れたソリューションと思われたので、ぜひ試してみたいと思いました」と、Poirier 氏は語ります。

Bazaarvoice では、本番前に新しい EBS ボリュームのパフォーマンスをテストできました。「サイズの限界が近づいていた大きなクラスターの一つをレプリケートし、データベースインフラストラクチャの小さいバージョンを新しい EBS ボリュームに入れました」と、Poirier 氏は言います。「約 1 週間分の受信リクエストを取得しました。何十億ものリクエストです。そして、古いボリュームと比較してどれほどのパフォーマンスを持っているのかを確認するために、新しい EBS ボリュームをテストしました」と、続けます。「当社のテストでは、ベータプログラムで得たいと願っていた高速の EBS ボリュームのパフォーマンスを実現していました」

Bazaarvoice では、現在、サイズの限界を心配することなくデータの著しい急増に容易に対応できるようになりました。「クラスターのいくつかを、1 テラバイトボリュームから 2 テラバイトボリュームへ移行し始めています。これにより、データの増加により適切に対応できるようになりました。また、それらを 3 テラバイトへ移行する必要が生じるとしても、まったく問題ありません。従来の環境では、これを行うには何か月もの計画が必要だったでしょう」と、Poirier 氏は言います。「より大きく、より速い Amazon EBS ボリュームを使用することで、より多くのお客様と大量のデータを確実にサポートできます。長期にわたりクラスターが成長し続けるときにストレージの需要を満たせるかということを、心配する必要がなくなりました」

さらに、データを保存するためにより大きなスペースがあり、そのデータに高速にアクセスできることにより、AWS レプリカに送信するデータ量を削減しようとするためのエンジニアリングに時間を費やす代わりに、新しいアプリケーションの構築に集中できるようになりました。「1 つかそれ以上のクラスターを選んで、これらを追加のクラスターに分割することを考えていましたが、これには費用がかかり複雑でした」と、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 でウェブサイトの管理をサポートする方法の詳細については、ウェブサイトとウェブサイトホスティングの詳細ページを参照してください。