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
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
150
OSもどきOS
arkw
0
470
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
240
net-httpのHTTP/2対応について
naruse
0
470
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
100
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
350
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.9k
AI時代のUIはどこへ行く?その2!
yusukebe
20
7k
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
5.2k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
The NotImplementedError Problem in Ruby
koic
1
670
Featured
See All Featured
Side Projects
sachag
455
43k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Mobile First: as difficult as doing things right
swwweet
225
10k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
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?
まとめ オペレーションの⾃自動化は ⻑⾧長期的には開発の安定化に 重要なので、 今後も可能な限り ⾃自動化していきたい。
ご清聴ありがとうございました! 共感していただいた⽅方! ⼀一緒に働きましょう!