【サーバーサイドの裏話】インタビュー|Rewrite IgnisMemoria 担当エンジニアの本音
技術営業部の中内です。
ビジュアルアーツさんが2017/2/6にリリースした「Rewrite IgnisMemoria」(以下 RewriteIM)のサーバーサイドのお話をお聞きしてきました。
後半はビジュアルアーツ エンジニアの山田耕輝氏と弊社エンジニアの指原亮介の対談形式になっております。
↑ビジュアルアーツ エンジニアの山田耕輝氏
twitterでは全てにフォロワーにリプライ
ー 本日はよろしくお願いします。まず始めにビジュアルアーツさんの特徴を教えてください。
20数年やってる会社でして、元々はPCゲームからスタートしていて途中からKeyというブランドができて、いわゆる”泣きゲー”というジャンルのゲームを作り始めてそれが基本形態です。
元々ゲームを作っていたんですが、途中からゲームエンジンを作り他社さんに貸し出すフランチャイズ事業をやってます。
内容としてはゲームエンジンを使ってる開発会社さんのサポートをしてまして開発会社さんにはゲーム作りに専念して頂き、営業とかゲームを動かす部分とかはうちで引き受けますよ。というスタンスです。
ー ソーシャルゲームに関してはいつごろから初めたのでしょうか?
ソーシャルゲームに関しましては、4,5年前ぐらいから手を出し始めた感じでして、1作目は「リトルバスターズ!カードミッション」というゲームをDeNAさんのmobageでリリースしました。
このゲームは今回のゲームであるRewriteIMのプロデューサーである府木壮一郎がディレクターとして作りました。全てはここからの始まりでした。
2作目は「Angel Beats!」で今回のRewriteIMが3作目になります。
ー team Aecaはソーシャルゲームをやり始めた当初から存在していたのでしょうか?
いえ、初めからあったわけではありません。
最初はソーシャルチームという名前だったんです。
特別チーム名があるわけではなく、とりあえずソーシャルゲームを作ろうというチームが出来上がりました。
その後また別のチームが立ち上がりましてそのチームが「Angel Beats!」を作りました。
ただ、「こんな少ない人数で運営はできんやろ」っていうことで現場からの不満も出てきたので、
この際1つのチームでやりましょうって事でできあがったのが「team Aeca」ということになります。
ー team Aecaの在籍メンバーは何人ぐらいでしょうか?
9人です。
ー 9人!? 少ないですよね。。。
はい、少ないです!!
結局サーバーやってるの1人ですからね(笑)
twitterの中の人もやってます!!
ー twitterもですか!!
そういえばtwitterでは全てにフォロワーにリプライ送っておりますが、大変じゃないですか?
はい、大変ですね(笑)
大変ですけど、ユーザーの方を想っての行いです。
公式から返事が来るって結構嬉しいもんだと思うんです。
なのでできるだけユーザーからのメッセージにはちゃんと返事を書くように、これは「Angel Beats!」のころからやってます。
ー ビジュアルアーツさんは人気IPを多く抱えてますが、
今後もソーシャルゲームを出していく予定なんでしょうか?
そうですね。2015年にTVアニメを放送した「Charlotte(シャーロット)」の可能性もありますし、もしかしたら「team Aeca」で新しいIPを立ち上げるかもしれないです。
まだ決まってませんが!
ー 山田さん個人についてお伺いします。インフラエンジニアになったきっかけは何だったんでしょうか?
前職は独立系のIT企業にいまして、その前はフリーランスだったんですけど、、、
ー え?スタートはフリーランスっだたんですか?
はい、そうです。珍しいですよね(笑)
フリーランスから独立系のIT企業に務め、そこが面白くなさすぎて、辞めまして、フリーランスに戻って1年ぐらいしてから変な会社に行ったら面白いなと思ってこの会社にきたんですよ。
入社当初はWebサイトやWebシステムを作っていて、インフラ周りは全然してなくて、
インフラ周りをやりだしたのが、実は前作の「Angel Beats!」からなんですよ。
元々ソーシャルゲームの会社じゃないのでこの会社にはインフラエンジニアもネットワークエンジニアもいないんですよ。
とにかくサーバーダウンしないように
ー 今回サーバサイドの開発で気をつけた部分はどこでしょうか?
気をつけたことは、負荷分散とサーバーが落ちないことですね。
負荷分散も何かあった時に分散して耐えれるようにだけは何とかしようというのはありました。
「Angel Beats!」の時はそれが出来なくて、、、
最初6台でスタートしたんですよ(笑)
ー 死にますね、それは。
そもそも負荷分散の仕方も知らなかったんですよ。
普通にこれはWebこれはDBこれはmemcached、、、ってやってたんですけど、かなりユーザーがきて
普通に耐えれなかったんですよね。
ー RewriteIMよりもきたんですか?
RewriteIMのほうが来てます。
ー それでも6台でWebもDBもってことですから、死ねますよね。
はい、死ねますねw
最初Web3台、DB2台、memcached1台でスタートして、当然落ちまして、一番にWebサーバが死にまして、やばいWebサーバ増やせってことで、30台ぐらい増やしました。
増やしすぎたせいでconnection数が増えすぎてmemcachedに繋がらなくなって、遂にはDBがパンクしました。
ただ、その時はDBの分散なんか考えもしなかったので、1ヶ月のメンテナンス期間を設けて全部作り直しました。
ー 作り直してサーバは何台ぐらいになったんですか?
最終的には80台ぐらいになりました。
負荷試験をあそこまで出来たことは良かった
ー 今回山田さん自身が苦労されたところはどういったところでした?
山田氏:負荷試験ですね。
指原:あれはちょっと心が折れかけましたね。
山田氏:今回は結構DBがきちきちまでいったんじゃないかなと、、、
指原:そうですね。でもあれ何で落ちるんやろうってね。
山田氏:そうですよね。結局高負荷時に落ちる問題はまだ解決してないんですけどね。
指原:なので結構ギリギリというか怖い状態でのリリースではあったんですけど、
何とかいけて良かったと思ってます。
山田氏:今(インタビュー時2017/3/2)はユーザー数80万ぐらいなんですけど、前作の「Angel Beats!」は2年やって60万ぐらいなので、1ヶ月経ってないけどもう超えてます。
指原:最初僕もリリースした時はDBのユーザー件数カウントしてました。
すごい勢いでユーザーが増えていってたので、大丈夫かなって心配してました。
山田氏:どっちかっていうとダウンロード向けのCDNがとんでもないことになってましたけどね。
指原:CDNのトラフィック量はとてつもないことになってましたね。
山田氏:今で400TBぐらいですよね。
指原:そのぐらいですね。
山田氏:なのでうちのエンジニアにダウンロード数何とか減らしてくれって言ってたんですけど、
まあ、減らせる訳はないんですけどね。
指原:初回のダウンロードが結構大きかったですよね。
山田氏:大きいです。580MBぐらいありましたので。
指原:それがCDNに行く感じなるので、それぐらいいきますよね。
山田氏:それでも1番大変だったのは、話戻しますが負荷試験は本当に大変でした。
でもあそこまで負荷試験が出来たのは良かったと思ってます。
指原:僕の夜勤のタイミングでもシフトを合わせて頂いてありがとうございます。
山田氏:実は合わしたのではなく普通に会社に居ただけだったんですけどね(笑)
指原:ぶっとうしでやった時は、若干意識飛んでましたけど(笑)
山田氏:結構徹夜しましたね(笑)
指原:リリース前の土日とかは、、、
山田氏:会社に住んでました!!
指原:僕もお風呂入りに家に帰る感じでした(笑)
山田氏:うちの近くに銭湯があって朝10時開くのでいっつもそこ行ってました。
ー 最後にビヨンドのサービスを利用して思った事を教えてください。
ここまで親身にやってくれたのは凄くありがたいなって感じてます。
あとはお値段が安い!!
特に何もおきずに寝れたってことが大きいですね。
寝れるし夜中に電話こないので、朝5:00ぐらいに電話かかってきて
そのまま家のPCで仕事するってことは無くなったのでかなり良かったです。
ー インタビューは以上になります。本日はありがとうございました。