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
障害対応を楽しむ7つのコツ
Search
ryuichi1208
June 29, 2024
Technology
5.3k
9
Share
障害対応を楽しむ7つのコツ
ryuichi1208
June 29, 2024
More Decks by ryuichi1208
See All by ryuichi1208
入門 再発防止策
ryuichi1208
16
6.3k
金曜日デプロイ、するかしないか.pdf
ryuichi1208
1
65
会話で作る信頼性
ryuichi1208
0
170
シグナル(Unix)と仲良くなる
ryuichi1208
1
41
AI前提のサービス運用について再考する
ryuichi1208
6
1.4k
A Shallow Dive into the World of TCP
ryuichi1208
1
670
入門リトライ
ryuichi1208
20
8.2k
超入門SRE 2025
ryuichi1208
4
1.5k
Goで作って学ぶWebSocket
ryuichi1208
5
4.2k
Other Decks in Technology
See All in Technology
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1.1k
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
140
ビジュアルプログラミングIoTLT vol.23
1ftseabass
PRO
0
130
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
160
情シスがMCP環境導入時に打ちのめされる認可の崖
oidfj
0
460
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
190
まだ道半ば、AI-DLCを歩み始めている話
news_it_enj
2
190
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
5
530
EdgeプロファイルでAWSアカウントを安全に使い分ける
jhashimoto
0
110
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
0
410
TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で
ypresto
3
430
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
0
430
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
250
Navigating Team Friction
lara
192
16k
Un-Boring Meetings
codingconduct
0
300
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
360
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
270
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
510
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Visualization
eitanlees
151
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Building an army of robots
kneath
306
46k
Transcript
1 障害対応を楽しむ7つのコツ 渡部 ⿓⼀ Road to SRE NEXT@仙台
技術部プラットフォームグループ 2021年 中途入社 2 自己紹介 渡部 龍一 Watanabe Ryuichi •
ロール: SRE • 仙台出身、六丁の目あたりに住んでます • SNS: @ryuichi_1208 • 好きなこと: 障害対応、EOL対応 • 好きな仙台っ子ラーメン: 味濃いめ、油なし、麺普通
3 障害対応楽しめていますか?
4 対象 • 障害対応をあまりやったことない方 • 障害対応に不安がある方 • 障害対応があまり好きじゃない方
5 障害対応とは?
6 • 運⽤中のシステムに継続できない障害が発⽣した際に、復旧させるための作業 • Webシステムにおける障害対応は、システムの信頼性を維持し、ビジネスの 継続性を確保するために不可⽋な活動 障害対応とは
7 • ビジネス継続性の確保 • ビジネスの競争優位性の確保 • 顧客満⾜度の維持 • ブランドイメージの保護 •
法的‧規制要件の遵守 障害対応は何故必要なのか?
8 ビジネスにおいて障害対応は重要!
9 障害発⽣を0にするために頑張ろう!
10 • 全く⼿を⼊れないサービスでCDNとかで静的なコンテンツだけを返すみたいな Webサービスなら可能かもしれない? • とはいえそんなサービスで利益を得続けるのは現実的ではない • サービスをローンチしても競合他社がすぐに現れてくる時代 • サービスも進化させなければ留まることすらできずに緩やかに後退する
• 継続して新機能の開発は必要だしよりよいプロダクトを作り続ける必要が出てく る 障害0は可能なのか?
11 • 動いているものに⼿を加える必要が出てくる • 開発環境やステージング環境でプロダクション環境と同等のテスト、シミュレー ションができれば障害は起きないかもしれない? • 実ユーザーやインフラの規模など完璧にシミューレートするのは困難 ◦ スロークライアント
◦ 今はサポートしてないようなクライアント、プロトコル ◦ 想定してないリクエストが数倍やってくる 障害0は可能なのか?
12 障害発⽣を0にするのは難しそう
13 • ビジネス継続性の確保 • ビジネスの競争優位性の確保 • 顧客満⾜度の維持 • ブランドイメージの保護 •
法的‧規制要件の遵守 障害対応は何故必要なのか?(再掲)
14 障害対応が必要な場⾯はプレッシャーが... 怖い、緊張する、やりたくない
15 障害対応を楽しむための7つのコツ
16 1. ドキュメントの整備をしておく 2. 障害発⽣時を⾒越してツールを整備しておく 3. 特定技術における得意分野を作っておく 4. プロダクションでやりたいことを考えておく 5.
ゲーム感覚で楽しんでみる 6. インシデントコマンダーになってみる 7. 絶賛募集中! 7つのコツ
17 • 障害対応は本番環境で操作をしがち • 全くわからない操作をやるのは怖い • 対応⽅法のドキュメントなどが整備されていれば怖さは緩和される(はず) 1. ドキュメントの整備をしておく
18 • ツールを整備したり⾃作したりして障害発⽣に備える • 作った以上は使いたくなる ◦ オブザーバビリティの実装 ◦ bpftraceとかのワンライナーを整備 ◦
AIに⾷わせるようのシステムメトリクスを出⼒するCLIを⾃作したり 2. 障害発⽣時を⾒越してツールを整備しておく
19 • ミドルウェア、フレームワークでここはまかせろ!的なのを作っておく • 実業務ではあまり使わないような知識が役だったりする ◦ コード読む、issue追う、バグトラッキングシステムみる、 コントリビュートする 3. 特定技術における得意分野を作っておく
20 • 負荷が⾼いけど実環境でやってみたいことを上げておく • perfコマンドでカーネルのどこでボトルネックになってるか知りたい • MySQLのバッファープールの中⾝⾒たい • 独⾃パッチを当てたNginxをプロダクションで試してみたい •
試してみたかったミドルウェアのパラメータを列挙しておいたり 4. プロダクションでやりたいことを考えておく
21 • 状況整理&持っている知識の引き出しを開けていく作業 • 脱出ゲームをやってる時と似たような状況(ストレスフルではあるが...) • モチベーションを⾼め、楽しみながらスキルを向上させる ◦ ゲーミフィケーション ◦
復旧最優先の中で取り組むのは難しいので過去のポストモーテムドキュメントなどか ら擬似的に障害対応を再現させつつ取り組んでみるのが個⼈的にはおすすめ 5. ゲーム感覚で取り組む
22 • インシデントを解決に導く指揮官 • 全体を俯瞰してみる⽴場は楽しい、⾃分が意思決定して進んでいくのも楽しい • 最初から実際の障害でやるよりかはTable Top Exerciseのように演習で場数を踏 んでみるのもおすすめ
◦ AWS フォールトインジェクションサービスで擬似障害をやってみる ▪ IOストレステスト ▪ パケット損失 6. インシデントコマンダーになってみる
23 まとめ
24 • ビジネスにおいて重要な障害対応、プレッシャーがある中で⾃⾝の100%の能⼒ を発揮し切るのは難しい • 今回の発表のように発⽣することを前提として楽しむための⼼構えを持っておく ことでより良い対応ができるようになるはず • 「怖い、緊張する、やりたくない」というマイナスイメージの緩和策に繋がれば 良いなと思っています
まとめ
25 • 障害対応”中”にフォーカスした内容であって障害対応後のポストモーテム、 再発防⽌策の実施が重要だとそこの発表をYAPCでしたのでぜひVoteお願いしま す!!! まとめ
26 ご静聴ありがとうございました