ソーシャルアプリのパイオニアである、gumiの取締役最高技術責任者・堀内康弘氏によるセッションの模様をお伝えします。
株式会社gumiの取締役最高技術責任者である堀内康弘氏によるセッションのテーマは、「Webエンジニアが押さえておきたいソーシャルアプリ開発のツボ 国産プロバイダーgumiの実力を見る!」。堀内氏は、PerlによるWebアプリ制作を10年ほど行い、職歴としてはWeb受託から動画共有サイト「FlipClip」の立ち上げに関わり、gumiに入社してからはPythonを使用しているといいます。
gumiは2007年6月に設立された会社で、もともとエンターテイメントに特化したソーシャルネットワークを提供しており、ソーシャルアプリについてはmixiより早い時期から提供していました。その後、mixiのプラットフォーム公開に合わせて参入し、現在ではソーシャルアプリ開発が9割を占めています。
負荷対策が重要なソーシャルアプリは、低コストのクラウドで開発に集中
堀内氏はまず、ソーシャルアプリの定義について説明しました。ソーシャルアプリとはSNS上で動作するWebアプリケーションであり、従来のWebアプリケーションと比較して通信がSNSのプラットフォーム経由になること、ユーザ認証がOAuthになること、すでに多くのSNSユーザが存在することからアプリのリリース直後から膨大なアクセスが発生すること、課金や集客の仕組みがAPIで用意されていること、そしてライフサイクルが短期決戦になることを挙げました。
特にSNSではアプリが新着やオススメで紹介されるため、このタイミングで一気に勝負をかける必要があります。勝利するには指標となる数値を見ながら毎日改善を行っていくことが肝要としました。具体的には、ひとつひとつのアクセスを見て、ユーザがどこで詰まるか、やめてしまうのかを把握して、毎日PDCAサイクルを繰り返します。これで正のスパイラルに乗って勝負に勝てば、長期にわたって安定する可能性もあります。
ひとつのゲームは、多くても5名程度で運用します。厳しい仕事ですが、大量のトラフィックをさばく楽しみや、アクションに対するレスポンスが大きく早いこと、データベース設計や負荷対策など、技術的に面白い部分も多いといいます。やはり大事なのは基本で、いかに学んで自分知識を試せるかがポイントであるとしました。
すべてのアプリはAWS(ELB+EC2+RDS)で運用しており、その理由は当初他に選択肢がなかったこと、ハードウェアのメンテナンスが不要でインフラエンジニアがひとりで済むこと、必要なときに必要な分だけ増減できること、可用性の高いサーバーを容易に構築できることなどを挙げ、あらゆる設定をブラウザベースで行うことができ、すぐに反映されることが大きなメリットであるとしました。最後に「クラウドの普及で、Webエンジニアはさらにモテる」としてセッションを締めくくりました。