Vol.798「幾多の修羅場を乗り越えた」ユーザー数4900万人突破の『モンスト』インフラ開発チームが明かす高負荷対策メソッド2019.01.18TwitterLINEFacebookHatena「多くの方々に利用されるサービスの運用に携わっているエンジニアなら、不測の事態に備えて、“奥の手”をいくつか準備しておくべきです。ないとユーザーの皆さんの期待を裏切る結果になってしまうかもしれません」そう語るのは、ミクシィのXFLAGスタジオが手掛ける人気のスマホゲームアプリ『モンスターストライク』(以下、モンスト)の運用に携わる吉野純平さん。吉野さんは2008年に新卒でミクシィへ入社し、2013年からはインフラ開発グループのマネジャーとして、複数の新規事業開発と並行してモンストの運用に携わるネットワークエンジニアの1人だ。モンストのリリースは2013年10月10日。現在までに世界で4900万ユーザー(2019年1月現在)に利用されている。最近ではスマホの画面から飛び出し、アニメやeスポーツの競技種目としても親しまれているモンストだが、これほどの人気を獲得するまでには、いくつもの紆余曲折があったという。インフラ開発グループ吉野純平さん1983年生まれ。入社1年目の2008年12月にインターネット回線のマルチホーム化の責任者となる。2012年にはアプリケーションの運用にシフトしたが、2013年以降ネットワーク関連業務に復帰。現在はモンスターストライクの運用に携わりながら、複数の新規事業にも携わっている。サービス『mixi』で培った高度なサーバ運用技術が活かされてはいたものの、爆発的なユーザー数の伸びに対処するのは至難の業でした。厳しかったのは、3周年記念イベントがあった2016年の10月だった。「モンストのトラフィックは、新キャラクターの登場やガチャイベントなどが重なる周年イベントや年末年始に増大するのですが、この時は、サーバやネットワーク帯域を手厚くしたにも関わらず、事前の予測値を大きく上回るアクセスが集中し、遅延やエラーを頻発させてしまったのです」ちょうどこの年の前半、それまでクラウド上で運用していたモンストのデータベースサーバやアプリケーションサーバを自社データセンターに移管し、クラウドとオンプレミスを併用するハイブリッドクラウド体制でサービスを運用し始めたばかりだった。レイテンシの影響度合いの考慮不足やクラウド接続の最適化不足も影響した。2016年からは、オンプレミスと複数のクラウドサービスを使いわけるマルチクラウド体制へとサービス運用体制を変更したこともあり、その年の年末年始に向けて用意周到な準備を重ねたという。「たとえば、クラウドとの間のレイテンシを下げることに力を入れています。レイテンシの低下は処理するサーバ間の通信時間を短縮し、レスポンス性能に大きく寄与します。多様なクラウドと接続しながらも性能を向上させるために、通常ならネットワーク機器ベンダーしかやらないようなトンネリングを行うパケット変換プログラムも自分たちで書きました。開発グループやSREグループでは、データベースサーバへの負荷を分散させるテーブル分割やシャーディングも検討実施し、通信回数を減らすなどの技術的な取り組みを実施し高負荷対策に臨みました」そうした努力をはじめとし、1つずつ目の前のトラブルに向き合ってきたと吉野さんは明かす。1つにまとめて通信量を減らしたこと、新たなデータベースの分散を実施したことなどの要因から、潤沢な帯域や計算リソースの確保ができたことは良かったです。大切なのは周到な事前準備と冷静さ準備に準備を重ねても、想定外のトラブルが起こることもある。吉野さんは増大する高負荷対策に取り組んだ経験を通じて次のようなことを学んだという。「冒頭にも申し上げた通り、事前に起こりうる事態を想定しておき、事前にシステムやプロセスに『これさえやれば危機的な状況を脱することができる』と自信を持っていえる“奥の手”を練り込んでおくことがとても重要です。それがないとどうしても場当たり的な対処しかできませんし、最悪の場合、二次的被害を引き起こしてしまうかもしれません」シミュレーションと事前準備は周到に行うべきだが、それに輪をかけて大切なのはトラブルに直面してしまったときの心構えだ。「いくら経験豊富なエンジニアでも慌ててしまっては有効な手は打てません。起こってしまったことは仕方がないので、バックエンドエンジニアがサービスを守るためにすべきことは、まずは落ち着くこと。したトラブルに見舞われると一刻も早く復旧しなければと考えがちですが、実際にはユーザーに迷惑をおかけてしまう時間が多少延びたとしても選ぶべき選択肢がある場合も少なくありません。原因追及は状況が落ち着いたら時間をかけて検証を行い、同じ過ちを繰り返さないことが大事なのはいうまでもない。サービスやソーシャルゲームで培った技術的な知見やノウハウをモンストに注ぎ込むことで、アクセスが集中しても安定してプレイしていただける環境を実現することができました。いえ改善と品質向上には終わりがありません。今後はさらに効率化を進めて、よりさらに優れたサービス品質を出せるよう努力しなければと思っています。具体的には、ネットワーク構成の見直しやピーク負荷に対応するための仕組みの再検討を行いたいと考えています。これから登場する新しいゲームや新規事業にもこうした経験を活用していければうれしいですね」ソーシャルゲームに限らないことだが、あらゆるサービスはユーザーに違和感や不信感を抱かせることなく利用してもらうのが一番だ。モンストのよどみない動作と滑らかで美しいグラフィックの裏には、吉野さんをはじめとする多くのエンジニアたちの努力が隠されている。転職サイトtypeは株式会社キャリアデザインセンターによって運営されています。