転職・求人DODAエンジニア IT/トップ > 転職情報・成功ガイド > ギークアカデミー > 少人数チームで230カ国を相手に、AWSとRailsでAndroid向けアドネットワークを運営 株式会社メタップス プラットフォーム事業部 システム開発チーム マネージャー 小森谷一生 氏

GEEK ACADEMY 先端を走る技を、ギークに学ぶ

掲載日:2014.1.16
このエントリーをはてなブックマークに追加

少人数チームで230カ国を相手に、AWSとRailsでAndroid向けアドネットワークを運営

株式会社メタップス プラットフォーム事業部 システム開発チーム マネージャー 小森谷一生 氏

SIerにてエンジニアとして従事。その後Livedoor、GREEと活躍の場を移し、現在はMetapsで開発部門のマネージャーを務める。主にLL系言語(Perl,PHP,Ruby)による大規模サーバサイド開発、SmartPhone向けSocial Game Platform開発、Feature Phone、Smart Phone広告システム開発に強みを持つ。


Android向けアドネットワークを運営するメタップスは、小規模なチームで全世界に向けたサービスを構築、運用中である。前編では、メタップスでエンジニアチームを率いる小森谷一生氏が、DODAエンジニアが開催したセミナー「アドテク開発のリアル」で講演した内容に基づき、AWS(Amazon Web Services)のクラウドサービス群とRuby on Railsを駆使するシステムの実情に迫る。


講演で使用したスライド 「メタップスでの少人数グローバルプラットフォーム開発について」

地球全体に向けたサービスを作る

メタップスは、Androidアプリ開発者向けの広告プラットフォームを世界230カ国に提供しています。AndroidアプリにメタップスのSDK(ソフトウェア開発キット)を組み込むことで、アプリの収益化をサポートします。今回は、「少人数でのグローバルプラットフォーム開発の裏側」についてお話します。
メタップスは新宿にヘッドオフィスがあり、それを含めて世界中に7カ所のオフィスがあります。韓国ソウル、中国の上海と香港、シンガポール、台湾、シリコンバレーです。今、ヨーロッパにオフィスを立ち上げ中です。
開発はすべて新宿で行っています。海外オフィスを含めたメタップス全体では、約60名、15国籍ぐらいになります。多国籍、異文化のチームは飲み会のセッティングが大変です。牛肉が食べられない人がいたり、寿司がダメな人がいたりするからです。
私たち開発チームには共有している要件があります。「世界のすべてのAndroidアプリがメタップスのサービスを導入できること」です。要件というより、夢、かもしれませんが。私たちは、「世界は一つ」の市場と捉えることを最も重要視しています。これが開発の大前提です。
この前提から、たくさんの課題が発生します。世界中の言語に対応しないといけません。通信速度もまちまちです。日本の携帯電話は高速・高品質ですが、世界を見ればまだまだ2Gで通信している端末がたくさんあります。端末スペックも多様です。見たことがないような変わったAndroid端末が使われている場合もあります。アクセスのピークを考慮するときにも時差を考慮しないといけません。広告料金では異なる通貨をサポートしないといけません。国の物価水準により広告単価もまったく違います。Google Playがまだ対応していない国もあります。国が違えばセキュリティ面の環境も大きく変わります。

AWSで全世界にまたがる分散システムを構築

こうした多様な課題に対応するため、私たちのシステムではAWS(Amazon Web Services)とRuby on Railsを選択しました。
AWSは、もうこれ以外の選択肢がないというぐらいにアドテク分野ではよく使われているサービスです。ビジネス上の環境を考慮した上、AWSのJP(日本)、US(アメリカ)、EU(ヨーロッパ)、SG(シンガポール)の4リージョンにサービスを展開しています。4リージョンを合わせると、1日で数億リクエストを処理しています。意外に南米からのリクエストが多いことから、サンパウロのリージョンの立ち上げも検討しています。
データも分散して管理する必要がありますが、マスターデータはJPリージョンに置き、他のリージョンはリードオンリーとしています。マスターデータを分割したり同期させたりすると管理コストが高くなるため、一カ所にマスターデータを置いて一貫性を保つ方法を採用しています。
AmazonのDNSサービスAmazon Route 53を活用して、広告表示のさい、端末の地理的な位置に対して物理的な距離が近いリージョンにアクセスが向かうようにしています。例えば、ヨーロッパのユーザーはEU、韓国のユーザーはJPと異なるリージョンに接続するようになっています。ただし、未解決の問題として、ロシアからのアクセスがなぜかUSのリージョンを向いてしてしまう現象があります。実際には、ロシアの東側であればEUリージョン、西端であればUSのリージョンに向かってほしいのですが。これは実機検証をしたい種類の課題です。
広告バナーの画像は、すべてAmazon CloudFront(コンテンツ配信用のWebサービス)を使っています。
AWSの各リージョンで、Amazon VPC(Virtual Private Cloud)によりネットワークを管理しています。センターのダウンに備え、アベイラビリティゾーン(AZ)は2カ所以上に分割しています。キャッシュサーバーも、ネットワークコスト低減のため分割しています。
EC2インスタンスの使い方ですが、私たちは4種類の使い分けをしています。RailsサーバーUnicornやHTTPサーバーnginxなどを置く「APIインスタンス」、データベースやキャッシュ系のサービス、具体的にはAmazon RDS for MySQL、Amazon Dynamo、Amazon ElastiCacheを動かす「ストレージインスタンス」、データを収集する「Fluentdホスト」、Amazon Redshiftでデータ分析をする「DataWharehouse」です。
AWSのオートスケール機能は基本的に使っていません。設定、運用コストの高さに加え、デプロイ作業で衝突する可能性があるからです。最近リリースされた新しいEC2インスタンスのc2.xlargeがパフォーマンスがいいので、全台リプレース中です。ただ、c2.xlargeの在庫が少なくなってきた感触なので、調達するなら急いだ方がいいです(笑)。

課題を迅速に解決することを優先しRailsを採用

よく友人から「アド(広告)システムにRuby on Railsを使って遅くないか?」と聞かれます。アドテク分野では"50ms or Die"という言葉があります。これは、DSP(デマンドサイドプラットフォーム)業者は50ms以内にレスポンスを返さないと売上げが立たないからです。
ただし、私たちは、高速ネットワークで接続することを前提としたDSPとは異なり、Android搭載の携帯電話のネットワークを相手にしたアドネットワークを運営しています。携帯電話の世界では、世界中を見渡せば一回のアクセスに数秒かかるようなネットワーク環境のところもあります。こうした中で数msの性能向上を追求するよりも、むしろアイデアを駆使して、世界中に提供できるユーザー体験として、より早い表示を目指す事の方が大切だと考えています。そこで、素早く開発サイクルを回すことができるRuby on Railsが最適だと考えて採用しました。なお、私たちのシステムも、アップストリームのレスポンスタイムは50msを切っています。
私たちのSDK(ソフトウェア開発キット)は、Androidアプリのデベロッパが簡単に導入できることを心掛けています。2行のJavaコードを追加するだけで導入できます。Android上のプログラムは、可能な限りバックグラウンドプロセスで動かし、どんな通信環境でもストレスを与えないことを目標にSDKを開発しています。ドキュメントも製品の一部と考え、品質が高いものにしようとしています。
私たちのサービスで、これから試みたい技術的なチャレンジはたくさんあります。一つのテーマは自動デプロイの環境を構築することです。また、ユーザー数が多いAndroidアプリがバージョンアップしたとき、そこに組み込まれているSDKのイニシャライズにより、瞬間的にサーバー負荷が高まる現象がありますが、それに対処する方法を考えることも課題です。
私たちが共有する目的、スローガンは「世界を変えよう、劇的に」「信じよう、他人の目よりも自分の情熱を」です。現在のチームの人数で、今の10倍以上のトラフィックをさばけるように構築してある自信を持っています。ですが、さらに「世の中を一歩前へ進める価値の提供」する必要があると考えていますので、仲間を探しています。

「「目的の共有」を意識しつつ、多国籍チームでスピードを追求する」:インタビュー後編へ続く

「ギークアカデミー」バックナンバーはこちら

ギークたちが活躍するインターネット業界のエンジニア求人一覧は以下よりご確認頂けます。

エンジニア求人を見る

DODAエージェントサービス 専任のキャリアアドバイザーが、キャリアアドバイスから求人紹介、退職フォローまでを一貫してサポートします。ご利用になりたい方は、こちらからご登録をお願いします。はじめて退職する方のために3分でわかるエージェントサービスのメリットを紹介 エージェントサービスに申し込む(無料) 3分でわかるエージェントサービスのメリット
ITエンジニア・クリエイター合格診断

無料エージェントサービスに申し込む

IT業界に精通した専任のキャリアアドバイザーが、エンジニアの転職活動を無料でバックアップします。

イベント情報

転職のプロに相談できる DODAエンジニア個別相談会

おすすめ診断コンテンツ

ITエンジニア・クリエイター合格診断

あなたの“本当の年収”や今後の“年収推移”も分かる!年収査定サービス[無料]

インタビュー、コラム

アプリケーションエンジニアのための転職力アップ法

アプリケーションエンジニアのための転職力アップ法

エンジニア特有の転職成功ノウハウや市場動向をご紹介

インフラエンジニアのための転職力アップ法

インフラエンジニアのための転職力アップ法

インフラ領域特有の転職成功ノウハウや市場動向をご紹介

業界専任キャリアアドバイザーの連載コラム Webクリエイターのための転職力アップ法

Webクリエイターのための転職力アップ法

クリエイター転職特有のノウハウ・事例などご紹介!

未来を創る 意志あるエンジニアたち

未来を創る 意志あるエンジニアたち

最前線で活躍するエンジニアのこだわりに迫る

GEEK ACADEMY

GEEK ACADEMY

先端を走る技術を、ギークに学ぶ

メールマガジン無料配信

簡単登録で最新の転職情報、
希望の求人が届く