クラウドよりもオンプレミスの方が安上がり――。一見すると常識に反するスタイルを、「モンスターストライク(モンスト)」のシステムは貫く。大規模なインフラを自社で開発・運用するスキルがあれば、中長期的にはオンプレミスの方が安く付くとの考えからだ。

「モンスト」のITインフラはオンプレミスが中心だ
「モンスト」のITインフラはオンプレミスが中心だ
[画像のクリックで拡大表示]

 前回も触れたとおり、モンストのITインフラはオンプレミスとクラウドのハイブリッド構成を取っている。利用するクラウドサービスは「Amazon Web Services(AWS)」だ。主に仮想サーバーの「EC2」とデータ保管の「S3」を利用。コンテンツ配信サービスである「Amazon CloudFront」も使っている。

 自社のデータセンターとの間は、専用線接続サービスである「AWS Direct Connect」で結んでいる。帯域幅は毎秒10Gビットだ。

 ただ、重点を置いているのはオンプレミス、つまり自社データセンターの活用だ。実際、同社がクラウドを使って運用しているのは、開発や動作検証、コードの本番環境への配置、システム稼働状況の監視や分析といったシステムだ。保存しているデータについても、「プレーヤーが直接アクセスすることのないものが主体」(清水勲氏)。システムの稼働状況を示す各種のログのほか、過去データの保管用途などだ。

 Webアプリケーションサーバーやメッセージキューイングサーバーなど、モンストのサービス運営に直接関わるシステムも動かしているが、それらはあくまで緊急用。自社データセンターで処理負荷をまかないきれなくなった場合に処理能力を増強するためのものだ。とは言え最近ではあまり出番はないという。

大規模インフラ運用の実績

 「クラウドの良さはオンデマンドにシステム資源を手当てできること。長期間にわたって運用するシステムなら、オンプレミスの方が安くなる」。清水氏は、こう断言する。

 清水氏はモンストのITインフラに携わる以前は、SNS(ソーシャル・ネットワーキング・サービス)の「mixi」の運用を担当していた。モンストのITインフラをオンプレミス主体にしているのは、大規模な消費者向けサービスを開発・運用するスキルと実績があるとの自負からだ。

 スケーラビリティを確保する上では、データベースサーバーへの負荷をいかに減らすかがポイントだという。Webアプリケーションサーバーなどは、新キャラ追加やイベントに合わせて、あらかじめ増設して負荷を分散できる。しかしデータベースサーバーはスケールアウトによる負荷分散が難しい。

 対策の一つが、データベースに格納するデータを適切なサイズに分ける「シャーディング」だ。例えば利用者情報を格納したテーブルを分ける。利用者グループごとに、アクセスするデータベースサーバーを分ける処理を、継続的に実施。利用者グループごとのアクセス傾向を見ながら、分割の仕方を見直しているという。

 クライアントアプリの通信量削減にも取り組んでいる。データの圧縮方法の見直しやCDN(コンテンツ・デリバリー・ネットワーク)の活用などで、データ量を削減。現在のアプリとロードバランサー間の通信量は最大で毎秒1Gビット。これはピーク時の半分程度という。利用者が増えているにもかかわらず、通信量は半減させている。