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
320
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
500
AWS AppConfigとOpenFeatureで手早く機能フラグを導入する[LT size] / CloudNative Days Winter 2024 船上LT会
arthur1
0
240
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
660
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
13
3.8k
slog登場に伴うloggerの取り回し手法の見直し / kamakura.go #6
arthur1
1
2.7k
otelcol receiver 自作RTA / Pepabo Tech Conference #22 春のSREまつり
arthur1
0
3.3k
見せ算をScalaで実装してみた / Scalaわいわい勉強会 #2
arthur1
0
2.3k
技術習得を支え続けた私の個人開発ヒストリー / Hatena Engineer Seminar #28
arthur1
1
1.8k
Scala の好きなところ 難しいところ / #scala_waiwai
arthur1
0
1.5k
Other Decks in Technology
See All in Technology
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
310
Windows の新しい管理者保護モード
murachiakira
0
180
php-conference-nagoya-2025
fuwasegu
0
120
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
280
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
910
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
380
Share my, our lessons from the road to re:Invent
naospon
0
120
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
15
4.2k
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
160
Two Blades, One Journey: Engineering While Managing
ohbarye
2
490
Goで作って学ぶWebSocket
ryuichi1208
3
2.4k
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
3
790
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Language of Interfaces
destraynor
156
24k
Building Adaptive Systems
keathley
40
2.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
What's in a price? How to price your products and services
michaelherold
244
12k
KATA
mclloyd
29
14k
Embracing the Ebb and Flow
colly
84
4.6k
Building Your Own Lightsaber
phodgson
104
6.2k
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 ご清聴いただき ありがとうございました!