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.6k
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
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
520
プロセス改善による品質向上事例
tomasagi
2
2.5k
N=1から解き明かすAWS ソリューションアーキテクトの魅力
kiiwami
0
130
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
5
710
現場で役立つAPIデザイン
nagix
33
12k
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
390
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
540
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2k
技術負債の「予兆検知」と「状況異変」のススメ / Technology Dept
i35_267
1
1.1k
Larkご案内資料
customercloud
PRO
0
650
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
160
Featured
See All Featured
Designing for Performance
lara
604
68k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Why Our Code Smells
bkeepers
PRO
336
57k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Site-Speed That Sticks
csswizardry
4
380
Docker and Python
trallard
44
3.3k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
A Tale of Four Properties
chriscoyier
158
23k
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 ご清聴いただき ありがとうございました!