月間150億PV超,延べ会員数は1600万人以上と,多くのユーザに支持されているソーシャルアプリケーション(図1)をリリースし続けているのがグループスです。R2,そして実際の開発をC#とASP.NETで行うなど,Microsoftのテクノロジを積極的に採り入れていることも見逃せないでしょう。同社の取締役CTOである池田秀行氏(写真1)に,ソーシャルアプリケーションの開発に至った背景や,Microsoftの技術を積極的に採り入れている理由などについて伺いました。独自のSNS開発がきっかけでソーシャルアプリの世界へ「もともとは広告代理店として立ち上げられた会社で,扱っていたのも紙媒体であり,いわゆるネット系とは全然関係のない事業分野だったんです。そこに私が2007年にジョインしまして,広告代理店業の傍らでゼロベースで自社サービスを作ろうということになりました。インターネット上でのサービス開発という意味では,そこがスタートだったのです。Applications)が流行していたこともあり,そうした技術を使ってSNSを作ればおもしろいんじゃないかということでコミュニケーションサービスを開発しました」こうして開発したSNSは思うようにユーザ数が伸びなかったようですが,そのあとに新たな転機となったのが携帯電話をターゲットとしたSNSの流行です。「携帯電話にターゲットを絞ったSNSが各社から登場し,人気を集めていたんですね。いった世の中の流れを受けて,携帯電話向けに自社サービスとしてモバイルSNSを開発しました。以前開発したPC版のバックエンド部分を流用しつつ,携帯電話からアクセスできるようにフロントエンドを作りなおした形です。そのあと,さらにソーシャルネットワークとゲームを組み合わせたサービスが登場して人気になったのを見て,自分たちでもやってみようとゲームをリリースしました。池田秀行氏エンジニアが本来の業務に集中できる環境ソーシャルアプリケーションの開発,運用において,一般的に使われているのがLinuxとApache,MySQL,PHPを組み合わせたLAMP環境でしょう。R2,そして開発はやはりMicrosoftのC#とASP.NETを利用しています。Microsoftのこうした製品や技術は,業務系アプリケーションの領域では幅広く使われている一方,ソーシャルゲームの開発・運用で使われるケースはけっして多くはありません。その理由の1つとして,ライセンスコストの問題が挙げられます。Serverはプロプライエタリなソフトウェアであり,利用するにはライセンスコストが必要となります。サーバの台数が少なければライセンスの負担も小さくて済みますが,人気の高いソーシャルアプリケーションでは,大量のアクセスを迅速にさばくために,複数台のサーバを利用して負荷分散を行う構成を採るのが一般的になっています。Serverを利用した場合,負荷分散のためにサーバを増やせば,それだけコスト負担が大きくなってしまうわけです。このようにコスト面での負担があっても,Microsoftのソフトウェアや技術を使うメリットは大きいと,池田氏は言い切ります。「たしかにコストはかかりますが,あまり気にしてはいません。安くはありませんが,それ以上のメリットがあると考えています。Serverを実際に利用していると,その完成度の高さを実感します。Serverは本当にメンテナンスの手間がかからないんです。Serverであればそうした情報がなくても問題なく運用できます。Studioというツールを利用すると,『⁠こういうインデックスを張ればパフォーマンスがどれくらい改善します』といったことをアドバイスしてくれるんです。いったチューニングはエンジニアとしての腕の見せどころではありますが,別にそれが目的ではないですよね。ツールにできることはもう任せてしまって,本来エンジニアがすべきことに集中できる。いったところが魅力です」グループスがC#での開発にこだわる理由さらに池田氏は,C#の開発生産性の高さにも言及します。「C#はJavaに比べてはるかに開発生産性が高いと考えています。言語としての完成度も高い。それから,開発から実行,そしてデータベースまで含め,シームレスに環境が整えられているところも魅力です。たしかに,カスタマイズ性という観点から考えるとLAMPと呼ばれる環境には及ばない部分があります。Javaであればミドルウェアの選択肢が数多くあり,好みのものを選択して利用できます。その一方で相互運用性の問題を意識しなければならないわけです。Microsoftのソフトウェアや技術であれば,それぞれがシームレスにつながっているので,そのあたりを強く意識する必要はありません。いった部分においても,Microsoftのソフトウェアや技術を使うメリットは大きいと考えています」ちなみに,池田氏自身はもともとJavaエンジニアだったと話します。「この会社に来る前は,SEとして働いていました。そこで使っていたのはJavaで,業務でC#を利用してアプリケーションを開発した経験があったわけではありません。単純に言語としてC#は完成度が高いと感じていて,最初にSNSを作る際にバックエンドの開発に利用したんです。して実際に使うようになってから,Javaよりも開発生産性が高いということがわかったわけです。実際に同じものをC#とJavaで開発して比べたわけではないので,定量的にどのくらいかとは言えませんが,コード量は圧倒的に少ないというのは言えると思いますし,コード自体も書きやすいですね」ただ池田氏は,すべてをMicrosoftに頼っているわけではないとも話します。具体的には,フロントエンドにはLinux上で動作するNginxを利用しているほか,複数台のサーバのメモリを使ってキャッシュシステムを構築できるmemcached,あるいは分散KVSとして注目を集めているRedisなども使っているとのこと。何かにこだわるのではなく,あくまでもニュートラルな立場で,目的を達成するために最適なものを選択していくということのようです。エンジニアが意欲的に働ける環境を構築さて,グループスではコンテンツごとに7~12名のプロジェクトチームを作って開発・運用を行っているとのこと。チームの内訳は,コンテンツ責任者であるディレクターとエンジニア側のコンテンツ責任者であるメインエンジニア,そしてメインエンジニアを中心に,デザイン面での責任者であるプランナーとエンジニア,Webデザイナーとイラストレーターで構成されており,Flash開発者やインフラエンジニアは全プロジェクトに横断的に関わるという形になっているようです。新しいものに積極的にチャレンジし,意欲的にプロジェクトに取り組んでもらいたいという考え方から,プロジェクト間での人の異動も頻繁に行われています。「1つのプロジェクトにじっくり取り組むというやり方もありますが,チームの固定化には弊害もあると考えています。そのためグループスでは,プロジェクト間のメンバーの移動は頻繁に行っています。新しいことにチャレンジしてほしいということと,やる気を出してプロジェクトに取り組んでほしいというのが理由ですね。メンバー自身が手を挙げて,プロジェクトを移動することも珍しくありません」また,「⁠グループスで働くエンジニアには作業者にはなってほしくない」と池田氏は話し,その理由を次のように説明します。「人が多くなるとどうしても作業分担ができてしまうと思いますが,いつも同じ仕事だとつまらないじゃないですか。発注する側とそれを受けて作業する側に完全に分かれてしまうと,作業する側は受け身となってしまいますし,仕事に対する不満も出てくると思うんです。100万人規模の会員を少数のメンバーで運用するという形をとっているため,時間的に厳しくなるケースも多々あります。そのとき,単なる作業だと『なぜこんなにツラい仕事をやってるんだ?』という話にもなりかねません。いう状況に陥ることなく,個々のエンジニアが高いモチベーションで働ける環境を整備していきたいという考えから,プロジェクトチームのメンバーは流動的に動けるようにしています」グループスが求めるエンジニア像それでは,グループスはどういったエンジニアを求めているのでしょうか。これについて池田氏は,まず「自分でサービスを作りたい」と思っているかどうかが一番重要だと言い切ります。「自分でソーシャルゲームを開発し,多くの人に楽しんでもらいたいと考えているかどうか。開発スキルは当然求められますが,それ以上に自分たちのサービスを責任を持って届けたいという気持ちを持っているかどうかを重視しています」ちなみに異業種からの転職は難しいのではないかと考えている人が多いそうですが,実際にはそうではないようです。「ゲームに関しての開発経験は不要ですね。ゼロでいいと思います。ユーザとしての感覚は求められるので,ソーシャルゲームを楽しめる人に来てほしいですね」グループスのエンジニアには,自分たちのサービスを責任を持って届ける気持ちが求められる最後にグループスで働くメリットについて聞いたところ,次のような答えが返ってきました。「グループスでは,大量のトラフィックを効率的にさばくために新しい技術も積極的に採り入れているので,そういったところに興味がある人にはチャレンジしがいのある職場ではないでしょうか。Professional)を受賞したエンジニアも在席しています。「大召喚!マジゲート」「⁠大熱狂!!プロ野球カード」「⁠大連携!!オーディンバトル」のヒットなどにより,国内有数のソーシャルアプリケーションプロバイダとなったグループスですが,サンフランシスコやベトナムに開発拠点を設立するなど,さらなる成長を目指して意欲的に事業を展開しています。エンジニアとしてのステップアップを考えるうえで,このように成長する会社で働くことは大きなプラスとなるのは間違いないでしょう。グループスでは,強い好奇心を持ったエンジニアを募集しています。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。