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
5.1k
ソフトウェアの継続的アップデートをコンテナ化によって加速させる/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
SRE/インフラエンジニアの市場価値とキャリアパス/Market value and career path for SRE-infrastructure engineers
takumakume
1
460
【新卒研修】共通言語としてのSRE/SRE as a common language
takumakume
0
130
DDoSとの終わりなき戦い2025/endless_battle_with_ddos_attack_2025
takumakume
2
94
事業部CTOの現在地(パネルディスカッション)/Current-location-of-Division-CTO
takumakume
0
89
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
770
ロリポップ! for Gamersの立ち上げ/lolipop for gamers launch
takumakume
0
2.3k
ホモグラフドメインを検出してみた/detect homograph domain
takumakume
0
570
KubernetesにおけるSBOMを利用した脆弱性管理/Vulnerability_Management_with_SBOM_in_Kubernetes
takumakume
1
2.4k
ホスティング事業におけるSREの取り組みと面白さ/SRE Efforts in the Hosting Business and the Interest of SRE
takumakume
1
2.8k
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Rails Girls Zürich Keynote
gr2m
94
13k
How to Ace a Technical Interview
jacobian
276
23k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
620
The Language of Interfaces
destraynor
158
25k
GitHub's CSS Performance
jonrohan
1031
460k
GraphQLとの向き合い方2022年版
quramy
46
14k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Automating Front-end Workflow
addyosmani
1370
200k
Bash Introduction
62gerente
614
210k
Code Review Best Practice
trishagee
68
18k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
840
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 までご連絡ください! カジュアル面談でもお待ちしております。