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
ソフトウェアの継続的アップデートをコンテナ化によって加速させる/Accelerate cont...
Search
Takuma Kume
November 21, 2023
0
4.9k
ソフトウェアの継続的アップデートをコンテナ化によって加速させる/Accelerate continuous software updates with containerization
技術的負債に向き合う Online Conference LT (5min)
https://findy.connpass.com/event/297813/
Takuma Kume
November 21, 2023
Tweet
Share
More Decks by Takuma Kume
See All by Takuma Kume
事業部CTOの現在地(パネルディスカッション)/Current-location-of-Division-CTO
takumakume
0
61
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
590
ロリポップ! for Gamersの立ち上げ/lolipop for gamers launch
takumakume
0
2.1k
ホモグラフドメインを検出してみた/detect homograph domain
takumakume
0
480
KubernetesにおけるSBOMを利用した脆弱性管理/Vulnerability_Management_with_SBOM_in_Kubernetes
takumakume
1
2.2k
ホスティング事業におけるSREの取り組みとSREの面白さ/SRE Efforts in the Hosting Business and the Interest of SRE
takumakume
1
2.5k
GitOpsで実現するPull Request毎のプレビュー環境/Preview environment for each Pull Request by GitOps
takumakume
0
1.7k
Goでkubernetes operatorを実装してアプリのプレビュー環境を作る/go-kubernetes-operator
takumakume
0
170
クラウドネイティブな開発環境への移行/Move to the cloud native development environment
takumakume
1
610
Featured
See All Featured
Designing Experiences People Love
moore
140
23k
GraphQLとの向き合い方2022年版
quramy
44
13k
The Pragmatic Product Professional
lauravandoore
32
6.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
What's in a price? How to price your products and services
michaelherold
244
12k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
The Cult of Friendly URLs
andyhume
78
6.2k
Transcript
ソフトウェアの継続的アップデートを コンテナ化によって加速させる 久米拓馬 / GMO PEPABO inc. 2023.11.21 技術的負債に向き合う Online
Conference 1
2 自己紹介 ホスティング事業部 SREチーム シニアエンジニア 久米拓馬 @takumakume • 福岡在住 • ルアーフィッシング・珈琲焙煎 •
Webアプリケーションプラットフォームの開発・ 運用 • Kubernetes / Cloudnative
変更しやすいシステム 開発者体験が良い メンテナンスされる
変更しやすいシステムの手段 「コンテナ化」
ソフトウェアアップデートにおける課題 前提共有:最大22年続くサービスを複数運用している会社
None
• OS • パッケージ • 言語 • ライブラリ ソフトウェアアップデートやっていますか?
• 脆弱性が放置される • 新機能が使えない • 互換性がなくなる • データベースのバージョン • TLSのバージョン
• etc … • 割れ窓理論、何もしないは伝染する ソフトウェアをアップデートしなかったらどうなるか? ソフトウェアは何もしないと壊れる
• ソフトウェアアップデートの必要性は突然来る(厳密には薄々気づいている) • 必要になったときには... • ジャンプアップ、ビッグバンリリース • 依存関係のソフトウェアアップデートを同時に求められる • 作業タイミングの選択肢の幅が狭くなっている
継続的にソフトウェアをアップデートしなかったらどうなるか? 予想外の規模とタイミングで作業が発生しビジネスインパクトが大きい
• サービス提供開始から20年以上経過 • ソフトウェアアップデートが積極的に行われていない • Webアプリケーションの数は約40個、VM • 様々なインフラ構成 事業部のアプリケーションを取り巻く状況
複数のアーキテクチャのWebアプリケーション、オペレーションが難しい Private Cloud “Nayh” (Openstack) KVM LBaaS Reverse Proxy app
A app B app C Consul Service Discovery Keepalived app D Internet LB
• 開発からデプロイまでのリードタイムが長い • インフラ構成の認知負荷が高い • VMを作るのは時間がかかる • 変更による障害リスクが高い • ミュータブルなインフラのため再現性が低く不安定
• 手動オペレーションが必要 課題の抽出
変更しづらいシステム
開発者体験が悪い
放置される
ソフトウェアアップデートの初手 「コンテナ化」
開発からデプロイまでのリードタイムが長い • アプリのコードとDockerfileをPushしたらすべて自動でリリースされる 変更による障害リスクが高い • イミュータブルなインフラのため再現性が高く安定する • Kubernetes + GitOps
で手動オペレーションの撲滅 ソフトウェアアップデートの初手「コンテナ化」 コンテナ化による課題解決
変更しやすいシステムを 支える技術
• 開発者はコードを書いて、Pull Requestをマージ するだけ • Argo CD • Argo CD
Image Updater ソフトウェアアップデートを支える技術 徹底したGitOps Kubernetes Cluster Git Kubernetes Manifests App Code Push Container Image Build Developer
ソフトウェアアップデートを支える技術 Staging環境をPull Request毎に自動生成 • Staging環境待ちが発生しない • Argo CD Application Set
など
ソフトウェアアップデートを支える技術 ソフトウェアの自動アップデート • renovate
ソフトウェアアップデートを支える技術 プログレッシブデリバリー • リリース後のメトリクスを元に自動ロール バック • 予想外のインシデントの影響を最小限に抑 える • Argo
Rollouts
ソフトウェアアップデートを支える技術 脆弱性の対応 • KEV (Known Exploited Vulnerabilities) に該当する悪用が確認された脆弱性に絞って通 知し、必ず対応するようにしている https://speakerdeck.com/takumakume/vulnerability-management-with-sbom-in-kubernetes
変更しやすいシステム 開発者体験が良い メンテナンスされる
25 Thank You! Thank You! GMOペパボに興味がある方は @takumakume までご連絡ください! カジュアル面談でもお待ちしております。