Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SREが取り組むカラーミーショップへのk8s導入
Search
ch1aki
February 25, 2021
Technology
1.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SREが取り組むカラーミーショップへのk8s導入
Pepabo Tech Conference #14
ch1aki
February 25, 2021
More Decks by ch1aki
See All by ch1aki
マルチアカウント環境への発見的統制の導入
ch1aki
2
1.8k
Prometheus Shardingのためにミニマルに始めるThanos
ch1aki
0
860
オンプレk8sとEKSの並行運用の実際
ch1aki
0
2.6k
k8s Operatorで運用負担減&ハイブリッドクラウドのコスト最適化をした話
ch1aki
0
2.5k
Other Decks in Technology
See All in Technology
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
170
あけおめLINE 傾向とその対策
nasa9084
0
130
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
400
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
360
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.2k
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.7k
AI時代、データエンジニアが一番おもろい
genshun9
0
670
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
950
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
140
空間オーディオで過去の 自分(ゴースト)と競うランニング 〜HealthKitのルートを足音に変える実装〜
nao_randd
0
230
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
170
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
210
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Designing for Performance
lara
611
70k
Designing for humans not robots
tammielis
254
26k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
810
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Designing Experiences People Love
moore
143
24k
Unsuck your backbone
ammeep
672
58k
Transcript
1 SREが取り組む カラーミーショップへの k8s導入 Pepabo Tech Conference #14 (2021/02/25 )
菅原 千晶 / GMO Pepabo, Inc.
2 自己紹介 • 技術部プラットフォームグループ(PFG)所属 • 経歴 ◦ 2015/4~ システム運用系SE ◦
2018/3~ ペパボカレッジ6期入社 • 業務内容:カラーミーショップのインフラ運用 ◦ 運用効率化 ◦ 可用性の改善 • 趣味 ◦ 自作キーボード⌨ ◦ 猫の撮影🐈 2 菅原 千晶 / akichan 2021/7/1入社 ペパカレ(SRE) 現在募集中!
3 3 目次 1. ペパボにおけるSREの取り組み 2. カラーミーショップへのk8s導入 3. 今後の話 SREとして
注力している 施策
4 ペパボにおける SREの取り組み 4
5 5 ペパボにおけるSREの取り組み • 技術部のミッションは「全社統合的なアプローチで、 技術による効率化と事業成果の最大化を図る」 • セキュリティ対策、基盤プロダクトなどのサービス共通の問題を 解決するソリューションをプラットフォームとして提供 •
IT運用に対するソフトウェア・エンジニアリング アプローチである Site Reliability Engineeringを取り入れ、事業成果の最大化に貢献 技術部がSREに取り組む理由
6 6 SRE活動の 実例
7 7 ペパボにおけるSREの取り組み • ショップの売り上げに対する影響が大きいところを計測 ◦ e.g. 決済関連、ショップの管理画面、ショップページ • 週次で
SLIを振り返る会 を実施 ◦ 可用性に影響する可能性があるリリース予定の共有 ◦ SLIのトレンドの変化の確認 ◦ 直近で発生したインシデントやオンコールの確認 カラーミーショップのSLO設定 SLOを維持するために、需要増の傾向に対して 事前にスケールアウトなどの対策ができた
8 8 ペパボにおけるSREの取り組み • 失敗から学ぶための振り返り • 2018年以降、200件以上の ポストモーテムを作成 (全サービス合計) •
ポストモーテムは社内のオープンな リポジトリで管理される ポストモーテム インシデントハンドリングを支援するslack botを利用 - 関係者の召集 - タイムキーピング - ポストモーテム作成の支援 - etc ポストモーテムの結果、システムアーキテクチャの 変更などによる可用性向上の取り組みが行われた
9 9 ペパボにおけるSREの取り組み モニタリングの改善 • あるとき、外部のメールリレーサービスで送信障害が発生 • 監視が不十分で気づくことができなかった ◦ 管理画面からはメトリクスの変化が追跡しづらく異常の判断が困難
◦ 監視サービスに対応していない ▪ APIで瞬間的なメトリクスが取得可能だった • メトリクスの変化を追跡可能にするため、Mackerelプラグインを開発 ソフトウェアエンジニアリングによる問題解決 メトリクスの傾向の変化から、 従来よりも早く異常を検知可能になった
10 10 ソフトウェアエンジニアリングによる問題解決 ペパボにおけるSREの取り組み 監視設定の トレーサビリティ改善・属人化の排除 • 依頼を元にSREが監視設定を手動で変更していた • 監視設定の抜け漏れ、意図しない変更によって障害影響範囲の特定が遅延
• 監視設定のコード化&デプロイ自動化 ◦ Mackerel設定をTerraform化 ◦ PRマージでTerraform自動適用 ◦ mercari/tfnotify によってPR上でplan結果確認&適用後の結果を通知 監視設定変更のセルフサービス化& 変更履歴の追跡が可能に
11 カラーミーショップへの k8s導入 11
12 12 カラーミーショップのインフラが抱える課題 カラーミーショップへのk8s導入 • OS, ミドルウェアのバージョンアップにかかる時間的コストが多い ◦ インスタンスを作成し、アップデート、動作検証、本番環境へ ◦
ロールバックの場合はさらに一手間 • スケーリングに時間がかかり急なアクセス増に十分に対応できない ◦ インスタンス作成、プロビジョニングで数十分程度 • Nyahにロックインしている ◦ IaCやアーキテクチャがNyah前提 ◦ マルチクラウド化を進める際に改修や管理の工数が膨らむ
13 13 コンテナプラットフォームへ 移行することで改善できそう
14 14 コンテナプラットフォーム移行を行うことで改善できそうなこと カラーミーショップへのk8s導入 • OS, ミドルウェアのバージョンアップ ◦ 手元の再現性が高い環境で動作検証が可能 ◦
バージョンアップ・ロールバックはイメージの入れ替えで済む • スケールアウト時間 ◦ インスタンスの追加の代わりにコンテナの数を増やす ◦ 数分程度で簡単にリソースを増減できる • ロックインからの解放 ◦ クラウドインフラ環境が抽象化され、サービスのポータビリ ティが向上
15 15 ペパボのk8sを取り巻く環境 カラーミーショップへのk8s導入 • プライベートクラウド Nyah (OpenStack) • クラスタ管理ツール
NKE (Nyah Kubernetes Engine) ◦ 社内のセキュリティ基準に準拠した構成でクラスタを構築 ◦ built-inのモニタリングコンポーネント ◦ 全社共通ログ基盤へシステムコンポーネントログを集約 • 各サービス毎にNKEでNyah上にクラスタを構築し運用
16 16 k8s導入初期 カラーミーショップへのk8s導入 • クラスタ構築 🆕 • 既存アプリケーションがコンテナ化され本 番稼働開始
🎊 • 新規開発のアプリケーションが稼働開始 • 2019 2020 k8s移行が さらに加速?
17 17 このまま 全てのアプリケーションが コンテナ化されたら? 🤔
18 18 全アプリケーションがコンテナ化される時の懸念 カラーミーショップへのk8s導入 導入当初、マニフェストの適用は手動オペレーションで行っていた • オペレーションミスの増加 → 可用性の低下 •
変更のトレーサビリティが失われる → MTTR増加 • k8sに不慣れな開発者が多い → デプロイ作業の属人化 k8sへの移行を効率的に進めるために、 まずはデプロイの改善が必要と考えた
19 19 “GitOps”で 解決できそう
20 20 What’s GitOps? カラーミーショップへのk8s導入 • weaveworks社が提唱し始めた k8s運用のプラクティス • Git管理のmanifestを信頼でき
る唯一の情報源として扱い、 継続的デプロイ • 得られる効果 ◦ 変更がコミット履歴で追跡可 ◦ 構成ドリフトの解消 引用: weaveworks blog. “What DevOps is to the Cloud, GitOps is to Cloud Native”. https://www.weave.works/blog/gitops-is-cloud- native
21 GitOps実現のために考えたこと 21 カラーミーショップへのk8s導入 ヒューマンエラー の介入防止 変更の追跡 デプロイ属人化 の排除 •
アプリケーションの更新 をトリガーに、自動で最 新イメージのタグへ更新 するPR作成 • manifestリポジトリで stagingへの反映後に自動 でproductionへの反映PR 作成 • イメージタグ更新PR上でアプリ ケーションの変更差分の確認 • リリース完了の通知 • わかりやすいWebインター フェースを持つArgoCDを 選択 • manifestはシンプルに全て 一つのリポジトリ
22 22 feat master release manifests repo staging production sample-app
image registory Build & Push image Create PR (update image tag) カラーミーショップへのk8s導入 Merge master sync sync notify
23 23 GitOps化の結果 カラーミーショップへのk8s導入 • 順調にk8sで稼働するアプリケーションが増加 • デプロイミスなどリリース起因の障害は発生していない • k8sに慣れていない開発者でもデプロイができるようになった
• 構成ドリフトを検出・自動で修正することができるようになった
24 今後やっていくこと 24
25 25 今後やっていくこと • これまで2度クラスタマイグレーションを実施 ◦ クラスタのアップグレードでダウンタイムが発生するため ◦ 毎回クラスタの切り替えには手間と時間がかかっている •
実現したいこと ◦ クラスタ障害、クラウド環境の障害影響を低減 ◦ プライベートクラウドのコストメリットを最大限に活用した、 コスパのいいコンテナプラットフォーム マルチクラウドでk8sマルチクラスタ化による可用性向上
26 26 今後やっていくこと • 単純なコンテナ化では解決できない課題 ◦ 全ショップでリソースを共有するアーキテクチャのため、特定ショッ プ起因の障害が全ショップへ波及する(e.g. 人気商品の販売) •
実現したいこと ◦ マルチクラスタやリソースの論理的分割による可用性向上 現在、既存アプリのコンテナ化に並行してリアーキテクチャ進行中 カラーミーショップのリアーキテクチャ
27 まとめ 27
28 まとめ • ペパボのSREが普段やっていることを紹介 SLO, ポストモーテム, 改善活動 • 注力しているカラーミーショップへのk8s導入とGitOps の取り組みを紹介
• 今後やっていくことを述べた ◦ k8sマルチクラスタ化による可用性向上 ◦ カラーミーショップのリアーキテクチャ 28