絶対にタダでは転ばない広告エンジニア #yjmu

>100 Views

June 15, 17

スライド概要

Yahoo! JAPANのアドテクエンジニア主催Meetupイベント「アドテクvol.2」で発表した資料になります。
https://yj-meetup.connpass.com/event/57705/

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

絶対にタダでは転ばない 広告エンジニア 2017年6月13日 田中 翔平 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

2.

目次 • • • • • 1 自己紹介 担当業務のご紹介 失敗事例の紹介 何を学んだか おわりに Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

3.

自己紹介 2 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

4.

自己紹介 田中 翔平(たなか しょうへい) 3 • 入社 2012年4月新卒入社 (入社6年目) • 所属 マーケティングソリューションズカンパニー 開発本部パブリッシャーPF開発部 • 担当プロダクト Yahoo!ディスプレイアドネットワーク(YDN)※ の配信系バックエンドシステムを担当 ※Yahoo!プロモーション広告の一つ。以降のスライドでは、YDNと略して表記。 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

5.

担当業務のご紹介 4 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

6.

担当プロダクト コレ Yahoo! JAPANのトップページをはじめ、 主要提携サイトのコンテンツページに 掲載できるクリック課金型広告 5 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

7.

YDNの相関図 収益 入稿 課金 広告効果 獲得 メディア 広告PF 配信 閲覧 クリック 購買など 広告主 6 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved. 一般ユーザ 有用性 利便性

8.

担当システムについて 通期売上高 2,864億円 (IR情報より引用) PV:700億/月※1 集計基盤 アプリ向け 配信フロントエンド スマホ比率: 64.6% ※3 UB:9000万※1※2 スマホ アプリ SDK , 動画player 広告主 7 入稿 システム 配信 バックエンド (いずれも、2016年度第1四半期決算資料から抜粋) *1スマートフォン月間ページビュー数・Daily UB数には、iPhone/iPod、Androidスマートフォン(画面サイズ7インチ未満)、WindowsPhone及びアプリを通じて 閲覧されたページビュー・ブラウザーを含み、 iPad、Androidタブレット等を通じて閲覧されたベージビュー・ブラウザーは含んでいません。アプリを通じたアクセスの一部は含んでいません。 *2Yahoo! JAPANサービスを閲覧するために利用されたブラウザー数。スマートフォンにおいてブラウザーとアプリの両方を通じて閲覧した場合は重複カウン トしています。 *3 アプリ、ブラウザーからの閲覧を含んだ四半期平均です。アプリ、ブラウザーの両方から閲覧した場合は、重複カウントしています。 PC、タブレット、フィーチャーフォンからの閲覧を含んだ四半期平均です。 JS , 動画player Web向け 配信フロントエンド Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved. Web インターネット ユーザー

9.

開発業務について • 開発 • • 機能追加から保守運用まで(ほぼ内製) アジャイル・スクラム • 研究 • • • 8 新ロジック検討、機能改善、各種分析など 学会参加、研究成果の発表 オンラインテスト環境の整備 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

10.

使っている技術など • 言語 • C++、Java、Scala、Goなど • OSS • DB • Redis、Cassandraなど • Screwdriver、chefなど • CI/CD 9 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

11.

失敗事例の紹介 10 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

12.

開発運用において 避けられないもの 11 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

13.

事故 12 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

14.

起こりがちな事故 「キャパシティあふれ」 • 「ただいまアクセスが集中しております」 「テストデータ配信」 • 人的ミスによるものが多い 13 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

15.

事故の一例 「キャッシュに頼りきったDB」 キャッシュにないデータを引く 配信サーバ DB(KVS) 定期 リフレッシュ 期限付き キャッシュ 14 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

16.

事故発生時 「キャッシュに頼りきったDB」 キャッシュにないデータを引く 配信サーバ DB(KVS) 定期 リフレッシュ 期限付き キャッシュ 15 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

17.

事故発生、裏側では • 一回あふれると止まらない • 戻るも地獄、進むも地獄 • 各種KPIのリアルタイム監視 • 被害の大きさが一目瞭然(ナイアガラの滝) • 他サービスへの影響 • 16 社内から問い合わせが集中 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

18.

事故対応 • 復旧 • 意図的に問い合わせをサボる機能の 導入など • 関係各所への説明および謝罪 • 影響範囲の算出と報告 (社内ツール利用) 17 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

19.

その後 • アーキテクチャの見直し • • • キャッシュ更新条件の改善 DBの必要性に関する議論 ネットワーク構成の見直し • 負債返却 • トラフィック分散方式の変更 →システム性能が改善し、売上向上に! 18 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

20.

学んだこと 19 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

21.

学んだこと その① マイクロサービスアーキテクチャの 重要性を再認識 • システムの「最低限」は何か? • 自衛をしっかりと • 単一障害点の撲滅 20 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

22.

学んだこと その② オーナーシップの重要性 • 「利用者」に留まらないこと • 当事者意識を持つこと 傍観者にならない 21 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

23.

学んだこと その③ 事故をいかす • 事故とは課題発見のチャンス 本質を理解するきっかけにする • 次のシステム改善の布石へ • チームの絆を再認識できる 22 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

24.

おわりに 23 Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.

25.

最後に 業務内容、事故事例と学びの紹介 24 • 精神的にはキツい、凹む そのまま終わるかどうかが分かれ目 • 人的ミスが原因でも「人のせいにしない」 →仕組みのせいにする • 事故からの学び、その積み重ねの先に、 素晴らしいシステムがある Copyright (C) 2017 Yahoo Japan Corporation. All Rights Reserved.