Submit Search
Upload
AmebaDSPの成長フェーズとアーキテクチャの話
•
Download as PPTX, PDF
•
1 like
•
2,042 views
G
Genki Ishibashi
Follow
アドテク×インフラアーキテクチャ -オレシカナイトVol.7- 発表内容 https://cyberagent.connpass.com/event/91430/
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 29
Download now
Recommended
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
Daiyu Hatakeyama
機械学習で導入でつまった3つの事
機械学習で導入でつまった3つの事
創史 花村
継続的に良い製品をリリースするために
継続的に良い製品をリリースするために
Toshiaki Nomura
企画から考えるエンジニアチームの作り方
企画から考えるエンジニアチームの作り方
創史 花村
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
Yuji Otani
未経験でPMとして転職したらこうだった
未経験でPMとして転職したらこうだった
Eri Koike
セールスの共通言語としてプロダクトロードマップを活用してみたら
セールスの共通言語としてプロダクトロードマップを活用してみたら
Hironori NADAMOTO
プロダクトマネージャとして海外で働き始めて、自分の視点をどこに持ってこようかと考えた話 #pm_roppongi
プロダクトマネージャとして海外で働き始めて、自分の視点をどこに持ってこようかと考えた話 #pm_roppongi
Daisuke Matsuda
Recommended
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
Saga Smart Center - Excelで完結!マイクロソフト流データサイエンスの極意
Daiyu Hatakeyama
機械学習で導入でつまった3つの事
機械学習で導入でつまった3つの事
創史 花村
継続的に良い製品をリリースするために
継続的に良い製品をリリースするために
Toshiaki Nomura
企画から考えるエンジニアチームの作り方
企画から考えるエンジニアチームの作り方
創史 花村
スタートアップにおける技術チームの作り方
スタートアップにおける技術チームの作り方
Yuji Otani
未経験でPMとして転職したらこうだった
未経験でPMとして転職したらこうだった
Eri Koike
セールスの共通言語としてプロダクトロードマップを活用してみたら
セールスの共通言語としてプロダクトロードマップを活用してみたら
Hironori NADAMOTO
プロダクトマネージャとして海外で働き始めて、自分の視点をどこに持ってこようかと考えた話 #pm_roppongi
プロダクトマネージャとして海外で働き始めて、自分の視点をどこに持ってこようかと考えた話 #pm_roppongi
Daisuke Matsuda
DDDを導入した話
DDDを導入した話
Genki Ishibashi
社内社外で勉強会を続けていくための考え方
社内社外で勉強会を続けていくための考え方
KLab Inc. / Tech
【参観レポート】Lean startupnight real startup dialog
【参観レポート】Lean startupnight real startup dialog
Tsutomu Chikuba
新卒採用を、まっとうに ー面接者への通信簿ー
新卒採用を、まっとうに ー面接者への通信簿ー
慧悟 岩本
プロトタイピングツール投入のケーススタディ
プロトタイピングツール投入のケーススタディ
力也 伊原
チームをワークさせるために 最も大事なコミュニケーション 意識していますか? - XP祭り2017
チームをワークさせるために 最も大事なコミュニケーション 意識していますか? - XP祭り2017
Koichi Yoshida
Netadashi meetup #9 20190607
Netadashi meetup #9 20190607
Shigeki Morizane
とある中堅ベンチャーの新人研修戦略 #efsta42
とある中堅ベンチャーの新人研修戦略 #efsta42
Mamiko Tsuda
アジャイル開発を始めてみませんか?(思い出編)
アジャイル開発を始めてみませんか?(思い出編)
Miho Nagase
パーフェクト販促講座(売上アップ大学)
パーフェクト販促講座(売上アップ大学)
販促コンサルタントの渋谷雄大
SQiP2016 SIG8
SQiP2016 SIG8
Masanori Kaneko
エンタープライズでもできるアジャイル開発
エンタープライズでもできるアジャイル開発
Yoshiyuki Ueda
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
Takafumi ONAKA
enPiT修了生は、大学卒業後の一歩をどう選んだか
enPiT修了生は、大学卒業後の一歩をどう選んだか
Shizuru Kosuge
事業創造人財育成と組織開発:コマツにおける勝てる人と組織の創り方
事業創造人財育成と組織開発:コマツにおける勝てる人と組織の創り方
Yuichiro KATO
20231019 Notion Labs Japan × エルボーズ コラボ勉強会
20231019 Notion Labs Japan × エルボーズ コラボ勉強会
makototsubakihara
Contextual package
Contextual package
Shota Yasui
GDC報告会2016 GDC PLAY出典顛末記
GDC報告会2016 GDC PLAY出典顛末記
IGDA JAPAN
20190512 subscription meetup kamata
20190512 subscription meetup kamata
真太郎 鎌田
ふりかえりワークショップ@オープンラボ備後
ふりかえりワークショップ@オープンラボ備後
Shinsuke Abe
音声合成の今昔と深層学習を用いた音声合成
音声合成の今昔と深層学習を用いた音声合成
Genki Ishibashi
Twilio flex導入までの背景と苦労した話
Twilio flex導入までの背景と苦労した話
Genki Ishibashi
More Related Content
Similar to AmebaDSPの成長フェーズとアーキテクチャの話
DDDを導入した話
DDDを導入した話
Genki Ishibashi
社内社外で勉強会を続けていくための考え方
社内社外で勉強会を続けていくための考え方
KLab Inc. / Tech
【参観レポート】Lean startupnight real startup dialog
【参観レポート】Lean startupnight real startup dialog
Tsutomu Chikuba
新卒採用を、まっとうに ー面接者への通信簿ー
新卒採用を、まっとうに ー面接者への通信簿ー
慧悟 岩本
プロトタイピングツール投入のケーススタディ
プロトタイピングツール投入のケーススタディ
力也 伊原
チームをワークさせるために 最も大事なコミュニケーション 意識していますか? - XP祭り2017
チームをワークさせるために 最も大事なコミュニケーション 意識していますか? - XP祭り2017
Koichi Yoshida
Netadashi meetup #9 20190607
Netadashi meetup #9 20190607
Shigeki Morizane
とある中堅ベンチャーの新人研修戦略 #efsta42
とある中堅ベンチャーの新人研修戦略 #efsta42
Mamiko Tsuda
アジャイル開発を始めてみませんか?(思い出編)
アジャイル開発を始めてみませんか?(思い出編)
Miho Nagase
パーフェクト販促講座(売上アップ大学)
パーフェクト販促講座(売上アップ大学)
販促コンサルタントの渋谷雄大
SQiP2016 SIG8
SQiP2016 SIG8
Masanori Kaneko
エンタープライズでもできるアジャイル開発
エンタープライズでもできるアジャイル開発
Yoshiyuki Ueda
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
Takafumi ONAKA
enPiT修了生は、大学卒業後の一歩をどう選んだか
enPiT修了生は、大学卒業後の一歩をどう選んだか
Shizuru Kosuge
事業創造人財育成と組織開発:コマツにおける勝てる人と組織の創り方
事業創造人財育成と組織開発:コマツにおける勝てる人と組織の創り方
Yuichiro KATO
20231019 Notion Labs Japan × エルボーズ コラボ勉強会
20231019 Notion Labs Japan × エルボーズ コラボ勉強会
makototsubakihara
Contextual package
Contextual package
Shota Yasui
GDC報告会2016 GDC PLAY出典顛末記
GDC報告会2016 GDC PLAY出典顛末記
IGDA JAPAN
20190512 subscription meetup kamata
20190512 subscription meetup kamata
真太郎 鎌田
ふりかえりワークショップ@オープンラボ備後
ふりかえりワークショップ@オープンラボ備後
Shinsuke Abe
Similar to AmebaDSPの成長フェーズとアーキテクチャの話
(20)
DDDを導入した話
DDDを導入した話
社内社外で勉強会を続けていくための考え方
社内社外で勉強会を続けていくための考え方
【参観レポート】Lean startupnight real startup dialog
【参観レポート】Lean startupnight real startup dialog
新卒採用を、まっとうに ー面接者への通信簿ー
新卒採用を、まっとうに ー面接者への通信簿ー
プロトタイピングツール投入のケーススタディ
プロトタイピングツール投入のケーススタディ
チームをワークさせるために 最も大事なコミュニケーション 意識していますか? - XP祭り2017
チームをワークさせるために 最も大事なコミュニケーション 意識していますか? - XP祭り2017
Netadashi meetup #9 20190607
Netadashi meetup #9 20190607
とある中堅ベンチャーの新人研修戦略 #efsta42
とある中堅ベンチャーの新人研修戦略 #efsta42
アジャイル開発を始めてみませんか?(思い出編)
アジャイル開発を始めてみませんか?(思い出編)
パーフェクト販促講座(売上アップ大学)
パーフェクト販促講座(売上アップ大学)
SQiP2016 SIG8
SQiP2016 SIG8
エンタープライズでもできるアジャイル開発
エンタープライズでもできるアジャイル開発
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
enPiT修了生は、大学卒業後の一歩をどう選んだか
enPiT修了生は、大学卒業後の一歩をどう選んだか
事業創造人財育成と組織開発:コマツにおける勝てる人と組織の創り方
事業創造人財育成と組織開発:コマツにおける勝てる人と組織の創り方
20231019 Notion Labs Japan × エルボーズ コラボ勉強会
20231019 Notion Labs Japan × エルボーズ コラボ勉強会
Contextual package
Contextual package
GDC報告会2016 GDC PLAY出典顛末記
GDC報告会2016 GDC PLAY出典顛末記
20190512 subscription meetup kamata
20190512 subscription meetup kamata
ふりかえりワークショップ@オープンラボ備後
ふりかえりワークショップ@オープンラボ備後
More from Genki Ishibashi
音声合成の今昔と深層学習を用いた音声合成
音声合成の今昔と深層学習を用いた音声合成
Genki Ishibashi
Twilio flex導入までの背景と苦労した話
Twilio flex導入までの背景と苦労した話
Genki Ishibashi
新卒の頃に意識したかった プロダクト開発の7つのポイント
新卒の頃に意識したかった プロダクト開発の7つのポイント
Genki Ishibashi
Fuzz testingとgo
Fuzz testingとgo
Genki Ishibashi
仕組みから理解する人力音声認識
仕組みから理解する人力音声認識
Genki Ishibashi
Redash・SQL勉強会 ~目指せクエリ女子~
Redash・SQL勉強会 ~目指せクエリ女子~
Genki Ishibashi
re:invent2019体験記
re:invent2019体験記
Genki Ishibashi
CNNで作る ダメ絶対音感
CNNで作る ダメ絶対音感
Genki Ishibashi
Paper Collection of Real-Time Bidding論文読み会~第一回~
Paper Collection of Real-Time Bidding論文読み会~第一回~
Genki Ishibashi
A/Bテストのための検定
A/Bテストのための検定
Genki Ishibashi
テックゼミ輪読会(深層学習1~2章)
テックゼミ輪読会(深層学習1~2章)
Genki Ishibashi
スマホ広告効果測定ツール入門
スマホ広告効果測定ツール入門
Genki Ishibashi
楽しいビッグデータ分析入門~Presto編~
楽しいビッグデータ分析入門~Presto編~
Genki Ishibashi
ゼロから作るダメ絶対音感
ゼロから作るダメ絶対音感
Genki Ishibashi
F.O.Xデータ抽出基盤をクラウド移行した話
F.O.Xデータ抽出基盤をクラウド移行した話
Genki Ishibashi
ゼロから始めるAngular2生活
ゼロから始めるAngular2生活
Genki Ishibashi
Dynamo dbとはとは続き
Dynamo dbとはとは続き
Genki Ishibashi
DynamoDBとはとは
DynamoDBとはとは
Genki Ishibashi
More from Genki Ishibashi
(18)
音声合成の今昔と深層学習を用いた音声合成
音声合成の今昔と深層学習を用いた音声合成
Twilio flex導入までの背景と苦労した話
Twilio flex導入までの背景と苦労した話
新卒の頃に意識したかった プロダクト開発の7つのポイント
新卒の頃に意識したかった プロダクト開発の7つのポイント
Fuzz testingとgo
Fuzz testingとgo
仕組みから理解する人力音声認識
仕組みから理解する人力音声認識
Redash・SQL勉強会 ~目指せクエリ女子~
Redash・SQL勉強会 ~目指せクエリ女子~
re:invent2019体験記
re:invent2019体験記
CNNで作る ダメ絶対音感
CNNで作る ダメ絶対音感
Paper Collection of Real-Time Bidding論文読み会~第一回~
Paper Collection of Real-Time Bidding論文読み会~第一回~
A/Bテストのための検定
A/Bテストのための検定
テックゼミ輪読会(深層学習1~2章)
テックゼミ輪読会(深層学習1~2章)
スマホ広告効果測定ツール入門
スマホ広告効果測定ツール入門
楽しいビッグデータ分析入門~Presto編~
楽しいビッグデータ分析入門~Presto編~
ゼロから作るダメ絶対音感
ゼロから作るダメ絶対音感
F.O.Xデータ抽出基盤をクラウド移行した話
F.O.Xデータ抽出基盤をクラウド移行した話
ゼロから始めるAngular2生活
ゼロから始めるAngular2生活
Dynamo dbとはとは続き
Dynamo dbとはとは続き
DynamoDBとはとは
DynamoDBとはとは
AmebaDSPの成長フェーズとアーキテクチャの話
1.
成長フェーズと 選択した技術のお話 オレシカナイト Vol.7 2018/07/13@PP4F クリエイティブラウンジ MDH
アドテク局 いしばし げんき
2.
自己紹介 ● 石橋 弦樹(いしばし
げんき) ○ @b0941015 ● 2015年 4月 新卒としてCyberZ入社 ● 2017年10月 MDHのDSPチームJOIN ● 最近ほったらかし温泉に行ってきた 2
3.
技術選定で何を大事にしていますか ● 話題の最新技術 or
枯れていても実績のある技術 ● フルマネージド or カスタマイズ可能 ● チームの技術スタック or 達人に合わせた技術 ● etc... AmebaDSPの開発を通してプロダクトの成長とともに、 選択してよかった or よくなかった技術の紹介 3
4.
今日のお話 ● フェーズ1 ○ とにかくリリース・AmebaDSPの立ち上げ ●
フェーズ2 ○ 事業継続の危機・技術的負債の返却 ● フェーズ3 ○ チーム再編成・これからの話 4
5.
今日のお話 フェーズ1 とにかくリリース・AmebaDSPの立ち上げ 5
6.
MDHの紹介とAmebaDSPが生まれた背景 ● MDHとは ○ 自社メディアのマネタイズ組織 ●
AmebaDSPが生まれた背景 ○ 配信量をもっと増やしたい ○ 外部在庫が伸びている ○ チャレンジングな領域 6
7.
AmebaDSPとは ● AmebaDSPの誕生 ○ 2016年12月より開発がスタートした後発DSP ○
ADNWの広告配信システムのノウハウを利用 ○ アメブロなどのユーザーデータ・配信実績を元に外部メディアへ配信 7
8.
立ち上げ時に求められること... 8
9.
立ち上げ時に求められること... とにかくリリースすること!! 9
10.
AmebaDSPの開発 ● DSPはとにかく関連コンポーネントが多い ○ 新規開発 ■
配信・計測・予測・ログの収集加工・集計 ○ 既存コンポーネントとの接続 ■ リアルタイム集計基盤・広告情報・DMP・ログ管理 10
11.
リリースまでの実際のスケジュール 2016年 12月 仕様策定開始 2017年
2月 実装開始 2017年 6月 AmebaDSPリリース 11
12.
リリースまでの実際のスケジュール 2016年 12月 仕様策定開始 2017年
2月 実装開始 2017年 6月 AmebaDSPリリース 12 実装期間わずか4ヶ月
13.
4ヶ月の実装期間でDSPをリリースできた理由 ● 少人数で独立したチーム構成 ● 機能を実現することを最優先 ●
削れるコストはとにかく削る ● とにかく頑張る!!!(ココ重要) 13
14.
● Golangの採用 ○ 学習コストの削減 ●
ElasticBeanstalk ○ インフラ管理コストの削減 ● Datadog ○ システムの状態管理が容易! 4ヶ月の実装期間でDSPをリリースできた理由 14
15.
4ヶ月の実装期間でDSPをリリースできた理由 15
16.
今日のお話 フェーズ2 事業継続の危機・技術的負債の返却 16
17.
溜まっていく技術的負債(2017年10月頃) ● 予測システムが整っていない ○ 予測をしないヒューリスティックなシステムも ○
1日の売上数千円(粗利がマイナスな日も...) ● 新機能をリリースするたびにバグに怯える日々 ○ スパゲッティが新しいスパゲッティを生む ○ スピード重視の開発だったので、もちろんテストはほとんどない ● 適当な閾値とオオカミ少年状態な監視 ○ ちゃんと設計されてないのでアラート来ても誰も対処しない ● etc... 17
18.
求められる事業成果と事業継続の危機 ● 当時の局長のお言葉 2018年 4月までに 売上目標を達成しないと AmebaDSPはクローズね 18
19.
売上を伸ばすための基本方針 ● 機能開発と実装サイクルを回すことが大事 ● 技術的負債の返済と売上を伸ばすフェーズを定義 ●
売上への影響度を前提としてタスクの優先度決め ● チームの合言葉は「日販!」 19
20.
AmebaDSPの売上の推移 20 基盤整備フェーズ
21.
AmebaDSPの売上の推移 21 ● 日販みぎかた〜〜〜〜!!!で事業クローズを回避 基盤整備フェーズ 売上伸長フェーズ
22.
売上目標を達成するために大事だったこと ● 基盤を整える ● PDCAをとにかく回す ●
周りの言葉に流されすぎない ● とにかく頑張る!!!(ココ重要) 22
23.
基盤を整える上で大事だったこと ● 技術的負債を積極的に返却 ○ 中長期に影響あるものは早めに対処 ○
プロダクトコードのリプレース ● DDD(Domain Driven Design) ○ 何がどこにあるかを明確化, 拡張性のある設計 ○ 詳細は「DDDを導入した話」で(オレシカナイト DDDで検索!) ● BDD(Behavior Driven Development) ○ リプレースに伴い導入、テストを書く文化へ ○ PRレビュー時に仕様とロジックが瞬時に理解可能 23
24.
DSPの基盤を作る上で発生した新たな技術的負債 ● ElasticBeanstalk ○ デフォルトの設定が中~大規模環境に対応していない ○
ブラックボックスが多い ○ DNSを切り替えてデプロイ運用 24
25.
今日のお話 フェーズ3 チーム再編成とこれからの話 25
26.
チーム再編成とこれからの話 ● AmebaDSPの事業継続とともに部署の注力事業に ● 2018年5月にチーム再編成 ○
縦軸の組織から横軸の組織へ 26 MDH DSPチーム ADNWチーム MDH ブランドチーム ダイレクトチーム データ分析チーム
27.
課題は山積み ● スケールする仕組みづくり ● 分析基盤の整備 ●
独自の武器づくり ● コスト ● どうやって頑張り続けるか 27
28.
今思っていること ● でもやっぱり広告って楽しい ○ ビッグデータ ○
機械学習 ○ エンジニアリングが売上に直結 ● 後発DSPだからこそできることがある 28
29.
まとめ ● フェーズによって求められる事業目標が異なる ● 立ち上げフェーズではとにかくスピード重視 ○
削れるコストはとにかく削る ○ Golang, ElasticBeanstalk, Datadog ● 事業成果を求められるフェーズでは基盤が大事 ○ 技術的負債の早期返却 ○ リプレース, DDD, BDD ● とにかく頑張る!!!(無理はしない程度に) 29
Editor's Notes
・温泉いじり
予算を消化が目的 →広告主がもっと配信したい
縦線がコンポーネント
予算を消化が目的 →広告主がもっと配信したい
予算を消化が目的 →広告主がもっと配信したい
開発・権限はチームに移譲 作り込むことはしない インフラ構築
Golang ・MDHではScalaをメインに使っていた ・Scalaに苦手意識のあるメンバー ElasticBenastalk ELB・EC2・Route53・Autoscaling Groupを一発で作成 Datadog モニタリング・監視ツール
・予測をしないヒューリスティック
・周りからなんやかんや言われる ・基盤を整える
開発・権限はチームに移譲 作り込むことはしない インフラ構築
開発・権限はチームに移譲 作り込むことはしない インフラ構築 繋ぎ込みSSP数の拡大 買い付け枠の拡大 予測システムの正常稼働 etc...
開発・権限はチームに移譲 作り込むことはしない インフラ構築
技術的負債を積極的に返却 中長期に影響あるものは早めに対処(監視, 障害振り返り, 応札率, 勝率を上げるのに影響のある施策) プロダクトコードのリプレース 立ち上げ期直後のコードリプレースは有効 実装する側もレビューする側も既存の仕様理解が進む DDD(Domain Driven Design) 何がどこにあるかを明確化, 拡張性のある設計 DDDを導入した話(オレシカナイト DDDで検索) BDD(Behavior Driven Development) コードの振る舞いに焦点を当てたテスト駆動開発手法 リプレースに伴い導入、テストを書く文化へ 実装する前にロジックの整理 PRレビュー時に仕様の理解とロジックが瞬時に判定できる
ディスク容量8GB ASGの最大値が100台 → DSPみたいなヘビーな用途に向いていない 証明書などの更新で既存設定がデフォルト値に書き換わる → 変更の影響範囲がわからない SSPのリクエストが切り替わらない SSPによってはドメインではなくIPアドレスでキャッシュ
全部の要約をまとめに(技術もふくめ) フェーズで割り切る・こだわったところ・フェーズ3ではこれからはこだわりたいこと
Download now