こんにちは、メディア広告部門 (MDH) の阿部です。
MDH では技術者のスキルや知識共有のための勉強会「LT Thurdsday」を開催しています。今回の「LT Thurdsday」も前回に引き続き、アドテクスタジオ Dynalyst チームと合同で開催し、4名がプレゼンしました。今回の発表は「1. メディアに選ばれるアドサーバー」、「2. ECS 上で動く Docker アプリケーションを Terraform を使ってデプロイするようにしてみた話」、「3. Akka-Stream と Kinesis で分散処理」、「4. AbemaTV での DRM の取り組み」です!
1. メディアに選ばれるアドサーバー(MDH 泉)
最初に、銭湯巡りが趣味の泉が発表してくれました。去年まで、アメーバブログのフロント刷新を担当していた経験から、メディアが広告を導入する際にどんなことを気にしているか話しました。
普段、私は広告主・代理店に近いシステムの開発を担当しているので、メディア側の視点で見た広告システムの話は新鮮でした。メディアは広告がユーザ体験を阻害しないことや、システム導入の簡単さ、デザインの自由度などを重視しているので、これらを踏まえた広告システムを作り、メディアと二人三脚で成長していくのが大切と力説してくれました。
2. ECS 上で動く Docker アプリケーションを Terraform を使ってデプロイするようにしてみた話(Dynalyst 木村)
次は Dynalyst の木村が Amazon ECS(AWS 上で Docker クラスタを動かすサービス)について発表しました。
アプリケーションのデプロイには多くの方法があるので、お悩みの開発者の方も多いのではないでしょうか。Dynalyst もいろいろと試した結果、ECS + Terraform に行き着いたそうです。ECS はサーバーのリソースを無駄なく使えて、色々なアプリケーションを統一的に扱うことができる、リリース・ロールバックも簡単にできるのが良いとのこと。
3. Akka-Stream と Kinesis で分散処理(MDH 荒井)
MDH の荒井は Akka-Stream と Kinesis を使って大量のデータを扱う方法について話しました。
Akka はアクターモデルに基づく分散処理フレームワークですが、受信側のバッファを超えるメッセージを送信してしまうと、あふれてしまう危険があります。Akka-Stream を使うと、受信側の許容量を見つつ、限度を超えるメッセージを送らないようにする back pressure を簡単に実現できるそうです。Kinesis はメッセージサイズが大きくてもスループットが出やすいようで、大量のデータをなるべく高速に処理したいときに有用とのこと。現在、Akka-Stream と Kinesis を使って大規模バッチ処理の分散・高速化に取り組んでいるそうで、シャード数やメモリ量などのハマリポイントを紹介してくれました。
4. AbemaTV での DRM の取り組み(MDH 根岸)
最後に MDH の根岸が AbemaTV の広告配信における DRM 対応について説明しました。
DRM (Digital Rights Management) はコピーガードのようなデジタル著作権管理のことで、著作物をライブストリーミング配信する際には非常に重要な技術です。AbemaTV で対応を予定している MPEG-DASH (Dynamic Adaptive Streaming over HTTP) という HTTP 上で動画を配信するための国際規格があり、これに広告を埋め込む方法を検討しているそうです。まだ、実現に至っていないそうですが、今後の進展に期待です!
以上、第14回 LT Thurdsday のレポートでした!
▼メディア広告部門(MDH)
Ameba Ownd:https://ameba-ad-pr.amebaownd.com/
Facebook:https://www.facebook.com/AmebaAds.CyberAgent/
Twitter:https://twitter.com/amebaads_pr