platformJP2_A

u-Server

RTB等リアルタイムの自動取引においては、数ミリ秒を争う超高速環境での判断/速度が非常に重要となります。IPONWEBのu-Serverは非常にインテリジェントな広告取引ディシジョンエンジンとしての利用を意図してデザインされた、高いスケーラビリティと柔軟性を誇るHTTPサーバーです。

これまでも多くのカスタムアドサーバーやDSP/SSP等の自動取引システム、オーディエンスマネジメント用のピクセルサーバーの構築に利用され、成功を収めてきています。現在も数十億/日を越える広告配信ディシジョンのリクエストを処理している、非常に成熟し鍛え抜かれたシステムとなっています。

スケーラブルで柔軟な広告配信を実現

アルゴリズムベースで広告配信ディシジョンを行うエンジンを初めて開発するチームの多くは、ApacheまたはMS-IISといった一般的なHTTPサーバーを使用してコアアプリケーションロジックを構築するところから開発プロセスをスタートします。さて、開発チームが無事に魅力的で有用なアプリケーションを構築できたとしましょう。プロダクトが軌道に乗り始めると、広告配信ディシジョンのボリュームはあっという間に急上昇し、予想されるスループットに対応するためにはサーバーを大幅増設するか、ベースとなるコードを改修しなければならないような状況が発生します。

これは標準的なHTTPサーバーが大規模データの効率的な処理に向いていないためなのです。1日十万程度の広告ディシジョンであれば問題ありませんが、1日一億、それどころか1日数十億となると手に負えません。サーバーの大量利用は金額もメンテナンスも高コストですし、ベースとなるコードを変更するとなると、業務が半年〜1年麻痺することとなり、これも高くつきます。急激な広告ディシジョンボリュームの上昇は、つまりデータセンターのサーバー数の増設を意味し、スケーラビリティについての問題が浮上してきます。

IPONWEBのu-Serverは、スケーラブルなシステムを構築するための、非常に重要なファーストステップなのです。

  • 初期段階でのコストを効率的に削減
  • ボリューム増加に伴うベースコードの変更等の問題発生を回避
  • 他のHTTPサーバーと比較できないレベルの高いスケーラビリティを備えつつ、標準的なハードウェア上で稼働し、驚異的にコスト効率の高い配信を実施

効率性と高速性に優れたコーディング

優れたスケーラビリティを持つアプリケーションは、通常いくつかの矛盾を抱えています。ディシジョン効率を高めたい場合はC++またはJavaで開発するのが普通ですが、それと同時に最初の開発によるファーストローンチで、実際に求めるレベルの製品を迅速にエンジニアリングしたい訳です。これは通常大変難しい課題ですが、私たちIPONWEBはスクリプト言語の複合利用によりこの問題を解決しました。IPONWEBのu-Serverでは、「Lua」というスクリプト言語を効果的に活用することにより、非常に短期間でアプリケーションのディシジョンロジックを構築/実装/改良することが可能です。Lua言語でディシジョンロジックを規定する部分と、ベースとなるHTTPサーバーのエンジニアリングな部分を切り離してあるため、ビジネスの変化に応じたディシジョンロジックの改良を安全かつ効率的に行うことが可能です。

ビジネスロジックを切り離すことで、u-Serverを利用した各ソリューションは完全にクライアント独自のソリューションとなります。非常に小さいLuaのベースコードと組み合わせることにより、ビジネスモデルに基づくカスタムディシジョンロジックの高速開発/改良を実現します。ビジネスロジックを独立させることにより、コードテスト要件が大幅に削減でき、広告配信のベースコード全体におけるロジックテストは必要なくなります。私たちのクライアントがちょっとしたビジネスロジックの変更を実装決定したその日のうちに、私たちがその機能をリリースすることは、決して珍しいことではありません。

グローバルなシングルテナントアプローチ

IPONWEBは、クライアントのトラフィックプロファイルに応じ世界中の主な地域全てにおいてu-Serverインスタンスのデプロイを実施してきました。u-Serverのクラスターは、アメリカ、ヨーロッパおよびアジア全域のデータセンターに存在しています。

各地域に位置するこれらのデータセンターでは、各クライアントの広告取引ソリューションをそのクライアント専用のu-Serverで使用する、シングルテナント制となっています。つまり、あるu-Serverクラスターで実行されているのは、そのクライアントのアプリケーションに対するディシジョンロジックのみで、u-Serverを利用している他のクライアントの機能が実行されることはありません。

この、シングルテナントアプローチには次の利点があります:

  • ソリューションに含まれる機能パッケージはそれぞれのクライアント専用で、必要なもののみ提供
  • 他のIPONWEBクライアントに依存することなく、自分の機能パッケージのみの構築/改良となるため、高速なソフトウェアリリースが可能。ビジネスロジックの変更を実装決定したその日のうちにリリース可能
  • クライアント個別のサービス提供により、クライアント特有のニーズに応じたアップタイムに対応
  • u-Serverにデータ出入力を行うデータパイプも各クライアント専用のため、他のクライアントとの兼ね合い無しにデータパイプの迅速な変更が可能
  • キャンペーン予算管理機能など全クライアントにとって有用なベーシックな機能は、u-Serverライブラリのフレームワークに抽出され、全クライアントのソリューションデザインで即時使用可能