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
370
Mackerel開発チームの障害対応演習 ──新卒エンジニアが障害対応指揮官を務めるに至るまでのステップ / Mackerel Drink Up 出張版@福岡
https://mackerelio.connpass.com/event/317504/
Arthur
May 23, 2024
Tweet
Share
More Decks by Arthur
See All by Arthur
デフォルトの16:9(960*540px)のケース / Google Slide Size Test
arthur1
0
2.8k
1920*1080pxに設定したケース / Google Slide Size Test
arthur1
0
2.7k
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
700
AWS AppConfigとOpenFeatureで手早く機能フラグを導入する[LT size] / CloudNative Days Winter 2024 船上LT会
arthur1
0
350
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
720
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
13
4.4k
slog登場に伴うloggerの取り回し手法の見直し / kamakura.go #6
arthur1
2
3.4k
otelcol receiver 自作RTA / Pepabo Tech Conference #22 春のSREまつり
arthur1
0
3.5k
見せ算をScalaで実装してみた / Scalaわいわい勉強会 #2
arthur1
0
2.6k
Other Decks in Technology
See All in Technology
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
350
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.5k
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
2.6k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.6k
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
130
Autonomous Database サービス・アップデート (FY25)
oracle4engineer
PRO
2
760
DB 醬,嗨!哪泥嘎斯基?
line_developers_tw
PRO
0
150
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.4k
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
230
What's new in OpenShift 4.19
redhatlivestreaming
1
220
QAはソフトウェアエンジニアリングを学んで実践するのが大事なの
ymty
1
380
Featured
See All Featured
Balancing Empowerment & Direction
lara
1
280
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
780
The Invisible Side of Design
smashingmag
299
51k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Automating Front-end Workflow
addyosmani
1370
200k
Statistics for Hackers
jakevdp
799
220k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
A better future with KSS
kneath
239
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
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 ご清聴いただき ありがとうございました!