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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ryuichi1208
June 29, 2024
Technology
5.3k
9
Share
障害対応を楽しむ7つのコツ
ryuichi1208
June 29, 2024
More Decks by ryuichi1208
See All by ryuichi1208
会話で作る信頼性
ryuichi1208
0
140
シグナル(Unix)と仲良くなる
ryuichi1208
1
28
AI前提のサービス運用について再考する
ryuichi1208
6
1.4k
A Shallow Dive into the World of TCP
ryuichi1208
1
650
入門リトライ
ryuichi1208
20
8k
超入門SRE 2025
ryuichi1208
4
1.5k
Goで作って学ぶWebSocket
ryuichi1208
5
4.1k
コード化されていない稼働中のサーバを移設_再構築する技術
ryuichi1208
20
15k
AI前提のサービス運用ってなんだろう?
ryuichi1208
9
2k
Other Decks in Technology
See All in Technology
チームで育てるAI自走環境_20260409
fuktig
0
990
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
140
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
600
AIドリブン開発の実践知 ― AI-DLC Unicorn Gym実施から見えた可能性と課題
mixi_engineers
PRO
0
130
機能・非機能の学びを一つに!Agent Skillsで月間レポート作成始めてみた / Unifying Bug & Infra Insights — Building Monthly Quality Reports with Agent Skills
bun913
5
3.9k
Proxmox超入門
devops_vtj
0
160
新規サービス開発におけるReact Nativeのリアル〜技術選定の裏側と実践的OSS活用〜
grandbig
2
180
Databricksを用いたセキュアなデータ基盤構築とAIプロダクトへの応用.pdf
pkshadeck
PRO
0
270
NOSTR, réseau social et espace de liberté décentralisé
rlifchitz
0
150
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
3
400
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
350
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
2
300
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
480
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
680
The Language of Interfaces
destraynor
162
26k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
The untapped power of vector embeddings
frankvandijk
2
1.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
350
Into the Great Unknown - MozCon
thekraken
40
2.3k
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 ご静聴ありがとうございました