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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
160
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
170
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.8k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
130
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.7k
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
120
dRuby over BLE
makicamel
2
390
スマートグラスで並列バイブコーディング
hyshu
0
260
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
2
720
Creating Composable Callables in Contemporary C++
rollbear
0
160
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
920
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.5k
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
140
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
Being A Developer After 40
akosma
91
590k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Claude Code のすすめ
schroneko
67
230k
Evolving SEO for Evolving Search Engines
ryanjones
0
220
AI: The stuff that nobody shows you
jnunemaker
PRO
8
730
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
330
Color Theory Basics | Prateek | Gurzu
gurzu
0
370
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
290
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
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?
まとめ オペレーションの⾃自動化は ⻑⾧長期的には開発の安定化に 重要なので、 今後も可能な限り ⾃自動化していきたい。
ご清聴ありがとうございました! 共感していただいた⽅方! ⼀一緒に働きましょう!