Blog
アドテクノロジーハッカソン「アドテクハック」を開催しました!
アドテクスタジオでは8月21日・22日を使って24時間でシステムを作るハッカソンを行いました。
初めての開催ということもあり人が集まるか心配でしたが、
募集を行ったところ7チーム(1チーム3-4名)が出場してくれました。
スケジュールはこんな感じ
今回のテーマは「コンテナ技術を使った広告システム」です。
コンテナ技術はGoogleやFacebookなどいろいろな会社で利用されており、Kubernetesの登場やAmazon ECS,Google Container Engineの登場などもあり、急激に利用が増えています。
普段開発で利用していない人も、普段利用している人に利用方法を聞いたり、調べたりして技術力の強化につながったと思います。
また、今回は広告とコンテナを使っていたらどんなシステムでもよかったため、今のアドテクスタジオで必要なものは何か、プロダクトを横断して調べる機会にもつながったのではないでしょうか。
いっぱい写真を撮ったのですが、基本みんな動かないのであまり面白い写真は撮れませんでした。。
運営も盛り上げるために大奮闘!特大スイカを差し入れました。
飯は会場ホテルに無理を言ってお弁当にしてもらいました。
チームによっては食べる時間も惜しいようで、夜に配布されたお弁当を深夜に食べていたチームもいました。
最後は神頼み!?
深夜4時の状況です。 0時頃になったらみんな寝てしまうのではと思っていましたが、この時間まで誰一人として欠けていないという事態に。エンジニアの集中力恐るべしですね。
24時間立って競技終了後、ランチタイムになりました。
ちなみに運営はみんながランチを食べている間にインフラ構成の確認や発表資料の事前採点、ソースコードのチェックなどを行います。
ご飯を食べたらプレゼンタイム!
各チーム7分で資料やデモを発表します!
採点は技術ボードの神田・鷹雄+執行役員の内藤で行います。
評価基準は下記の通りです。
サービスの実用性
5点: すぐに利用した方が良い
4点: 利用を検討した方が良い、既存サービスは置き換えを検討するべき
3点: あると便利だが既に代替サービスが存在し、差がない
2点: 参考になりました
1点: あえて使うまでもない
実装の完成度
5点: すぐに運用開始できる
4点: 条件付きならば運用開始できる
3点: 試験運用できる
2点: 参考実装レベル
1点: なんとか動いた
技術的チャレンジ(担当:神田さん・鷹雄さん)
4点: 新規性がある、独自性がある実装や設計
2点: 新規性はないが、難易度が高い実装や設計
1点: とくに挑戦はしていないが既存の仕組みをうまく利用している
プレゼンポイント
7点: ハックじゃん
6点: カッケーじゃん
5点: すげーじゃん
4点: いいじゃん
3点: 参考になりました。
2点: 現実性がなさそう。
1点: 何に使えるのこれ?
優勝は技術ボード責任者3名という反則的なチーム。なんとか威厳を保てた様です。
2位とは1ポイント差の接戦した戦いでした。
今回は運営が豪華賞品を熟考し、6コース作りました。
1つ目は高級オフィスチェアのアーロンチェア・ミラチェア・エンボディチェアの3脚!
ちなみにアドテクスタジオではエンジニア全員エンボディチェアを使用しています。(1脚20万以上!)
2つめはゲーム満喫コース! プロジェクターでゲームとかやってみたいですね!
3つめは沖縄旅行スペシャルコース!
飛行機はファーストクラス、ホテルのスイートや高級車のレンタルなど豪華パッケージです。
4つめはMac Proコース! と、言いたかったのですが予算の都合上Mac Proは難しいとのことで
ハンバーガー1年分。
5つめは新型Macbook3台とiPad Air2のコース。
そして最後の6つめはデジカメ一眼レフコース。
この中で優勝チームが選択した商品は5番のAppleコース。
新型Macbook3台とiPad Air2が贈呈されます!
ちなみに終了後のアンケートでは54%の参加者が「無難にAppleセットコースを選んだBチームにがっかりした」という感想でした。
ハンバーガー1年分とか選択して盛り上げてほしかったですね。
また、24時間じゃ短すぎるという声も半分以上もらい、次回は開発規模も大きくなる48時間ハッカソンとか企画してみたいです。
また、スキルアップにつながったと回答されたメンバーも多く、普段はインフラしかやっていないけど久しぶりにプログラミングが書けたと答えたメンバーや、普段とは違うメンバーと開発できたのがうれしかったとの声も多かったです。今回のハッカソンを切っ掛けに一回り成長できたのでは無いでしょうか。
今回は運営も事前技術検証や、会場の下見、ルール決め、賞品決め、参加者を増やす方法や、ネットワークの検討など幅広いジャンルの仕事が出来て大変勉強になりました。
ちなみに今回の会場のネットワークは自前で用意することにしました。
会場のネットワークが下見の段階で電波干渉により全くつながらない状態だったため、
アドテクスタジオのインフラチームを運営に巻き込み、高性能WiFiアクセスポイントを利用することで、非常に安定したネットワークを利用することができました。
(図のようにGoogle Mapと連携し、電波干渉などもチェックすることが出来ます。)
それでは各チームの作った物をご紹介します!
Aチームはが開発したのはLive動画広告システムです。RTMPプロトコルを使用して24時間でライブ配信システムを構築してしまいました。
スケーラビリティもあってシステム的にはこんなものを24時間で作ったのか!?と驚きましたが、ビジネスの視点でポイントが伸び悩みました。
Bチームは技術ボード3人で結成されたチームで開発したのは画像Proxyサービスです。広告画像でまれに解像度の低い画像が使われている所を見かけた人も多いかと思うのですが、クライアントの入稿画像の問題などもありRetina端末からだとぼやけて見えてしまうことがあります。今回の画像ProxyではDeep Learningを利用して画像を拡大する際のぼやけをできる限り減らす効果を持っています。
今回構築したシステムはさらにブラッシュアップされ、実際のサービスに投入されています。
Cチームは14新卒で結成されたチームで、開発したものは機械学習を利用したアラート閾値の検出システムです。
監視システムや売り上げグラフなどいろいろなところで閾値が使われていますが、
一般的に閾値というのは単純に設定をすることがとても難しく、異常を検知度合いは誤検知度合いに比例します。これは値の上昇が複合要因になっていることが多く、一定の閾値ではうまく検知出来ないからです。
今回のCチームはデータをFluentdで受け取り、リアルタイムに機械学習を利用して異常を検知する仕組みでした。
今回あと一歩のところで完成しなかったのですが、今後アドテクスタジオ内で利用されることになりそうです。
Dチームはインフラエンジニアとアプリケーションエンジニアの混合チームです。
Socket通信を利用した広告システムを提案しました。
基本広告は画像をキャッシュをして配信をすることが多いのですが、画像の上にJSで書き出すことによりリアルタイム性を持たせました。
Socket通信を行うことによりリアルタイムに処理を変更することができるため、たとえば広告に表示されている在庫数などがリアルタイムに変動させたりすることが可能です。
コストがかかるリアルタイム配信についても、インフラメンバーが鬼チューニングすることで1台あたり10万コネクションをさばけるシステムに仕上がった様です。
発表前には動いていたのですが、発表時にはシステムトラブルでデモが出来ずにポイントが伸び悩みました。
Eチームは15新卒で結成されたチームです。Bチームと同じ画像Proxyサービスを構築しました。
Bチームと内容がほとんど被っており、完成度ではBチームを超えていたと思われます。
得点もかなり高く、印象的には優勝候補の威厳すらありました。
ただ、今回Bチームは既存の配信における問題点を解決していたため、Bチームに敵わない結果となったようです。
Fチームはアドテク共通基盤システムチームで構成されており、既存のシステムの最適化をDockerで行うシステムでした。
時間内に終わらなかったため今も続けて開発中とのことです。システムはかなり大規模になる予定で、システムの完成が期待されています。
GチームはSSP(Supply-Side-Platform)を開発しているメンバーで構成されています。
開発したのは広告表示チェックツールです。
現在アドテクスタジオではグループ会社で広告表示の部分について人力でテストを行っています。今後ビジネスが拡大するに当たりどこかで人力では対応できなくなるであろう問題を解決できるソリューションです。
メディアを設定するだけで広告の位置のずれが無いかをチェックできる素晴らしいシステムでした。
今後改良されて実際の運用にも利用されると考えています。
今回優勝したチームもしなかったチームも、評価の高いものや現実性のあるものについては追加の開発を行い、実際のプロダクトに利用されることになります。
いつもの広告システム開発とは違った視点のアイデアが数多く出ており、今後のアドテクが楽しみなハッカソンでした!
今後もこのような社内イベントを行っていくつもりです。
Author