なにをやっているのか
DSPパッケージ "fractale"
DSP(Demand Side Platform)と呼ばれるシステムや、動的バナー広告など先進的な広告システムを、受託開発および自社製品として開発・コンサルティングしています。
DSPとはデジタル広告において広告主が出稿する広告効果の最大化を支援するシステムのことで、具体的には、RTB(Real Time Bidding)をはじめ、予算や入稿の管理といった基本的な機能から、オーディエンスの属性に基づいた配信の最適化、配信枠の最適化などのインテリジェントな機能までを提供するシステムです。
自社製品としてはプライベートDSPパッケージ「fractale」があります。DSPとして基本的な機能を備えながら、クライアントのデータ資産や事業領域に合わせたカスタマイズを行える、サーバインストール型のDSPパッケージ製品です。
開発にあたっては、関数型言語であること、パフォーマンス面、エコシステムの発展性などの理由で、主に Scala を利用しています。Scalaに限らず、関数型言語や新しい技術が好きなエンジニアが集まっていますので、新しいことが受けいられやすい環境です。
どうやっているのか
Demand Side Science では、ほとんどの成果物が Scala で実装されています。fractale では Webビーコンに Play Framework を採用、またRTB取引サーバには Twitter が公開している RPCフレームワーク「Finagle」を使い、ハイパフォーマンスを実現しています。
またフロントエンドJavaScript は Backbone.js で構造化。メインデータベースは MySQL で、バックエンドのログ基盤として HBase & Hive を使用しています。
テストについては Specs2 でサーバー側、Jasmine でフロントエンドの単体テストを記述しています。
インフラはオンプレミスで、構成管理に Ansible を使っています。
チーム開発は GitLab 上で行っており、チケット管理に Redmine、HipChat でチーム内のコミュニケーションを取っています。