Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ameba-incident-management

田中秀樹
December 14, 2023

 ameba-incident-management

田中秀樹

December 14, 2023
Tweet

Other Decks in Technology

Transcript

  1. Agenda 02 04 History & Problem Amebaの歴史について Use case for

    datadog Datadog Incidentを用いた活用例 01 03 05 Introduction Incident Managementを行う上で 決定すべき重要な要素について説明 自己紹介 SRG紹介 Amebaについて Closing まとめ お知らせ What’s incident management
  2. 田中 秀樹 Engineer / PjM / SRG Engineering Manager 最近数年ぶりにKubectlを実行したSREの皮を被ったPjM中心の人間

    IncidentManagementやFinOpsを推進するための文化形成だったりが最近のマ イブーム Amebaへembedded SREとして参画 今年面白かった漫画ベスト 3は 「図書館の大魔術師」 「呪術廻戦」 「完璧すぎて可愛げがないと婚約破棄された聖女は隣国に売られる」
  3. What’s SRG 〜2015年 メディア事業全体のインフラ組織 オンプレミス環境を中心とした昔ながら のインフラエンジニア 2015年〜2022年 メディア事業横断のSRE組織へ クラウドを中心とした サービスインフラエンジニアへ

    社内向けSRE as a Serviceを提供 Service Reliability Group の略称であり、会社を横断する SRE組織 2022年 〜 「サイバーエージェントグループの信頼 性を “横断的に” 向上させる」というミッ ションを掲げた 横断SRE組織へ
  4. Team A Team B Team C Team D 再生期に入ると人員への投資は減少し、 システムも不要な物がクローズされていくフェーズへ

    Ameba Problem 機能A 機能B 機能C データD 再生期 における人とシステムの関連性
  5. Team A Team B Team C Team D システム間依存などの問題から、 コストパフォーマンスが悪いシステムが削除される訳ではなく、

    徐々にカバレッジの低下が散見される状態へ Ameba Problem 機能A 機能B 機能C データD 再生期 における人とシステムの関連性
  6. Team A Team B Team C Team D 「システム数 >>>

    開発者数」が促進していき、 影響度は大きくないが、担当する人もいない システムが増加していく Ameba Problem 機能A 機能B 機能C データD 再生期 における人とシステムの関連性
  7. 再生期にて発生した問題 Team A Team B Team C Team D でもなかなか評価されないインシデント解決マン・・・!

    ※定量評価・目標設定がしやすい新規開発などが評価しやすい Ameba Problem Best engineer 新規開発 機能A 機能B 機能C データD
  8. 再生期にて発生した問題 Team A Team B Team C Team D 担当外のシステムであるがために、

    インシデントの解決に想定以上の時間を要してしまう Ameba Problem 機能A 機能B 機能C データD
  9. 再生期にて発生した問題 Team A Team B Team C Team D 過去の対応履歴が適切に情報集約されておらず、

    毎回インシデント解決に要する時間が想定以上に必要となる Ameba Problem ?? 機能A 機能B 機能C データD
  10. 再生期にて発生した問題 Team A Team B Team C Team D それら複合的な要因により恒久対応も行われず、

    同じアラートが何度も再発している Ameba Problem 機能A 機能B 機能C データD
  11. Problem Summary Incident Managementせな やばいやろこれ・・! 1.  アラートが鳴っても放置されており、再発もしている 2.  特定の開発者にIncident解決対応が集約されている 3.

     Incident解決に貢献してもなかなか評価されない 4.  インシデント解決に想定以上の時間を要してしまう 5.  過去のインシデント対応の履歴が集約化されていない
  12. Incident Management/Three Keys インシデントの優先順位 重要度・影響度などによって決定される Severity Levelと呼ばれる4-5段階の指標に よって優先順位が決定される Triage インシデントが発生した際にどのようにして

    解決まで導くかを定義したもの Incident response flow Structure インシデントを解決するための体制 主にインシデント解決に責任を持つIncident Commander(IC)がキーパーソン となる インシデントマネジメント成功させる重要な3要素 成功 = インシデントを迅速に復旧させる
  13. インシデントの優先順位 重要度・影響度などによって決定される Severity Levelと呼ばれる4-5段階の指標に よって優先順位が決定される Triage インシデントが発生した際にどのようにして 解決まで導くかを定義したもの Incident response

    flow Structure Incident Management/Three Keys インシデントを解決するための体制 主にインシデント解決に責任を持つIncident Commander(IC)がキーパーソン となる インシデントマネジメント成功させる重要な3要素
  14. Triage メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで対応・方針策定が必要なレベル SEV1 SEV2 SEV3 SEV4 Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの対応方針の決定が必要 対ユーザへのアナウンス・コミュニケーションが必要なインシデント

    現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、インシデントコマンダーは介入しない ※Amebaでの導入事例 ベースでお話しします
  15. Triage メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで対応・方針策定が必要なレベル SEV1 SEV2 SEV3 SEV4 Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの対応方針の決定が必要 対ユーザへのアナウンス・コミュニケーションが必要なインシデント

    現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、インシデントコマンダーは介入しない Severity(SEV) (優先度の数値化) 高 低
  16. Triage メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで対応・方針策定が必要なレベル SEV1 SEV2 SEV3 SEV4 Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの対応方針の決定が必要 対ユーザへのアナウンス・コミュニケーションが必要なインシデント

    現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、インシデントコマンダーは介入しない SEV Level毎のざっくりとした影響度
  17. Triage メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで対応・方針策定が必要なレベル SEV1 SEV2 SEV3 SEV4 Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの対応方針の決定が必要 対ユーザへのアナウンス・コミュニケーションが必要なインシデント

    現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、インシデントコマンダーは介入しない マジでやばい 役員報告レベル
  18. Triage メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで対応・方針策定が必要なレベル SEV1 SEV2 SEV3 SEV4 Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの対応方針の決定が必要 対ユーザへのアナウンス・コミュニケーションが必要なインシデント

    現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、インシデントコマンダーは介入しない かなりやばい 事業責任者レベル マジでやばい 役員報告レベル
  19. Triage メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで対応・方針策定が必要なレベル SEV1 SEV2 SEV3 SEV4 Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの対応方針の決定が必要 対ユーザへのアナウンス・コミュニケーションが必要なインシデント

    現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、インシデントコマンダーは介入しない かなりやばい 事業責任者レベル マジでやばい 役員報告レベル ユーザ影響でてるので ユーザアナウンス必要
  20. Triage メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで対応・方針策定が必要なレベル SEV1 SEV2 SEV3 SEV4 Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの対応方針の決定が必要 対ユーザへのアナウンス・コミュニケーションが必要なインシデント

    現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、インシデントコマンダーは介入しない かなりやばい 事業責任者レベル マジでやばい 役員報告レベル ユーザ影響でてるので ユーザアナウンス必要 軽微な障害 現場だけで復旧可能
  21. Triage メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで対応・方針策定が必要なレベル SEV1 SEV2 SEV3 SEV4 Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの対応方針の決定が必要 対ユーザへのアナウンス・コミュニケーションが必要なインシデント

    現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、インシデントコマンダーは介入しない かなりやばい 事業責任者レベル マジでやばい 役員報告レベル ユーザ影響でてるので ユーザアナウンス必要 軽微な障害 現場だけで復旧可能 SEV判断を行うために明確なある程度明確な定義が必要
  22. Triage メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで対応・方針策定が必要なレベル SEV1 SEV2 SEV3 SEV4 Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの対応方針の決定が必要 対ユーザへのアナウンス・コミュニケーションが必要なインシデント

    現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、インシデントコマンダーは介入しない かなりやばい 事業責任者レベル マジでやばい 役員報告レベル ユーザ影響でてるので ユーザアナウンス必要 軽微な障害 現場だけで復旧可能 SEV Levelによって対応フローも登場人物も大きく異なる
  23. インシデントの優先順位 重要度・影響度などによって決定される Severity Levelと呼ばれる4-5段階の指標に よって優先順位が決定される Triage インシデントが発生した際にどのようにして 解決まで導くかを定義したもの Incident response

    flow Structure Incident Management/Three Keys インシデントを解決するための体制 主にインシデント解決に責任を持つIncident Commander(IC)がキーパーソン となる インシデントマネジメント成功させる重要な3要素
  24. インシデントの優先順位 重要度・影響度などによって決定される Severity Levelと呼ばれる4-5段階の指標に よって優先順位が決定される Triage インシデントが発生した際にどのようにして 解決まで導くかを定義したもの Incident response

    flow Structure Incident Management/Three Keys インシデントを解決するための体制 主にインシデント解決に責任を持つIncident Commander(IC)がキーパーソン となる インシデントマネジメント成功させる重要な3要素
  25. Incident response flow Case SEV4 engineer engineer System B System

    A Alert Alert 復旧対応が必要な全てのインシデント(アラート) 現場エンジニアのみで復旧可能であり、 インシデントコマンダーは介入しない 現場エンジニアのみで復旧対応まで完遂 resolve resolve
  26. Incident response flow engineer engineer System B System A Alert

    Alert ICが必須であり、復旧に関する 意思決定・関連各所へのコミュニケーションを実施 resolve resolve IC announce End user escalation escalation 対ユーザへのアナウンス・コミュニケーションが必要なインシデント 現場エンジニアだけでは完結せず、関連サービスや対外的な コミュニケーションが必要なインシデント PMやエンジニアリーダーレベルでの対応方針のハンドリングや意思決定が必要 Case SEV3
  27. Incident response flow engineer engineer System B System A Alert

    Alert resolve resolve IC announce End user escalation escalation Lead escalation Ameba事業の継続可能性に関わるインシデント 事業運営にクリティカルな影響があり事業責任者レベルでの 対応方針の決定が必要 ICが必須であり、 事業責任者のエスカレーション・意思決定の調整を含めた対応が必要 Case SEV2
  28. Incident response flow engineer engineer System B System A Alert

    Alert resolve resolve IC announce End user escalation escalation Lead escalation CTO escalation ICが必須であり、事業責任者や CTOを含めたエスカレーションが必要となり、 全社横断での意思決定の調整を含めた対応が必要 メディア事業の継続可能性に関わるインシデント Ameba単体でなく、事業部ひいては全社レベルで 対応・方針策定が必要なレベル Case SEV1
  29. Incident Management/Three Keys インシデントの優先順位 重要度・影響度などによって決定される Severity Levelと呼ばれる4-5段階の指標に よって優先順位が決定される Triage インシデントが発生した際にどのようにして

    解決まで導くかを定義したもの Incident response flow Structure インシデントを解決するための体制 主にインシデント解決に責任を持つIncident Commander(IC)がキーパーソン となる インシデントマネジメント成功させる重要な3要素 これら3点を定義することが最初のステップ
  30. Use case for datadog 各種問題を解決するため、 AmebaではDatadog Incidentを採用する方針にしました 1. Datadog自体が監視ツールであるため、インシデントとの親和性が高い 2.

    Slackなどのコミュニケーションツールとの連携性が高い 3. Postmortem作成・連携といったインシデント関連の機能が充実している 4. インシデント対応に関する各種数値が取得可能
  31. Use case for datadog とりあえず使用感を見てみよう! 各種問題を解決するため、 AmebaではDatadog Incidentを採用する方針にしました 1. Datadog自体が監視ツールであるため、インシデントとの親和性が高い

    2. Slackなどのコミュニケーションツールとの連携性が高い 3. Postmortem作成・連携といったインシデント関連の機能が充実している 4. インシデント対応に関する各種数値が取得可能
  32. インシデントタイトル Use case for datadog これはテストインシデントです 障害 太郎 やりとりしているslackチャンネル SEV

    Level インシデントステータス Datadog Incidentにて利用できる カスタムパラメータ A team monitor aws-hoge hoge-api
  33. Use case for datadog Sev Level / Status Slack link

    何が起こったのか? ユーザ影響はあるのか? なぜ起こったのか? を記載します。
  34. Problem  アラートが鳴っても放置されており、再発もしている engineer System B System A Crit Alert Crit

    Alert Incident A Incident B engineer 意外と解決案は簡単で、全ての Critical Alertに対して Incidentチケットを作成して私が担当を割り当てる形にしました ※Re-triggered-Alertは追記 ※前提としてシステムとTeamを紐付ける必要があり
  35. Problem 特定の開発者にIncident解決対応が集約されている 障害 太郎 障害 二郎 障害 三郎 障害 四郎

    障害 堀太郎 hoge男 moge子 現場猫 範馬刃牙 愚地独歩 Datadog Incidentでは Incident CommanderやResponder(反応してくれた人) を集計できるメトリクスが用意されています Amebaでは当該メトリクスを参考に特定の メンバーに対応が集約しないよう運用しています ※自動化検討中
  36. Problem 特定の開発者にIncident解決対応が集約されている 障害 太郎 障害 二郎 障害 三郎 障害 四郎

    障害 堀太郎 hoge男 moge子 現場猫 範馬刃牙 愚地独歩 "queries": [ { "data_source": "incident_analytics", "name": "query1", "search": { "query": "" }, "indexes": [ "*" ], "compute": { "aggregation": "count" }, "group_by": [ { "facet": "commander.name", "limit": 10, "sort": { "aggregation": "count", "order": "desc" } } ] } ]