こんにちは。『Technology of DeNA』編集部です。
2/9(月)に、渋谷ヒカリエのDeNA本社にて、
「第四回 DeNAゲーム開発勉強会」を行いました!
そのレポートをダイジェストでお送りします!
こちらはゲームに特化してシリーズ化した勉強会で、
今回で4回目です。
前回は、500万ダウンロードを突破した、
『ファイナルファンタジー レコードキーパー(FFRK)』の
クライアントサイドのネタを取り上げましたが、
今回はサーバサイドで使用される社内フレームワーク・ツールをテーマに講演を行いました。
※前回の講演内容はこちら
◎FFRKを支えるWebアプリケーションフレームワークの技術
@猫宮によるフレームワーク系の話です。
社内で開発されたGunyaSiFをベースに改良したフレームワークを用いた、
という話でした。
GunyaSiFは、2013年に開発された、Perl、Amon2をベースにした内製のフレームワークです。
これを引き継ぎ、時代の変化に合わせて進化させようとしたのが@猫宮です。
元々は現場のエンジニアが主導し、職人芸的に使用されていたケースが多かったのですが、
より汎用性を高める為に徹底して効率化を推進。
コードを徹底的にレビューし、省けるものは省きながらリファクタリングと修正を行いました。
さらに、FFRKリリース時の超高負荷に耐えうる仕様にする必要が。
MultiStoreをつくって複数のStore先を保持できるように拡張することで、
Masterの負荷が1/20になりました。
DNS Rersolverを入れ替えて、MyDNSへの負荷を大きく削減したりも。
結果、見事に、対応に成功しました!
まとめると以下です。
◎Game BaaS Implemented by Ruby
次の講演は、サーバーサイドエンジニアの@tohae による
Rubyによるゲームツールの開発の話です。
様々ある共通のソーシャルゲーム機能を再開発するのではなく、
SDKや管理画面等汎用化し提供することを目的とした、
ソーシャルゲーム向けの機能を追加したBaaS(Backend as a Serivice)です。
こちらを用いればサーバーの開発や運用が不要、というツールです。
このツールをRubyで開発した理由は、
「Perlが書けなかったから!」というもの、だったとのこと(笑)。
もちろん、テストのしやすさとか、Railsが便利、とか、いろいろありますが。
DeNAのインフラに求められる諸条件をクリアして稼働を開始し、
パフォーマンスも悪くない、とのこと。
質問も多く出て、盛り上がりました!
そして、最後はお約束の懇親会です!
みなさんで乾杯し、盛り上がりました!!
また、第五回も予定しておりますので、
ご興味ある方は、ぜひ、お越しくださいませ!