サイバーエージェント主催「アドテク×Scala meetup」レポート!

2014年11月20日、株式会社サイバーエージェント主催で「アドテク×Scala meetup」というイベントが開催されたので、参加して来ました。アドテク系の会社で導入事例が増えてきている関数型言語Scala。第一線で使っているエンジニア達が、その採用の背景やScalaを使ってみた感想などを語り合いました。

■ScaleOutのAd GenerationはこうしてScalaを使っている

最初に登壇したのは株式会社medibaで現在は株式会社ScaleOutに出向している野村欣弘さん。「アドテクを支えるScala – Ad Generationの場合」がテーマです。

野村欣弘 さん/株式会社mediba(株式会社ScaleOut出向)

野村欣弘 さん/株式会社mediba(株式会社ScaleOut出向)

Scala歴は1年半という野村さんが、medibaadやScaleOutのAd GenerationにおいてScalaを採用した理由について説明しました。Ad Generationにおいては、配信サーバでsprayを使い、集計でSpark使っているそうです。実際にScalaを使ってみての感想としては、以下のポイントを挙げていました。

・並列処理、並行処理を扱いやすいが、アドサーバやRTBサーバのようなものには向いている。

・用途を選ばない言語で、何でもそつなくこなせる。

・でも、やっぱりJava、JVMも知っておいたほう良い。

今後はチューニングなどを含めて、勉強会などで吸収していきたいとのことでした。

■ターゲティング広告配信システムにおけるScalaの利用事例

次は、株式会社サイバーエージェントの韓翔元さん。「Dynalystが広告配信で使っている技術(Spray×Akka×Kamon×Zabbix)」をテーマにしたスピーチです。まずはDynalystについての説明。ユーザーの趣味嗜好に適した広告配信を行うスマートフォン専用のダイナミックなターゲティング広告システム。

韓翔元さん/株式会社サイバーエージェント

韓翔元さん/株式会社サイバーエージェント

このシステムを構築にするにあたり、SprayとAkka、KamonとZabbixを使っており、その経験から各フレームワークの導入メリットやベンチマークなどについて解説しました。

Scalaを導入するにあたっては、学習コストが高いのではないかという質問が多くあるようですが、その質問に対しては「Scalaのようなやっちゃいけないことが多い言語を選ぶのはハードルが高い。だから、トライ&エラーを繰り返して満足するパターンを探し出す」と答えていました。

■Demand Side SciencではすべてのプロダクトにScalaを使っている

3人目は、Demand Side Science株式会社の水谷陽介さん。「アドテク×Scala×パフォーマンスチューニング」というテーマでのスピーチです。DSSではすべてのプロダクトにScalaを使っているとのこと。

水谷陽介さん/ Demand Side Science株式会社

水谷陽介さん/ Demand Side Science株式会社

そこから得られたアドテクにおける開発フェーズ別のポイントを詳しく解説しました。例えば、Scalaコードの最適化の例などかなり突っ込んだ内容でした。ただし、開発に行き詰まったらC++が良いというオチには会場が湧いていました。

■軽量言語メインだったプログラマーがいかに関数言語をマスターしたか?

最後に登壇したのは株式会社ファンコミュニケーションズの重村道人さん。「軽量言語メインのWeb系エンジニアだった自分がScalaのシステム開発に携わることになった経緯」というテーマで、今までとはちょっと変わった内容。

重村道人さん/株式会社ファンコミュニケーションズ

重村道人さん/株式会社ファンコミュニケーションズ

PHP pythonなどなどの軽量言語使いだった重村さんがいかにしてScalaの開発に携わり、マスターしていったのかを説明。

仕事で初めて使ったScalaを覚えるためにとりあえずブログを書くことにしたそうです。そうやって、勉強のために分からなければ教えを請う環境を作ることがマスターへの道だそう。本を買ったり、家で試してみたり、試行錯誤の中にはPDP11のインタプリターをF#で書くとか、8086の逆アセンブラをHaskellで書くなどもしたのだそうです。

軽量言語からScalaの共通点を見つけ、関数型言語とコンパイル型言語に慣れ親しむのがマスターへの道。最後は一言「とにかくまずやってみる!」で締めくくられました。

その後は、ビールとお寿司を食べてから、麻植泰輔さん(一般社団法人Japan Scala Association 副理事 / 株式会社hemplant 代表取締役社長)をモデレーターに迎えてのパネルディスカッション。

scala_05

Scalaを社内に導入する時の難しさや教育方法などがテーマとして取り上げられました。Twitterのハッシュタグから入った質問にも答えていましたよ。多いに盛り上がって時計は22時近くに。熱心に聞き入っていました。

サイバーエージェントでは、Scalaコミュニティーを応援するイベントを今後も開催する予定。キャリア・ラボラトリーでも注目していきたいと考えています。


2014-12-03 | Posted in コラムComments Closed 

関連記事