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
340
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
610
AWS AppConfigとOpenFeatureで手早く機能フラグを導入する[LT size] / CloudNative Days Winter 2024 船上LT会
arthur1
0
300
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
690
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
13
4.1k
slog登場に伴うloggerの取り回し手法の見直し / kamakura.go #6
arthur1
2
3k
otelcol receiver 自作RTA / Pepabo Tech Conference #22 春のSREまつり
arthur1
0
3.4k
見せ算をScalaで実装してみた / Scalaわいわい勉強会 #2
arthur1
0
2.4k
技術習得を支え続けた私の個人開発ヒストリー / Hatena Engineer Seminar #28
arthur1
1
1.9k
Scala の好きなところ 難しいところ / #scala_waiwai
arthur1
0
1.6k
Other Decks in Technology
See All in Technology
Symfony in 2025: Scaling to 0
fabpot
2
270
Re:VIEWで書いた「Compose で Android の edge-to-edge に対応する」をRoo Codeで発表資料にしてもらった
tomoya0x00
0
240
AIエージェントキャッチアップと論文リサーチ
os1ma
6
1.4k
Cloud Native PG 使ってみて気づいたことと最新機能の紹介 - 第52回PostgreSQLアンカンファレンス
seinoyu
2
250
自分の軸足を見つけろ
tsuemura
1
150
こんなデータマートは嫌だ。どんな? / waiwai-data-meetup-202504
shuntak
3
640
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
1
2.2k
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.3k
”知のインストール”戦略:テキスト資産をAIの文脈理解に活かす
kworkdev
PRO
8
3.5k
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
240
Medmain FACTBOOK
akinaootani
0
160
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
4
1.1k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
176
9.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Embracing the Ebb and Flow
colly
85
4.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Adopting Sorbet at Scale
ufuk
75
9.3k
How to train your dragon (web standard)
notwaldorf
91
6k
Documentation Writing (for coders)
carmenintech
69
4.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Designing for Performance
lara
606
69k
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 ご清聴いただき ありがとうございました!