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
Mackerel開発チームの障害対応演習 ──新卒エンジニアが障害対応指揮官を務めるに至るまで...
Search
Arthur
May 23, 2024
Technology
0
360
Mackerel開発チームの障害対応演習 ──新卒エンジニアが障害対応指揮官を務めるに至るまでのステップ / Mackerel Drink Up 出張版@福岡
https://mackerelio.connpass.com/event/317504/
Arthur
May 23, 2024
Tweet
Share
More Decks by Arthur
See All by Arthur
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
650
AWS AppConfigとOpenFeatureで手早く機能フラグを導入する[LT size] / CloudNative Days Winter 2024 船上LT会
arthur1
0
320
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
700
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
13
4.2k
slog登場に伴うloggerの取り回し手法の見直し / kamakura.go #6
arthur1
2
3.2k
otelcol receiver 自作RTA / Pepabo Tech Conference #22 春のSREまつり
arthur1
0
3.4k
見せ算をScalaで実装してみた / Scalaわいわい勉強会 #2
arthur1
0
2.5k
技術習得を支え続けた私の個人開発ヒストリー / Hatena Engineer Seminar #28
arthur1
1
1.9k
Scala の好きなところ 難しいところ / #scala_waiwai
arthur1
0
1.6k
Other Decks in Technology
See All in Technology
Why Platform Engineering? - マルチプロダクト・少人数 SRE の壁を越える挑戦 -
nulabinc
PRO
4
390
コードや知識を組み込む / Incorporating Codes and Knowledge
ks91
PRO
0
170
時間がないなら、つくればいい 〜数十人規模のチームが自律性を発揮するために試しているいくつかのこと〜
kakehashi
PRO
23
5.3k
Next.jsと状態管理のプラクティス
uhyo
4
1.6k
10分で学ぶ、RAGの仕組みと実践
supermarimobros
0
910
MCP でモノが動くとおもしろい/It is interesting when things move with MCP
bitkey
2
460
AIとSREで「今」できること
honmarkhunt
3
720
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
110
AI-in-the-Enterprise|OpenAIが公開した「AI導入7つの教訓」——ChatGPTで変わる企業の未来とは?
customercloud
PRO
0
160
CodeRabbitと過ごした1ヶ月 ─ AIコードレビュー導入で実感したチーム開発の進化
mitohato14
1
240
Асинхронная коммуникация в Go: от понятного к душному. Дима Некрасов, Otello, 2ГИС
lamodatech
0
2.1k
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
730
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
420
Agile that works and the tools we love
rasmusluckow
329
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Bash Introduction
62gerente
613
210k
The Cult of Friendly URLs
andyhume
78
6.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
790
For a Future-Friendly Web
brad_frost
177
9.7k
Documentation Writing (for coders)
carmenintech
71
4.8k
KATA
mclloyd
29
14k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Six Lessons from altMBA
skipperchong
28
3.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
700
Transcript
ja.mackerel.io Mackerel開発チームの障害対応演習 ──新卒エンジニアが障害対応指揮官 を務めるに至るまでのステップ 株式会社はてな Mackerel 開発チーム アプリケーションエンジニア Arthur(id:arthur-1) 2024-05-23
Mackerel Drink Up 出張版@福岡
自己紹介 id:arthur-1 株式会社はてな Mackerel 開発チーム アプリケーションエンジニア @Arthur1__ > 2022 年新卒入社
顧客要望やdogfoodingから特定したMVPを検証 可能な形で実装し、リリースの効果を可視化し続 けることで仮説検証型開発を支えています 2
Mackerel開発チームの状況 • 自分も含めチームに開発メンバーがたくさん増えキャッチ アップ不足 • 新規開発やインフラ更改でシステムの様子が大きく変化 限られた人だけが障害対応で指示し手を動かしていた 3
障害対応の学びの難しさ 障害対応の目標は障害(ユーザーがサービスを正常に利用 できない状態)をいち早く復旧すること 障害対応はいつ起こるか、そしてその場に居合わせる人が 誰かわからない →本番の障害対応をスキルアップの場としにくい 4
自分も最初はこうだった 新卒入社後すぐの自分 • システム構成がわからないからグラフを見ても何の数値か わからない、飛び交う言葉もわからない • 問題を認識しても、どうすれば良いか決断できない →今では障害対応の指揮官ができるまでに成長した 5
Mackerel開発チームのやり方 障害対応のふり返り • 経験を一般的な学びに昇華する手段 • 個人の過ちと捉えず、仕組みで解決する機会 障害対応演習 ⇦今回のトピックはこれ • 災害と同じように定期的な訓練が必要 6
Mackerelの障害対応演習の設計 最近Mackerel開発チームSREのid:heleeenによって アウトプットされたものがあるので、ぜひご覧ください • Mackerel で行った障害対応演習を紹介します https://developer.hatenastaff.com/entry/2024/04/30/162658 • 障害対応をちょっとずつよくしていくための演習の作りかた https://speakerdeck.com/heleeen/troubleshooting-exercises
7
障害対応演習のメニュー これらのメニューを、チームやシステムの状況を元に組み 合わせて実施する • オペレーションの手順確認 • 障害対応フローの確認 • 検証用の環境での実践 8
オペレーションの手順確認 障害対応で起こり得る手動オペレーションの手順を学び、 実際に手を動かして練習する: • アプリケーションのロールバック • データベースのスナップショットからの復元 • アプリケーションをメンテナンスモードにする インフラ構成が変化する(例えばクラウドシフト)際に特
に有効 9
オペレーション手順確認の効果 • オペレーションができる作業者が増える • 手順が記されたドキュメントが用意される • マニュアル通りにやればできるという安心感を得る 私はSREと一緒に手順確認の演習を準備して実施(解説) する経験をした →手順の意味や具体的な方法を深く知る機会に
10
オペレーション手順確認の準備 私はSREと一緒に手順確認の演習を準備して実施(解説) する経験をした →手順の意味や具体的な方法を深く知る機会に 時間の制約なく、自分がわからないところに向き合える 11
障害対応フローの確認 座学 • 障害対応フォーメーションを組んでから解散するまでの一連の流 れをおさらいする • 各ステップで各ロールがどんな心がけをすべきか、それはなぜか を知る ロールプレイ •
発生した障害や原因というシナリオが決まっていて、座学で学ん だ通りに障害対応フローを擬似体験する 12
ロールプレイのコツ シナリオの細部まで決まっているとは限らない 細かいところは実際の障害対応の様子を思い出しながらでっち 上げると停滞しない メタ発言が減ると没入感、障害対応さながらの緊張感も高まる 例)「実装内容に不備がある」というシナリオのケース: 数分調査するふりをした後、「リリース後に500系のレスポンスが増 加した様子が確認されたので、ロールバックしてみませんか」と発言 13
障害対応フロー確認の効果 実際の障害対応中で、スキルが高まったと実感する機会が たくさん: • 「誰かやってください」ではなく「〜〜さんにお願いしま す」と明確な指示を出せる • 「原因究明より復旧優先しませんか」という声かけが自然 とできる •
集まった情報から冷静に状況を分析し判断できる 14
検証用の環境での実践 検証環境が実際に壊された状況から、アラートなどの手が かりを元に影響範囲を特定しシステムを復旧する これまで紹介した2つの演習で得た知識を実践する反復に よって真にチームに身に付く 15
検証用の環境での実践例 これらによってサービスがおかしくなった状態から原因を 突き止め何とかする: • コンテナイメージをレジストリから削除 • Security Groupの変更 • DBクラスタの削除
謎解き・脱出ゲームが好きなので普通に楽しい 16
検証環境での実践の効果 本番で行う障害対応演習と何ら変わらず、ふり返りによっ て監視運用や障害対応をより良くできる 本当に起きたら困る、ビジネス的に大きなインパクトがあ るケースでのコミュニケーションの練習もできた 17
まとめ • チームの状況を踏まえ、目的意識を持って障害対応演習のメ ニューを組みましょう • 自信を持って手動オペレーションができるように練習機会を用 意しましょう • チームメンバーにうまく采配し、素早く復旧に持っていけるよ うな指揮官を増やしましょう
• 新メンバーの知識を増やすには、障害対応演習の準備を一緒に やるのも効果的 18
宣伝 明日2024-05-24(金) 「Road to SRE NEXT@福岡」にはてなスタッフ id:cohalz, id:cd_sioremonが登壇します! https://sre-lounge.connpass.com/event/314694/ 福岡の皆さん、現地でお会いしましょう
19
20 ご清聴いただき ありがとうございました!