ジーニーは6月22日、ITエンジニアを対象としたイベント「ジーニーTECHセミナー2015」を同社の本社オフィスにて開催した。

同セミナーのテーマは「Challenge」。Google Maps日本版の開発者であり、ジーニーの技術顧問であるMODEのCEO 上田学氏によるSkype基調講演のほか、Kaizen PlatformのCTO 石橋利真氏、RettyのCTO 樽石将人氏によるパネルディスカッションなどが行われた。

まずは「やってみる」ことが大切

基調講演にSkypeで登壇した上田学氏は、米GoogleにてGoogle Mapsの開発へ初期から参加していた。その後、米Twitterにてエンジニアリング・ディレクターを務め、2013年に独立。現在はスタートアップ企業 MODEのCEOとして、IoTのためのクラウド・プラットフォームの開発を行っている。

Skypeで登場した上田氏

上田氏がGoogle Mapsの開発を行っていた当時のチームの目標は「日本でナンバーワンの地図サービスに」。日本では地図の目印となるものが米国とは異なるため、交差点の名前やコンビ二などのアイコンを表示させるなど、日本独特の機能を実装した。

Twitterでは日本発のアイディアとして、東日本大震災を教訓に、災害時のための「Twitterアラート」という機能を開発。政府や災害対策の機関のアカウントをフォローすると、そのアカウントからプッシュ通知が届くものだ。上田氏はそのほかにも、有名人アカウントの認証マークの機能の開発も行っていたという。

上田氏はこれまでにさまざまなサービスを開発してきた

「常にチャレンジを」という姿勢でさまざまな経験をしてきた上田氏は、2013年に独立し、IoTプラットフォームのスタートアップを創業。独立の理由は「やってみたかったから」という、非常にシンプルなものだ。

実際に“やってみる”と、ベンチャーキャピタル(VC)をまわって資金を集めたり、「MakerFair」へ出展してサービスの認知度拡大に努めたりするなど、すべてが新しい経験だった。独立当初のプロダクトのアイディアは、Androidの電話機と中国製のIPカメラを使った低価格のセキュリティシステムだったが、VCとの面談を経て、最終的には現状のサービスに落ち着いたという。

上田氏はこのように、「やりながら考える」姿勢が大切だとしている。「経験やスキルがないから、日本人だから、家族の生活がかかっているから……などという言い訳は“失敗したら嫌だな”という気持ちから出てくるもの。“経験がないからやっちゃダメだ”と止める人はどこにもいない。自分がそう決めつけているだけ」(上田氏)

とはいえ独立には、製品が売れない、資金が尽きる、失敗したら別の仕事を探さないといけない……などといったリスクがつきものだ。しかし上田氏は、「VCでのお金の集め方や展示会への出展方法など、“経験”は残る。最悪のケースは、それほど悪いものではない」とする。「会社に残ってなんとなく記憶に残らない1年を過ごしてしまうことのリスクのほうが大きい。また、過去の栄光にすがりつづけることは、カッコよいものではない」と語る上田氏は、収入よりも、思い出に残ることをしたいという気持ちを判断基準にチャレンジを続けてきた。

上田氏は、「仕事は時間をたくさん使うものなので、おもしろくないことや同じようなことをずっとやっていくよりは、自分が今までできなかったようなことにチャレンジしていくほうがよいのでは」と会場の参加者へメッセージを述べて講演を締めくくった。

ジーニーの“チャレンジ”の歴史

続いて、ジーニーの篠塚英伸氏と徐暁雋氏が、同社の取り組みについて紹介した。同社は、ネット媒体の広告収益を最大化するプラットフォーム「Geniee SSP」の開発・運営を行っており、篠塚氏はGeniee SSPの開発プロジェクトである「Aladdin Project」の開発責任者を務める。

RTB(リアルタイム入札方式)とYieldOptimization(SSP)の概要

ジーニーの篠塚英伸氏

徐暁雋氏

創業以降、Geniee SSPの事業は着実に成長していくと思われていたが、篠塚氏によると、増え続けるリクエストをさばききれなくなったこと、継ぎ接ぎのシステムだったために効率的なYieldロジックが実行困難であったこと、媒体に収益以外の付加価値を与える機会を作れなかったことから、創業5期目にして業績が伸び悩むリスクが出てきたという。そこで、プラットフォームを刷新する「Aladdin Project」が行われることとなった。1日あたり15億リクエストをさばくシステムの構築、マルチリージョンでの広告配信、媒体運用の効率化がAladdin Projectのミッションだ。

徐氏によると、SSP事業の開始当初は、PHPで動作する広告配信システム「OpenX」を改造して開発しており、またRTBは、OpenXの流れを汲み、PHPでcurl関数を扱えるようにするためのライブラリであるlibcurlで実装していたという。しかし、Aladdin Projectでは、それまでの資産をすべて捨ててC/C++でマルチスレッド・イベント駆動開発を行うこととなった。

アーキテクチャの変遷

アーキテクチャの変遷を辿っていくなかで、「良くも悪くも簡単に書けたことがPHPの欠点だった」と徐氏は振り返る。徐氏はPHPの欠点として、データのロックに関する問題を挙げた。PHPでは仕様上、マルチプロセスでロックをしなければならず、たとえばMUTEXが非常に遅いという問題があった。またRTBでは、リクエストごとにPHPのプロセスが作られるので、HTTPのコネクションがKeepaliveできないなど、さまざまなリソースを再利用することができないのも課題だった。

OpenXを利用していた当時のアーキテクチャ

SSPの技術的特性

Aladdinでは、ロックが必要となるのは更新のときのみとなった。また、イベント駆動のプログラムでリソースの再利用ができるようになったため、DSPとのコネクションをKeepaliveしてレイシテンシを減らすことに成功。その結果、従来より約44倍速くなり、高い安定性を示すようになった。

Aladdinのアーキテクチャ

Aladdin Projectの結果

ただし、C/C++のイベントドリブンのコードは見通しが悪く、コーディングに苦労するなど、いくつか反省点もあったという。徐氏は今後の「チャレンジ」として、国際的な広告配信をするための「マルチリージョン配信」に取り組んでいきたいとしている。

Aladdin Projectの反省点

また、現在はAladdin、DMP、AdServerの3つのプラットフォームがバラバラに存在しており、プラットフォームごとに重複してデータを持っていたり、UX/UIが統一されていなかったりするなどの問題があるため、同社は今後、プラットフォームを統合するためのプロジェクトを進めていく考えだ。

イベントでは、ジーニーの執行役員 大塚雅史氏をモデレーターとして、Kaizen PlatformのCTO 石橋利真氏、RettyのCTO 樽石将人氏によるパネルディスカッションも行われ、各社の開発環境や海外展開の話題で盛り上がっていた。

左から、ジーニー 大塚雅史氏、Retty 樽石将人氏、Kaizen Platform 石橋利真氏