『OPENREC.tv』は国内でもトップレベルを誇る超低遅延・超高画質のストリーミングサービスです。そんなOPENREC.tvを運営しているのは株式会社CyberZ。同社は株式会社のサイバーエージェントのグループ会社で、現在はグループを支える柱になりつつあります。レバテックキャリアは、同社独自の技術、そして働く環境や魅力についてOPENREC事業部開発責任者の中村さんにお話を伺いました。
中村 智武(なかむら・ともたけ)さん
2002年日本オラクル、2010年スタートアップ企業のCTOを経て、2012年CyberZ入社。
スマホの広告効果測定ツールのプロダクトマネージャーを2015年まで務め、現在はゲーム動画配信プラットフォーム『OPENREC.tv』の開発責任者を担当。
ユーザーにとっての「理想」を実現したサービスになるまで挑戦する
――まずは、OPENREC.tvの開発について教えてください。
OPENREC.tvは動画配信プラットフォームとして2015年にサービスを開始し、現在は月間利用者数が300万人を突破するなど順調に成長を続けているサービスです。高画質かつ低遅延なライブ配信を強みとしており、特にゲーム実況のジャンルで人気が出ていたのですが、そこで培った技術が注目され、最近では音楽アーティストのオンラインライブ配信や、舞台などといった、ゲーム以外のジャンルのライブ配信も行われるようになってきました。
――強みについて、技術面での特長は何しょうか?
OPENREC.tvは、動画ストリーミングのプロトコルにHLSを採用しています。HLS (HTTP Live Streaming) はApple社が開発した規格で、名前が示す通りHTTPを利用しているため、一般的なWeb技術のミドルウェアやCDNを活用することができ、安価で大規模な動画配信を実現することができます。テレビ会議等に利用されるRTMPやWebRTCなどのプロトコルに比べて、ゲーム実況に求められる高画質な映像を何万〜何十万といった規模の同時視聴があるライブ配信と非常に相性が良いです。
一方で、HLSはプロトコルの仕様上、配信者の映像が視聴者に届くまでの時間、配信遅延やラグと呼ばれますが、これがどうしても10秒から数十秒必要となってしまいます。数年前までは、高画質を謳うライブ配信サービスはどこもラグが15秒程度は発生するのが当たり前でした。しかし、これだけ遅延が大きいと、視聴者とのコミュニケーションが求められるライブ配信では、配信者・視聴者双方とも非常にストレスの大きいものでした。
その後、LHLS (Low-Latency HLS) という考えが生まれます。その名の通り、低遅延のHLSということなのですが、これは標準化されたプロトコルではなく、「HLSを低遅延化するためのアイデア」という言い方が正しいです。そのため、HLSプロトコルを直接改良して、低遅延化を図る必要があり、技術力と開発体制を持ったサービスだけがこの技術を組み込んでいきました。LHLSという考えが登場した2017年頃はLHLSを採用したミドルウェアは世になかったため、独自の専用の動画配信ミドルウェアや動画プレイヤーを開発し、低遅延化のチューニングを行いました。
その結果、標準化されたHLSプロトコルでは実現できなかった遅延の10秒切りを達成し、チューニングを重ねた結果、2018年末頃には1秒を切る0.8秒台まで遅延を小さくすることができました。この数字は、今でも最速水準となっていて、高画質、数十万同時視聴に耐えうるサービスで、この速度を出しているサービスは他にないレベルとなっています。
――ユーザーが増えてから発生した問題や課題はありましたか?
ライブ配信というサービスでは、ライブ配信を開始した瞬間に大量のアクセスが集中するという特性があります。特に、人気の配信者やタレントなど、多くのファンを抱えられている方がライブ配信を開始すると、配信開始から見逃すまいとするファンが押し寄せ、システム的にはその瞬間のバーストトラフィックを受け止めなければなりません。
OPENRECはサービス開始以降、順調にユーザー数の増加を続けています。しかし、成長過程においては、この突発的な負荷に耐えるだけの十分なサーバーリソースが用意できず、一時的にサービスのスローダウンを引き起こすことがしばしばありました。
通常のサービスでは、ある程度サイトの表示が重くなっても、少し重いな、で許容されることもありますが、特に、このような一秒たりとも見逃すまいとするファンの方々が押し寄せて起きる結果のスローダウンでは、ユーザーの方々の受け止め方も非常に大きなものとなります。また、よくあるような一定以上のアクセスで制限をかけて「現在混み合っています」のような静的なページを表示する、という対応も、同じ理由でユーザーには許されません。
――なるほど。スローダウンにはどのように対処したのでしょうか?
残念ながらこの技術を組み込めばバーストトラフィックに耐えられるようになる、という画期的な技術はありません。アクセスを受け止められるだけのリソースを用意することが大前提ではあるのですが、ピークに合わせてサーバーリソースを用意するとそれだけコストもかかってしまいます。
基本的には各サービス群のサーバーはAuto Scalingで構成し、負荷に合わせて自動でリソースが増減するようにしています。しかし、バーストトラフィックのような瞬間風速的なアクセスはAuto Scalingの機構では起動が間に合わないため、ある程度予測を入れた運用を行っています。これは自動化できている部分もありますが、最終的には誰々さんがいつから配信しそう、のような情報を仕入れて手動で運用する部分もまだまだあります。その際は、コンソール上のボタン一つで一瞬で数100台のサーバーを起動するなどを行っていて、こうしたことができるようになったのはクラウド時代だからこそです。
いくらサーバーを用意しても、性能がスケールしないということは多々あり、良くあるものはデータ層がボトルネックになることです。これも、一概の技術的な解決があるわけではなく、クエリの改善、キャッシュ化、などなど一つひとつ泥臭く対応しています。普通は問題にならないような実装でも、大規模なアクセスではスケールできなくなる、ということもよくあり、サービスの成長と共に今まで露見しなかった新しい問題に日々向き合っているところです。
今は、ある程度将来発生する性能劣化を予見する仕組みも取り入れ始めていて、継続的な負荷試験の仕組み化や、モニタリングによる性能劣化の予兆検知などを導入しています。
――サービス運営において大変な点はありますか?
ライブ配信というリアルタイムなコンテンツを扱っているため、監視が難しいですね。配信そのものが適切な内容じゃない場合もあれば、視聴者が誹謗中傷をする場合もあります。OPENREC.tvに限らず、ライブ配信プラットフォームではよく起こることなので、特に注意を払っています。例の一つとして、配信者が誹謗中傷チャットに対してできる設定があります。フォロワー限定でコメントを可能にしたり、登録後24時間以内のユーザーはコメントを制限したり、IPアドレスベースで制限する機能を加えたり……。基本的にはリアルタイムでモニタリングをして、何かあった時にすぐ対応できるようにしています。
ただ、細かいモニタリングやカスタムサポートをしてきたおかげで、健全性の高いプラットフォームとして信頼していただけることが増えました。地上波で活躍しているタレントや声優の方々も安心して配信できるので、ゲーム会社とのタイアップや芸能人のチャンネル開設など、自然と上質なコンテンツがOPENREC.tvに集まってきているようにも感じます。その相乗効果で、良質なコンテンツの視聴を目的に登録するユーザーも伸びているのではないかと考えています。
進化し続けるサービス『OPENREC.tv』、そして株式会社CyberZのこれから。
――アップデートや新機能についてはどのように決まっていくのでしょうか?
ディレクターやプランナーなどの役割にこだわらず全員で仕様決めから関わっています。普段から自社サービスを利用しているスタッフも多く、ユーザーとして感じた改善点や新機能などを提案してもらうこともあるんです。「具体的な実行プラン」を立てることが文化として根付いていて、アイデアベースの提案ではなく、実行するにあたって必要な体制や期間、またアサインするスタッフまで、かなり細かく設計します。理想の状態について語るだけではなく、その理想の状態に近づけるために起こすべき具体的行動まで思考することが大切ですね。弊社代表の山内もOPENREC.tvにはかなり思い入れがあるので、提案には必ず目を通してもらっています。プロジェクトとして動き出すこともあれば、フィードバックを重ねたり、見送りになったりすることもあります。自分たちで作っていくという意識も強まるので、積極的に提案してくれると嬉しいですね。
――今後取り組みたい課題はありますか?
これまでは大量のトラフィックと大量のデータのコスト効率向上に力を注いでいました。今は、Kubernetesを用いたマイクロサービス化も落ち着いてきたので、次はレコメンデーションとデータの活用をしたいですね。一般的な動画配信と異なり、ライブ配信をレコメンドしていくのは少しハードルがあるのですが、ユーザーに最適なコンテンツを提案したり、データ分析を活用したりしたいと考えています。
また、AI化できる部分は進めていきたいですね。例えばモニタリングとか。ただ、動画の場合は機械的にスクリーニングして自動化することも不可能ではないのですが、ライブ配信の場合はどうしてもチェックする前に映像が流れてしまうので自動化というのが難しくなってきます。この辺は今後のチャレンジになっていくのですが、技術で挑戦したいという方は是非一緒に取り組んでいきたいです。
――最後に、一言お願いします
OPENREC.tvは、ゲームを始めとするサブカルチャーを扱うプラットフォームとして、国内で浸透してきています。特にeスポーツ分野は今後もさらに伸びる市場だと思うので、将来性も十分にあると考えています。最近では音楽アーティストのオンラインライブ配信など、ゲーム以外のジャンルのライブ配信も行われるようになってきました。これからはオンライン・オフラインの境界をなくすことでビジネスとしてエンターテイメントのデジタルシフトを更にサポートしていきたいですね。ユーザーにとっての理想や、社会のニーズに応える事業を一緒に創り上げていくことに共感してくださる方がいたら、一緒に働きたいですね。