Chess.com による Google Cloud へのスマートな移行
Google Cloud Japan Team
※この投稿は米国時間 2021 年 7 月 21 日に、Google Cloud blog に投稿されたものの抄訳です。
編集者注: 2020 年初頭、Chess.com は着実な成長を続けており、10 年後には 1 日あたりのアクティブ ユーザーが約 400 万人に達すると予想していました。その後パンデミックが発生し、時を同じくして Netflix の「クイーンズ・ギャンビット」が大ヒットしたことで、アクティブ ユーザーは半年でその数に到達してしまいました。この投稿では、Chess.com テクノロジー担当上級ディレクター Saad Abdali 氏が、Google Cloud への移行なくしては不可能だった、この急増への対処方法について説明します。
世界チェス・デーをどう過ごしましたか。チェスは、エリート主義的で堅苦しい、数世代前に流行った古臭いゲームと思われがちです。
しかし、それはまったくの見当違いです。インターネットと、Chess.com ようなサイトの存在により、チェスの世界はこれまでにないほど活気づいています。
毎日、何百万人ものユーザーが Chess.com を訪れ、チェスを習得したり、パズルを解いたり、同じような腕前の相手と対戦したり、ライブ トーナメントを観戦したり、他のチェス愛好家との交流を楽しんだりしています。パンデミックの間、チェスに対する関心は過去に類を見ないほどの速さで高まりました。
Google Cloud を採用することで、当社のオンプレミスのハードウェアだけでは困難だったこと、不可能だったことも実現できるようになりました。Google Cloud が提供する最大のメリットは、需要の増加に合わせて瞬時にスケーリングできることです。そして 2020 年、オンライン チェスの需要はそれまで私たちが目にしたことがないほど急増しました。
ボードの管理
予測不可能なトラフィックの急増に気付き始めたのは、2019 年に毎週開催しているイベント、Titled Tuesday の人気が急上昇し始めた頃です。Titled Tuesday は、世界最高クラスのプレーヤー(マスター以上のタイトルを持つプレーヤー)が、賞金をめぐって 1 時間の対局を行うコンテストです。2014 年に始まったこのイベントは、2018 年には毎週 400 名近くのチェス界の輝かしいスターたちと、彼らのプレイを見たいと願う大勢のファンを惹きつけるようになっていました。賞金の額も増加しており、イベント中のオンプレミス サーバーの稼働を確保するという課題は、ますます重大なものになっていました。
そして、パンデミックが発生しました。
ほぼ一夜にして、Chess.com へのトラフィックは 3 倍になりました。2007 年の立ち上げ以来、Chess.com は毎年 20~50% 程度の安定した成長を続けてきました。しかし、2020 年 3 月だけで、1 日のアクティブ ユーザーの数は 28 万人から 100 万人以上に増加したのです。
幸いなことに、当社は 2019 年半ばに重要な機能を Google Cloud に移行し始めていました。それまではすべて、物理データセンターにデプロイした自社所有のハードウェアで運用していました。移行のおかげで、トラフィックの急増に対応するために必要な仮想サーバーをすべて数回のクリックで立ち上げることができました。
新たな一手
昨年の夏から秋の初めにかけて、トラフィックは高い水準で推移しました。そして、11 月に Netflix で「クイーンズ・ギャンビット」が配信されると、トラフィックはそこからさらに倍増しました。
Beth Harmon がチェスの達人になるまでの架空の物語は、新しい世代のプレーヤー、特に若い女性に刺激を与えました。Chess.com は、ピーク時に 1 日 600 万人ものユーザーにサービスを提供していました。
この人気の高まりを受け、モンテカルロ木探索システムを使用して、Harmon のプレイスタイルや、Hikaru Nakamura、Maxime Vachier-Lagrave といった現役グランドマスターのプレイスタイルを模倣してチェスを指す bot を作成しました。
Google Cloud を使用することで迅速なキャパシティの拡張が可能になり、Chess.com はこのような需要の高騰にも常に対処できました。また、Puzzle Battle のような新しいタイプのゲームを展開することも可能になりました。このゲームでは、プレーヤーは同じくらいの腕前の相手と対戦し、次第に複雑になっていくチェスの問題を解いていきます。Puzzle Battle は、Google Cloud で実行されるよう一から設計した初めての主要な機能でした。この手法は、オンプレミスのハードウェアに負荷をかけずに済むだけでなく、開発プロセスを大幅に加速させることがわかりました。
現在、当社は Chess.com および姉妹サイトである ChessKid.com のすべてのゲームプレイを、Google Cloud で完全にホストされる新しい分散型ゲームプレイ システムに移行しています。新しいクラウド アーキテクチャには、スケーリングのしやすさだけでなく、真にグローバルなサービスのデプロイが可能になるなど、たくさんのメリットがあります。Chess.com で特に人気のあるゲームタイプに Bullet Chess というものがあります。プレーヤー両者に与えられる持ち時間が 1 分だけという時間制限の厳しい、極めてスピーディーなゲームです。Google Cloud により世界中にゲームプレイ ノードをデプロイできるようになったため、プレーヤーは近くの Chess.com ノードに低レイテンシで接続できます。
チェックメイト
「クイーンズ・ギャンビット」の後、Chess.com のサイト トラフィックは、アクティブ ユーザー数 1 日あたり 400 万人のレベルで安定しました。サイトは、想定では 10 年かかるはずの成長を、わずか半年のうちに経験したのです。Google Cloud への移行なしに、Chess.com がこの急増に対処することはできなかったでしょう。
Google Cloud は需要に応じてほぼ無限にスケーリングできるため、特定の段階でサイト トラフィックのトレンドを予測する必要がありません。予期せぬ急増に耐えうる復元力があるかどうかと心配したり、使用しないサーバーをオーバー プロビジョニングして無駄な費用をかけたりすることもなくなりました。
また、新しいプロジェクトの実験を最小限のリスクで行うことが可能で、サイトに追加する新機能をテストすることもできています。テスト結果が悪ければその仮想マシンを縮小して料金の支払いを停止し、結果が良ければマシンを追加して負荷を分散させればよいのです。
私たちの大きな使命は、チェスへの愛を世界に広め、既存のプレーヤーにさらなる活躍と交流の場を提供することです。ChessKid.com のようなサイトの設立や、国際チェス連盟(FIDE)と共同で最近発表した初の女子ワールドカップの開催も、この使命が動機の一つになっています。
単なるゲームだったチェスはコミュニティに変わり、今や一大ムーブメントになりつつあります。この進展の中で Chess.com が果たした役割を誇りに思うとともに、それを実現してくれた Google Cloud の支援に感謝しています。
-Chess.com テクノロジー担当上級ディレクター Saad Abdali 氏