Slide 1

Slide 1 text

+VMZ (,&Λ࢖ͬͨ։ൃʹ͓͚Δ ܧଓతσϦόϦʔ AbemaTV,  Inc.  All  Rights  Reserved

Slide 2

Slide 2 text

福永  亘 株式会社AbemaTV  広告本部 リードエンジニア 2011年年株式会社サイバーエージェント⼊入社。 「アメブロ」や「ガールフレンド(仮)」、「オルタナティブ ガールズ」などの開発を担当。 2017年年9⽉月より「AbemaTV」広告本部に参画。 最近温泉には⾏行行ってません。

Slide 3

Slide 3 text

$0/5&/54 01.  事業紹介                           02.  システム概要 03.  継続的デリバリー 04.  課題と展望

Slide 4

Slide 4 text

ࣄۀ঺հ $)"15&3

Slide 5

Slide 5 text

AbemaTV 無料料で楽しめるインターネットテレビ局 最新ニュースやオリジナル番組をはじめ、 アニメやドラマ、⾳音楽、スポーツなど 多彩な番組が楽しめる約25チャンネルを すべて無料料で提供。 PC、スマホ、タブレット、テレビで お楽しみいただけます。

Slide 6

Slide 6 text

 MAU1,100万突破

Slide 7

Slide 7 text

 無  料料  会員登録なし  24時間編成

Slide 8

Slide 8 text

チャンネル数は約25チャンネル

Slide 9

Slide 9 text

ς Ϩ Ϗ ே ೔ ใ ಓ ہ ͕ ੍ ࡞ ͢ Δ Φ Ϧ δ φ ϧ χ ϡ ʔ ε Λ ์ ૹ

Slide 10

Slide 10 text

24時間365⽇日いつでもニュースを放送

Slide 11

Slide 11 text

Φ Ϧ δ φ ϧ ͷ ੜ ์ ૹ ൪ ૊ ΍   ࣌ ؒ ີ ண ͳ Ͳ ͷ ಛ ผ ൪ ૊ Λ ์ ૹ

Slide 12

Slide 12 text

世の中の話題を作る多彩な番組

Slide 13

Slide 13 text

ビジネスモデル  広  告  課  ⾦金金  放  送  外  収  益

Slide 14

Slide 14 text

 独⾃自のビジネスモデル

Slide 15

Slide 15 text

 広告  ⾼高画質  ブランドセーフティ  ターゲティング

Slide 16

Slide 16 text

γεςϜ֓ཁ $)"15&3

Slide 17

Slide 17 text

 テレビ品質

Slide 18

Slide 18 text

2,500 以上  アクセスデバイス

Slide 19

Slide 19 text

 Ad  Insertion ・クラスタ毎に異なる広告を配信     ・マルチデバイス、マルチプラットフォーム

Slide 20

Slide 20 text

 システム全体 Media   GKE 広告   GKE CM   Live Program

Slide 21

Slide 21 text

GKE: prd-vaga-tracking GKE: prd-vega Pub/Sub Ad MongoDB GCE L4 Load Balancer L4 Load Balancer L7 Load Balancer L4 Load Balancer DMP BigQuery Jupiter BigQuery L7 Load Balancer           user  client   abema-media-proxy GKE: prd-abema east1 Patriot BigQuery asia-­‐northeast1     asia-­‐east1     global-­‐resource     abema-admin abema-media Zero Deployments Jupiter Deployments SSP Deployments DMP Deployments Token Deployments Nginx/Tracking Deployments Recovery GCS SSP CloudSQL Zero CloudSQL Zero BigTable DMP Dataflow DMP GCS AD Deployments DMP CloudSQL DMP BigTable Tracking BigTable Ganymedes CloudSQL Ad-track GCS Callisto CloudSQL Ad-track Dataflow abema-gateway (cluster-api) Admin Deployments L7 Load Balancer         operator   ޮՌଌఆϩά   VAST   ClusterҰཡ   ClusterID    広告システム

Slide 22

Slide 22 text

GKE: prd-vaga-tracking GKE: prd-vega Pub/Sub Ad MongoDB GCE L4 Load Balancer L4 Load Balancer L7 Load Balancer L4 Load Balancer DMP BigQuery Jupiter BigQuery L7 Load Balancer           user  client   abema-media-proxy GKE: prd-abema east1 Patriot BigQuery asia-­‐northeast1     asia-­‐east1     global-­‐resource     abema-admin abema-media Zero Deployments Jupiter Deployments SSP Deployments DMP Deployments Token Deployments Nginx/Tracking Deployments Recovery GCS SSP CloudSQL Zero CloudSQL Zero BigTable DMP Dataflow DMP GCS AD Deployments DMP CloudSQL DMP BigTable Tracking BigTable Ganymedes CloudSQL Ad-track GCS Callisto CloudSQL Ad-track Dataflow abema-gateway (cluster-api) Admin Deployments L7 Load Balancer         operator   ޮՌଌఆϩά   VAST   ClusterҰཡ   ClusterID    広告システム 2つのリージョン 2つのGKEクラスタ 様々なDBとミドルウェア 6つのLB

Slide 23

Slide 23 text

ܧଓతσϦόϦʔ $)"15&3

Slide 24

Slide 24 text

継続的デリバリーとは Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy

Slide 25

Slide 25 text

継続的デリバリーとは Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  IntegraFon

Slide 26

Slide 26 text

継続的デリバリーとは Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  IntegraFon ConFnuous  Deployment

Slide 27

Slide 27 text

継続的デリバリーとは Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  IntegraFon ConFnuous  Delivery ConFnuous  Deployment CD

Slide 28

Slide 28 text

Continuous  Integration Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  IntegraFon Githubを使った開発 ⾔言語はGolang、Scala、少しだけRがあります。

Slide 29

Slide 29 text

Continuous  Integration Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  IntegraFon GithubのPushをフックしてビルド CIツールとしてはDroneを利利⽤用

Slide 30

Slide 30 text

Continuous  Integration Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  IntegraFon Unit  testもDroneでビルドするタイミングで実⾏行行

Slide 31

Slide 31 text

Continuous  Delivery Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  Delivery 各開発環境へのデプロイはChatOpsで⾏行行います Slackのbotを⾃自作しています。

Slide 32

Slide 32 text

Dev環境へのデプロイ サービス選択しイメージを選択する

Slide 33

Slide 33 text

Continuous  Delivery Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  Delivery CD 本番発環境へのデプロイもChatOpsで⾏行行います

Slide 34

Slide 34 text

本番環境へリリースを作成 リリースタグを切切りプルリクを送る

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

本番環境へリリースを開始 Podの状態確認 カナリアリリース リリース⽤用チャンネルへの通知等

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

 ビルドの⾃自動化  テストの⾃自動化  デプロイの⾃自動化

Slide 39

Slide 39 text

՝୊ͱల๬ $)"15&3

Slide 40

Slide 40 text

E2Eテスト Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  Delivery いわゆる結合テストの部分が完全に⼿手動 できる限り⾃自動化したい

Slide 41

Slide 41 text

Kubernetesの管理理 マニフェストの修正から反映までを⾃自動化したい

Slide 42

Slide 42 text

Droneって不不安 Commit Build Unit   test Dev・Stg   Deploy Test Prd   deploy ConFnuous  IntegraFon 安くていいマネージドに変えたい Google  Cloud  Container  Builder?

Slide 43

Slide 43 text

まとめ オペレーションの⾃自動化は ⻑⾧長期的には開発の安定化に 重要なので、 今後も可能な限り ⾃自動化していきたい。

Slide 44

Slide 44 text

ご清聴ありがとうございました! 共感していただいた⽅方! ⼀一緒に働きましょう!