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
SREが取り組むカラーミーショップへのk8s導入
Search
ch1aki
February 25, 2021
Technology
2
950
SREが取り組むカラーミーショップへのk8s導入
Pepabo Tech Conference #14
ch1aki
February 25, 2021
Tweet
Share
More Decks by ch1aki
See All by ch1aki
マルチアカウント環境への発見的統制の導入
ch1aki
2
1.5k
Prometheus Shardingのためにミニマルに始めるThanos
ch1aki
0
590
オンプレk8sとEKSの並行運用の実際
ch1aki
0
1.9k
k8s Operatorで運用負担減&ハイブリッドクラウドのコスト最適化をした話
ch1aki
0
1.8k
Other Decks in Technology
See All in Technology
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
740
非機能品質を作り込むための実践アーキテクチャ
knih
3
1.1k
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
310
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
180
Wantedly での Datadog 活用事例
bgpat
1
440
生成AIのガバナンスの全体像と現実解
fnifni
1
180
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
27
12k
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
Featured
See All Featured
Fireside Chat
paigeccino
34
3.1k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Side Projects
sachag
452
42k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Designing for humans not robots
tammielis
250
25k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
Designing Experiences People Love
moore
138
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
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