概要
Grouponは、大幅な割引価格で商品やサービスを購入できるサイトを提供しており、膨大な利用者がオンラインサイトに同時に殺到するようなトラフィックパターンが常に生じています。利用者はサイトにサインアップして、サードパーティの小売店や企業が提供する割引サービスのクーポンを購入できますが、購入したクーポンは短期間しか利用できません。実際の利用者が世界中に4,800万人以上いるGrouponサイトは、トラフィックの大幅な急増が頻繁に発生しており、その急増に対応しながら、最適なサービスを利用者に届けなければなりません。
課題
Grouponのプリンシパルエンジニアであるアーロン・ベドラ氏は、GrouponのITチームの主な目標について、次のように述べています。「お客様が購入したいと思うときに、常に安定してサイトが稼働しているよう維持することが使命です。グローバル企業として、1日中いつどんなときでもダウンすることなく、安定して稼働していることが何よりも重要なサービスです。世界規模で事業を展開しているため、当社にはオフピークというものはありません」
Grouponは、世界中のインフラ環境において、オープンソースとフリーソフトウェアを優先的に使用しているため、ライセンスで保護された商用版のソリューションは選択肢にありませんでした。しかし、「必要であれば有償のサービスやサポートも活用します」とベドラ氏は述べ、次のように続けています。
「当社のシステムは、すべてオープンソースまたはフリーソフトウェアで構築されています。しかし、問題が発生したときに対処できるように、当社のオープンソースプロジェクトを進めながら利用できる商用サポートを探しています」
ソリューション
Grouponの本業は、オンラインでの事業展開に完全に依存しています。「そのため、当社では、差し迫ったビジネスクリティカルな問題は迅速に対処する必要があります。しかし、Webサーバーが問題になることは今のところまったくありません。それが、わたしたちがNGIINXを使い続けている一番の理由です。」
ベドラ氏はさらに「Grouponでは、一般的なユースケースとして主にリバースプロキシのためにNGINXを使用していますが、Grouponのアーキテクチャーに関する目標の1つでもある「エッジ処理の活用」も付加的に達成できています。」と述べています。
「段階ごとに、4回、5回、6回と何度もリクエストを処理するのではなく、エッジで処理すべきことはエッジで処理することが重要だと考えています。そうした処理をすべてエッジで行うようにすれば、パフォーマンスを向上させることができます。すべてにわたって処理を分散させるということです。ビジネス機能とエッジ処理の問題を切り分けることが非常に重要だと考えています。NGINXはそれを実現できる点が素晴らしいと思っています」
さらに、NGINXはオープンソースです。Grouponのインフラ基盤ではオープンソースとフリーソフトウェアが優先されますので、NGINXはその設計ニーズにも適合しています。
成果
ベドラ氏は「把握していない問題が原因でシステムをダウンさせたくないと考えています。これほど会社が大規模になった現在、システムを稼働し続けることが本当に大事だと思っています。当社がNGINXを選んだのは、そうした心配がないからです。NGINXは必要なときに確実に稼働してくれます」と語っています。NGINXは今や、Grouponの社内HTTPトラフィックのほとんどのゲートキーパーとしても機能しています。エッジでNGINXを使用してトラフィックへの処理を行うことで、サーバー全体の使用率を下げ、ビジネスフローを最適化することもできています。
Grouponについて
2017年だけで280億ドル以上の収益を上げているGrouponは、世界をリードするオンライン取引のマーケットプレイスを提供しています。共同購入クーポンを大幅な割引価格で提供しており、結果として、加盟パートナー企業のビジネスを著しく押し上げています。1万人以上の従業員を抱え、アラブ首長国連邦、デンマーク、タイなど世界各国で事業を展開しています。実際の利用者は、世界中で4,800万人以上に達しており、スカイダイビングからグルメまで、幅広いサービスのクーポンが提供されています。