Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GKEを使った開発における継続的デリバリー@オレシカナイト
Search
Wataru Fukunaga
July 13, 2018
Programming
730
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GKEを使った開発における継続的デリバリー@オレシカナイト
Wataru Fukunaga
July 13, 2018
More Decks by Wataru Fukunaga
See All by Wataru Fukunaga
ABEMA Ads 技術の変革と展望/devcon2021_20_ABEMA Ads
wataru420
0
740
Empowermentされた開発組織@オレシカvol16
wataru420
1
1.2k
k8sでJob管理@オレシカナイトVol.10
wataru420
4
1.3k
オレシカナイト概要
wataru420
0
1.4k
僕がkubernetesをどう使っているか
wataru420
1
200
Well-Architected Frameworkで強いシステムを作りたい@はこだて未来大学
wataru420
0
570
加速する事業の中でシステムリスクと向き合う話@オレシカナイト
wataru420
4
1.2k
Other Decks in Programming
See All in Programming
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
JavaDoc 再入門
nagise
0
310
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
1.9k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
520
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
180
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
19
6.4k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
250
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
350
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
190
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.5k
AI時代のUIはどこへ行く?その2!
yusukebe
20
7k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
How to make the Groovebox
asonas
2
2.2k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
The browser strikes back
jonoalderson
0
1.2k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Are puppies a ranking factor?
jonoalderson
1
3.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Skip the Path - Find Your Career Trail
mkilby
1
140
Transcript
+VMZ (,&Λͬͨ։ൃʹ͓͚Δ ܧଓతσϦόϦʔ AbemaTV, Inc. All Rights Reserved
福永 亘 株式会社AbemaTV 広告本部 リードエンジニア 2011年年株式会社サイバーエージェント⼊入社。 「アメブロ」や「ガールフレンド(仮)」、「オルタナティブ ガールズ」などの開発を担当。 2017年年9⽉月より「AbemaTV」広告本部に参画。 最近温泉には⾏行行ってません。
$0/5&/54 01. 事業紹介
02. システム概要 03. 継続的デリバリー 04. 課題と展望
ࣄۀհ $)"15&3
AbemaTV 無料料で楽しめるインターネットテレビ局 最新ニュースやオリジナル番組をはじめ、 アニメやドラマ、⾳音楽、スポーツなど 多彩な番組が楽しめる約25チャンネルを すべて無料料で提供。 PC、スマホ、タブレット、テレビで お楽しみいただけます。
MAU1,100万突破
無 料料 会員登録なし 24時間編成
チャンネル数は約25チャンネル
ς Ϩ Ϗ ே ใ ಓ ہ ͕ ੍
࡞ ͢ Δ Φ Ϧ δ φ ϧ χ ϡ ʔ ε Λ ์ ૹ
24時間365⽇日いつでもニュースを放送
Φ Ϧ δ φ ϧ ͷ ੜ ์ ૹ ൪
࣌ ؒ ີ ண ͳ Ͳ ͷ ಛ ผ ൪ Λ ์ ૹ
世の中の話題を作る多彩な番組
ビジネスモデル 広 告 課 ⾦金金 放 送 外 収 益
独⾃自のビジネスモデル
広告 ⾼高画質 ブランドセーフティ ターゲティング
γεςϜ֓ཁ $)"15&3
テレビ品質
2,500 以上 アクセスデバイス
Ad Insertion ・クラスタ毎に異なる広告を配信 ・マルチデバイス、マルチプラットフォーム
システム全体 Media GKE 広告 GKE CM Live
Program
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 広告システム
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
ܧଓతσϦόϦʔ $)"15&3
継続的デリバリーとは Commit Build Unit test Dev・Stg Deploy Test
Prd deploy
継続的デリバリーとは Commit Build Unit test Dev・Stg Deploy Test
Prd deploy ConFnuous IntegraFon
継続的デリバリーとは Commit Build Unit test Dev・Stg Deploy Test
Prd deploy ConFnuous IntegraFon ConFnuous Deployment
継続的デリバリーとは Commit Build Unit test Dev・Stg Deploy Test
Prd deploy ConFnuous IntegraFon ConFnuous Delivery ConFnuous Deployment CD
Continuous Integration Commit Build Unit test Dev・Stg Deploy
Test Prd deploy ConFnuous IntegraFon Githubを使った開発 ⾔言語はGolang、Scala、少しだけRがあります。
Continuous Integration Commit Build Unit test Dev・Stg Deploy
Test Prd deploy ConFnuous IntegraFon GithubのPushをフックしてビルド CIツールとしてはDroneを利利⽤用
Continuous Integration Commit Build Unit test Dev・Stg Deploy
Test Prd deploy ConFnuous IntegraFon Unit testもDroneでビルドするタイミングで実⾏行行
Continuous Delivery Commit Build Unit test Dev・Stg Deploy
Test Prd deploy ConFnuous Delivery 各開発環境へのデプロイはChatOpsで⾏行行います Slackのbotを⾃自作しています。
Dev環境へのデプロイ サービス選択しイメージを選択する
Continuous Delivery Commit Build Unit test Dev・Stg Deploy
Test Prd deploy ConFnuous Delivery CD 本番発環境へのデプロイもChatOpsで⾏行行います
本番環境へリリースを作成 リリースタグを切切りプルリクを送る
None
本番環境へリリースを開始 Podの状態確認 カナリアリリース リリース⽤用チャンネルへの通知等
None
ビルドの⾃自動化 テストの⾃自動化 デプロイの⾃自動化
՝ͱల $)"15&3
E2Eテスト Commit Build Unit test Dev・Stg Deploy Test
Prd deploy ConFnuous Delivery いわゆる結合テストの部分が完全に⼿手動 できる限り⾃自動化したい
Kubernetesの管理理 マニフェストの修正から反映までを⾃自動化したい
Droneって不不安 Commit Build Unit test Dev・Stg Deploy Test
Prd deploy ConFnuous IntegraFon 安くていいマネージドに変えたい Google Cloud Container Builder?
まとめ オペレーションの⾃自動化は ⻑⾧長期的には開発の安定化に 重要なので、 今後も可能な限り ⾃自動化していきたい。
ご清聴ありがとうございました! 共感していただいた⽅方! ⼀一緒に働きましょう!