FanCode、Memorystore の採用でライブスポーツのストリーミング数を従来の 2 倍に増加
Guruwinder Singh Rishi
AVP of Technology, FanCode
Amit Mirchandani
CTO, FanCode
※この投稿は米国時間 2024 年 12 月 19 日に、Google Cloud blog に投稿されたものの抄訳です。
編集者注: FanCode は、事業規模を急速に拡大しつつ、何百万人ものファンに対してパーソナライズされたスポーツ コンテンツを低レイテンシで配信する必要がありました。同社は、Google Cloud への移行と Memorystore for Redis Cluster の採用により、リアルタイム機能と高トラフィックのライブイベントをサポートする、完全に統合されたスケーラブルなバックエンド インフラストラクチャを構築しました。現在では、安定したパフォーマンスと信頼性を維持しながら、年間で従来の 2 倍のライブイベントをストリーミングしており、ファンのエンゲージメントを高め、現代のスポーツ愛好家のニーズに応えています。
インド全土にスポーツの興奮をお届けしている FanCode は、インドのスポーツファンが集う随一のサイトです。ムンバイのクリケットやゴアのサッカーなど、あらゆるファンのニーズを満たすさまざまなコンテンツのほか、スピードを求めるファンには、特別かつ独占的なコンテンツも提供しています。FanCode は、インド国内において F1 レースを独占配信しており、コース上で起こるあらゆる出来事をお届けすることで、世界で最もエキサイティングなモータースポーツをより身近に感じていただけるよう努めています。
FanCode の目標は、コンテンツを確実かつリアルタイムに配信することです。これには、試合経過や選手のデータに加えて、ファンの好み、視聴履歴、居住地などに基づいてカスタマイズされたおすすめを提供することも含まれます。しかし、当社のプラットフォームが何百万人ものユーザーに利用されるまでに成長するにつれ、このレベルのコンテンツ配信の管理が複雑になってきました。
Redis は、当社のバックエンド インフラストラクチャにおいて重要な役割を果たしており、高速なデータ取得、低レイテンシ ストリーミング、リアルタイム処理をサポートするために不可欠なキャッシュ レイヤを提供しています。当初は AWS で Redis をホストしていましたが、Google Cloud への移行によって、Redis を個別に維持管理することでレイテンシの問題が生じ、サービスの速度と信頼性に影響を及ぼすようになりました。また、他の自己ホスト型の Redis プロバイダは、持続できない料金モデルを採用したことから、主に使用していたアダプタ SDK に大幅な変更を加える必要があり、当社の小規模なチームのリソースを圧迫することが予想されました。そのため、より柔軟でスケーラブル、かつ完全に統合されたソリューションを実現するには、Redis を Google Cloud インフラストラクチャと連携させる必要がありました。そして、その答えが Memorystore for Redis Cluster だったのです。
Memorystore for Redis Cluster で低レイテンシを実現
FanCode のアプリケーション インフラストラクチャは完全に Google Cloud でホストされています。ロードバランサを使用してトラフィックをエッジサービスに転送し、エッジサービスは複数のマイクロサービスを管理するゲートウェイにリクエストをルーティングします。各マイクロサービスは、フォールト トレランス、パフォーマンス、スケーラビリティを維持するために、専用のデータベースと Memorystore for Redis Cluster に依存しています。Memorystore の柔軟性により、軽量なワークロード用の小規模なクラスタから始めて、必要に応じて拡張することもできます。アーキテクチャに大幅な調整を加える必要はありません。
AWS からの移行にあたり、Redis を分離することで、ユーザーへの影響を最小限に抑えました。非永続的なワークロードは、キャッシュキーが自動的に更新されるため、ダウンタイムなしで移行できました。永続的なワークロードについては、Redis Input / Output Tool(RIOT)を使用してデータを慎重に移行し、プロキシ経由でリクエストをリダイレクトして継続性を維持しました。このプロセス全体を通じて Google Cloud のサポートを得られたことで、ビジネスの継続性を維持しつつ、パフォーマンスを最適化できました。
Memorystore for Redis Cluster をインフラストラクチャの中核に据えることで、当社のスケーラブルなコンテンツ配信パイプラインは、年間数千件のライブスポーツ ストリーミングをサポートできます。トラフィックのピーク時でも、ウェブ、モバイル、テレビなど、さまざまなプラットフォームで途切れることなく視聴が可能です。このフルマネージド サービスは、Google Cloud 環境とシームレスに統合されているため、需要の増加に応じて簡単にスケールできます。同時視聴者数が急増するライブイベントでは、高いパフォーマンスと信頼性の両方が必要となるため、このキャッシュ レイヤは特に重要です。
さらに、このパイプライン内で高度な分析を行うことで、ファンの好みに基づいてパーソナライズされたおすすめを提供することも可能です。リアルタイムのデータ処理により、試合経過、対戦データ、選手分析などのインタラクティブな機能が強化され、ファンのエンゲージメントがより没入型のエクスペリエンスに変わります。Memorystore for Redis Cluster は、高速なデータ キャッシュとデータ取得によってこれらのバックエンド機能をサポートし、ファンとリアルタイムのインサイトを結びつけることを可能にします。
安定したパフォーマンスで何百万もの瞬間をストリーミング
Google Cloud によって、FanCode は単に規模を拡大するだけでなく、ファンのエクスペリエンスも向上させています。当社はスポーツ メディアで新境地を開拓し、プラットフォームを創造しています。それは、私たちのファンと同じようにインタラクティブでダイナミックなものです。現在、FanCode は 1 億 6,000 万人以上のユーザーにサービスを提供しています。ストリーミングを行うライブスポーツ コンテンツは年間で数十億分にもおよびますが、1 秒未満のレイテンシでスムーズな視聴を実現しています。
マネージド サービスにより、運用負荷が軽減され、小規模なチームでもデータベースのメンテナンスではなくイノベーションに集中できるようになりました。リアルタイムの需要に応じて Redis クラスタをスケールできる機能により、パフォーマンスと費用の両方を最適化できるほか、強力な SLA によって高可用性が確保されます。これは、重要度の高いイベントの際に特に有用です。このようなイベント中にダウンタイムが発生すると、収益の損失やファンの失望につながるため、シームレスなエクスペリエンスをサポートするうえで Google Cloud の安定性が重要な鍵となります。
現在、当社のインフラストラクチャは、年間 15,000 件以上のライブイベントをサポートできます。これは前年の 2 倍以上です。Google Cloud の信頼性とスケーラビリティは、この成長に不可欠です。高品質なストリーミングを途切れなく提供できることは、ファンをつなぎとめることにつながります。FanCode は、この堅牢な統合インフラストラクチャによって、現代のスポーツ愛好家のニーズに応えることができるほか、ビジネス目標も達成しています。
Memorystore を実装する準備はできていますか?
Memorystore for Redis Cluster の詳細については、製品およびドキュメントのページをご覧ください。
-FanCode、テクノロジー部門 AVP Guruwinder Singh Rishi 氏
-FanCode、CTO Amit Mirchandani 氏