Slide 1

Slide 1 text

手を動かさないインシデント対応 自動化で迅速・正確な運用を目指す PagerDuty Product Evangelist Kazuto Kusama @jacopen

Slide 2

Slide 2 text

Kazuto Kusama @jacopen Product Evangelist @PagerDuty Japan Organizer @Platform Engineering Meetup Founder @Cloud Native Innovators Association

Slide 3

Slide 3 text

のほうから来ました

Slide 4

Slide 4 text

1. 検知 2. トリアージ 3. 動員 4. 協⼒/解決 5. 学習/予防 ライフサイクル全体を通して、インシデントの状況をリアルタイムで可視化 インシデントを特定 ⾃動処理 運⽤改善のための 知⾒を提供 最適な担当者に通知 迅速な解決を⽀援 あらゆるツールから イベントを受信 架電、 SMS、メール Appプッシュ通知、チャット ⾃動エスカレーション スケジュール管理 診断‧修復作業の⾃動化 チーム内外と円滑に連携 クラウド コンテナ マイクロサービス ネットワーク アプリ‧サービス セキュリティ データベース サーバー ソーシャル PagerDuty Operations Cloud インシデントをより早く‧少ないリソースで解決 / 将来のインシデントを未然に防ぐ 担当者が最適な 通知⽅法を選択 対応履歴 MTTA/MTTR 分析 担当者の負荷状況 ポストモーテム 解決のヒントを提⽰ ● 過去の類似インシデント ● 直近の構成/コード変更 ...etc. 80%-99% ノイズ削減 700+ Integrations

Slide 5

Slide 5 text

こういう話をよくする 最近PagerDutyに 転職したんですよー おー、使ってますよ! 良いサービスですよね

Slide 6

Slide 6 text

こういう話をよくする 最近PagerDutyに 転職したんですよー あんまり 見たくはないけど

Slide 7

Slide 7 text

あんまり見たくはない サービス

Slide 8

Slide 8 text

インシデント発生中ってこんな感じ Zzzz

Slide 9

Slide 9 text

インシデント発生中ってこんな感じ !!! PagerDuty Alert You have one triggered incident on…

Slide 10

Slide 10 text

インシデント発生中ってこんな感じ CIO 一体 どうなってるんだ! 現状を 教えてください! 今何が起きてるの! スココン スココン アラート 動かない! ユーザー担当 別チーム ユーザー

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

インシデント対応中は色々あぶない • あらゆる方面からプレッシャーがかかる • 通知が荒ぶる • 早く直さなきゃという焦り • 深夜だと頭がまだ回ってない • そもそも対応する人が1人とは限らない • 知識、経験がバラバラ ⇒ 普段ではやらないようなミスも起きうる ⇒ 二次災害の危険性が高い

Slide 13

Slide 13 text

そりゃ苦い思い出にもなるわな・・・

Slide 14

Slide 14 text

少しでも楽にするにはどうすればいいか 今回の本題とは異なりますが、イン シデントコマンダーの元で対応する ようにしましょう。 Developers Summitで登壇した 資料を公開済みなので見てみてく ださい

Slide 15

Slide 15 text

少しでも楽にするにはどうすればいいか 自動化をしていきましょう

Slide 16

Slide 16 text

少しでも楽にするにはどうすればいいか イベント の検知 影響範囲 の調査 原因調査 復旧対応 フォロー アップ 作業 作業 作業 作業 作業 作業

Slide 17

Slide 17 text

少しでも楽にするにはどうすればいいか イベント の検知 影響範囲 の調査 原因調査 復旧対応 フォロー アップ 自動 作業 作業 自動 自動 作業

Slide 18

Slide 18 text

まずはRunbookを作る まずはRunbook (手順書)を作っておく いきなり自動化に着手するのはおすすめしない • 場当たり的なスクリプトは超危険 • 安易な自動化で二次災害になったケース多数 • まずはWhat -> Where -> Howを意識した洗い出し • 何を改善するのか (What) • どこに課題があるのか (Where) • どう解決するのか(How)

Slide 19

Slide 19 text

まずはRunbookを作る 【ステップ 1】Runbookの内容を検討する 1. 最も多く発生するインシデントや業務は何か? 2. その業務における最善の解決策は何か ? 【ステップ2】Runbookを作成する • シンプルかつ明確な表現を使い、細かい点は省略する • 誰にでも理解しやすい言葉で表現する • 特定のプロセスに沿って具体的に説明する • システムやアプリケーションに変更が生じた際にも対 応できるように、フレキシブルな方法にする ルーティン業務を劇的に改善する 「Runbook(ランブック)」とは?

Slide 20

Slide 20 text

次に自動化に着手 ちゃんとRunbookを作って運用を回していくと、「あるべ き形」の自動化が見えてくる 例) 時間をかけて社内wikiの情報を探し回る その場しのぎのスクリプトやツールを使う すぐにエスカレーションする システム運用を自動化 ! ランブック自動化のDevOps/SRE環 境におけるメリットや活用法

Slide 21

Slide 21 text

次に自動化に着手 自動化をすることで • 待ち時間と応答時間の短縮 • 業務の中断やエスカレーション頻度の減少 • 運用品質の向上 などが見込める。 実現方法は色々 • シェルスクリプト • Python • Ansible • Rundeck

Slide 22

Slide 22 text

次に自動化に着手 問題が起きたときにシンプルな方法で実行できる形を考えていく ChatOpsとの組み合わせも良い選択肢 結果の通知

Slide 23

Slide 23 text

イベントドリブンの自動化へ • イベントを受け取った時点で自動的に 発動させる • 人間が対応を開始する時には 既に諸々の調査が済んでいる

Slide 24

Slide 24 text

イベントドリブンの自動化へ Event ● Diagnostic ○ 調査の自動化 ● Remediation ○ 修復の自動化

Slide 25

Slide 25 text

イベントドリブンの自動化へ Teams 通話 (ZoomもOK) Slack チャンネル (TeamsもOK) JIRAや ServiceNow と連携 必要な環境を自動生成 手作業は少なければ少ないほど良い!

Slide 26

Slide 26 text

どんなときでも 迅速で正確な運用を していきましょう

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content