雲を駆け抜けろ

第8回 ソーシャルゲームベンダは,どのようにクラウドを利用しているのか?

この記事を読むのに必要な時間:およそ 2.5 分

ソーシャルゲームベンダのクラウド

クラウド,とくにIaaSを利用しているユーザの中で,メインユーザとして名前が挙がるのが「ソーシャルゲーム」を作成する「ソーシャルゲームベンダ」です。ヒットすれば,大量のアクセスが来て複数のサーバを準備しなければなりませんが,ゲームがまったくヒットしなければ購入したサーバは無駄になってしまいます。

今までの物理サーバであれば,サービスの需要に合せてサーバ数を増減させるということはできませんでしたが,クラウド(=IaaS)の場合は,サーバ数の増減が可能です。リリースしたソーシャルゲームがヒットすればサーバを増やしたり,性能をあげることもできますし,人気が無くなればサーバをすぐに減らすことも可能です。

このように理屈の上では「ソーシャルゲーム」とクラウド(=IaaS)は,非常に相性が良いと思いますが,実際のところはソーシャルゲームベンダはどのようにクラウドを利用しているのでしょうか? 今回は,株式会社エクストーンの仲山昌宏さんに,ソーシャルゲームベンダが,どのようにクラウドを利用しているか,お話を伺いました。

エクストーンについて

Q:御社の紹介をお願いします。

A:弊社(株式会社エクストーン)はウェブサイトやスマートフォンアプリの開発会社で,ソーシャルゲームは受託も自社の企画も両方やっておりまして,受託の方も単なる「デザインや開発」の受託も行いますし,企画を1から起こすこともあります。ソーシャルゲームが普及をしはじめた初期のころからソーシャルゲームの企画・開発を行っています。

仲山 昌宏さん

仲山 昌宏さん

ソーシャルゲームでIaaSを利用する理由

Q:なぜソーシャルゲームでクラウド(=IaaS)を利用するのでしょうか?

A:ソーシャルゲームがヒットして継続する場合,ソーシャルゲームの需要に応えるためサーバを用意しなければなりません。クラウドの場合は,スケールアウトがしやすいので物理サーバと比べて容易にサーバを増やすことができます。

また,クラウドではスケールアップもできます。アクセス集中などでサーバが過負荷となった場合は,スケールアップを行って対処することもあります。このようにアクセスが急に増えた場合はスケールアップ・スケールアウトなどの力技で対応することができるので,ソーシャルゲームにとってクラウドは使いやすいです。

Q:ソーシャルゲームでは,クラウド(=IaaS)以外のプラットフォームは利用されないのでしょうか?

A:「クラウド」だけでなく,専用サーバやVPSなども利用しています。(キャンペーンページなど)静的なWebページを作る場合や,ソーシャルゲームでもゲームが提供される期間や費用を考えた場合,VPSや専用サーバを選択する場合があります。

ゲームの提供期間が決まっている場合や,サーバへのアクセスがある程度予想できるもの,また,費用をかけられない場合はVPSや専用サーバを利用するケースがあります。クラウドの場合は,すぐに止められるのがメリットですが,従量課金制度のため実際に出費する金額はわかりませんし,アクセス数が予想でき利用するサーバスペックを決められるのであれば,専用サーバやVPSを利用した方がメリットがあります。

クラウド選択のポイント

Q:御社ではさまざまなクラウド(=IaaS)を試されていると思いますが,クラウドベンダを選定するポイントを教えてください。

A:LAN間のプライベートのセグメントを自由に分けられるベンダーは評価が高いですね。もっとも,最近ではほとんどのクラウドで利用できます。当初,AWSにはこのような機能はありませんでしたが「Amazon VPC※1)」が登場してきてますし,国内のクラウド事業者でも,ほとんどが利用できます。

その他の選定ポイントとしては「Amazon RDS※2)」などのPaaS的な機能があるかどうかもポイントの1つとはなります。例えば,データベースの運用に長けたエンジニアの手が足りない場合は,RDSを利用すればデータベースのバックアップやレプリケーションが利用できますし,S3のようなオンラインストレージもあれば便利と言えば便利です。ただ,これらもクラウドを選ぶ時の必須条件ということではなく「あれば便利」といったようなものです。

Q:機能が必須条件ということでは無いということですが,それでは,どのような事がクラウドベンダ選定のポイントになっているのでしょうか?

A:機能,性能価格比,契約形態の組み合わせで,要件に見あったクラウドベンダーを選択しています。例えば契約形態であれば完全に従量課金制を取っているベンダーもあれば,月額固定の料金制度を選択できるベンダーもいます。大規模で数台のサーバが停止してもカバーできるような設計をとれる場合にはAWSを,ある程度サーバの安定が求められるがサーバの台数やスペックを増減する可能性がある場合は国内クラウドベンダーのクラウドを,予想される負荷が低く台数やスペックを増減させないものはVPS等の安価なベンダーを利用します。

また,弊社独自のフレームワークがあるのですが,これも特定のクラウドベンダ向けに作っています。これらのフレームワークが利用できるか,といった所も大きなポイントです。

※1)
Amazon Virtual Private Cloud。AWS上で独立したセクションを利用できる機能。
※2)
Amazon Relational Database Service。クラウド上でMySQLなどのデータベースを利用できるサービス。

IaaSとPaaSの比較

Q:最近ではPaaSを利用してFacebookアプリをローンチする所も増えていますが,本格的なソーシャルゲームでの事例は,それほど聞こえてきません。どうしてでしょうか?

A:弊社でソーシャルゲームの作成には,PaaSは利用しておらず,ほとんどIaaSを利用しております。PaaSを利用していない理由ですが,細かいチューニングの可否やコストなど,メリットやデメリットの評価ができていないからです。メリットがはっきりしてくればPaaSも取り入れたいと考えていますが,現状ではあくまで検討段階です。

Q:大きなソーシャルゲームベンダでは,自分達のプライベートクラウド※3を構築しています。このようなプライベートクラウド環境についてはいかがですか?

A:世界的なソーシャルベンダでは,そのようなプライベートクラウドを構築して,パブリッククラウドと使い分けをしていると聞いています,弊社の場合は,サービス用途にはプライベートクラウドは構築しておりません。弊社の規模ですと,大規模な資産を自前で所有するメリットに乏しいためです。

ただ,開発・検証用のサーバについては,自社のサーバに仮想化基盤ソフトを入れて,簡易的なプライベートクラウドを構築しています。ソーシャルゲームの開発などは,その上で行っています。

Q:なぜ開発・検証用では仮想化技術を利用されているのですか?

A:「物理サーバの故障」から開放されることが一番のメリットです。物理サーバを運用していると,どうしてもサーバが故障するので,故障する度に新しいサーバの手配などを行わなければなりません。しかし,仮想化基盤の上で構成された仮想サーバであれば,物理的なホストサーバに問題があった場合は,マイグレーションを行えば問題ありません。

あと,細かい所ですが,仮想化を採用すると,必然的にサーバの台数が少なくなり資産管理がやりやすいです。

※3)
ここでいうプライベートクラウドは,パブリッククラウドを利用するのではなく,社内にある物理サーバに仮想化基盤構築ソフトを利用して作成した,クラウド環境のことを指す。

インフラエンジニアのキャリアパス

Q:最後にインフラエンジニアのキャリアについて,お伺いいたします。クラウドの登場によって,インフラエンジニアの仕事はどのようにかわっていくのでしょうか?

A:クラウドの登場によって,いわゆる(ただ,サーバの手配をするような)作業者的な人達は減ってくると思います。ハードウェア故障の対応時間も減るので,その分「拘束時間」も減ってくるでしょう。

クラウド自体では「インフラエンジニア」は減らないとは思いますが,クラウドの登場によって,様々なAPIが登場しプログラマブルになった結果,DevOps※4的な動機から開発者の人がインフラを見るようになるケースも増えてきていると思います。そうなると,プログラミングができない「インフラエンジニア」は仕事がやりにくくなってくるでしょう。

このようなDevOps的な開発スタイルを行う会社が増えてくれば,インフラだけを見るという意味での「インフラエンジニア」という職種は減ってくると思います。

※4)
開発部門,運用部門などの異なる部門ごとの間の統合・コミュニケーションを行うためのメソッド。開発部門,運用部門,品質管理部門の新しい相互関係という捉え方が一般的。

まとめ

今回は,エクストーンの仲山さんにソーシャルゲームベンダのクラウド(=IaaS)の利用方法について伺いました。ソーシャルゲームベンダ業界は,他のWebサービスと比べてかなり早い段階からIaaSを利用してきたということもあり,お話を伺っていると数年後には,他の業界でもクラウドをこのように利用されていくと思います。そういう意味でも,今回の仲山さんのお話は,ソーシャルゲームベンダ以外の人達にも参考になると思います。

また,インタビューの後半に出たDevOps的な開発についても,クラウドがこのDevOps的な開発スタイルを加速させているように思えました。これは,単に私が思っているだけなのかもしれませんが,DevOpsという言葉には開発者と運用者が相互に協力し合うというイメージがありました。

しかし,仲山さんのお話を聞いてからDevOpsという言葉は両者が融合していくような言葉と思えてきました。クラウドが登場してから,インフラエンジニア側はプログラマブルな能力が必要となりますし,開発者側はクラウドを利用することで,インフラをより簡単に利用できるようになり,両者の境目はます々なくなっていくでしょう。DevOps的なアプローチは両者の共存ではなく,クラウドによって「融合」していくものになるのかもしれません。

著者プロフィール

横田真俊(よこたまさとし)

大学卒業後,調査会社を経て現在はIT系企業のクラウド事業の企画業務を担当。個人活動として,FacebookやTwitter,クラウド本の執筆なども行っています。

TwitterのIDは「@Wslash」です。

コメント

コメントの記入