Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

現場の声から生まれた障害対応ツール「Barry」

796 views

Published on

[2019/09/30開催「IIJ Technical NIGHT vol.8」の講演資料です]

障害対応の品質向上を目指し、スマートフォンを活用して障害対応を迅速化するシステム「Barry」を開発しました。開発にあたって立てた方針は “楽しく” やる。これには楽しみながら開発を行う意思と、使っていて楽しいものにしたいという思いが込められています。
本セッションでは、障害への迅速な対応と運用に携わるエンジニアの心身にかかる負担の軽減に必要なことは何か?それを実現するBarryのアーキテクチャを紹介すると共に、Barryを使った障害対応のデモンストレーションを行います。

▼講演者
プロダクト本部 SDN開発部 ネットワーク基盤開発課 田中 義久

Published in: Internet
  • Be the first to comment

  • Be the first to like this

現場の声から生まれた障害対応ツール「Barry」

  1. 1. 田中 義久 プロダクト本部 SDN開発部 現場の声から生まれた障害対応ツール
  2. 2. 目次 1. Barryの位置付け 2. 開発ポリシー 3. 品質向上のために 4. アーキテクチャ概要 5. 実機デモ
  3. 3. 1. Barryの位置付け
  4. 4. 従来の電話&手動呼び出しを置き換えるモノ エンジニア オペレータ ここにBarry! 監視システム 監視システム 呼び出し アラート メール アラート 作成 呼び出し • 手順書通りに電話をかける • 手が足りず輻輳することも • 自動処理でスマホを呼び出し • 統計情報も取得しやすい Before After エンジニア
  5. 5. 2. 開発ポリシー
  6. 6. 「楽しくやる」 開発ポリシー 開発者 も楽しく 利用者 も楽しく
  7. 7. 3. 品質向上のために
  8. 8. 初動の迅速化 • 呼び出しの完全自動化 • 速報通知 (アラート・呼び出し開始) • 柔軟な呼び出し方法 (順番に/同時に) • テキストベースの呼び出し • テキストなのでホスト名・ログを把握しやすい • 呼び出しを受けた人以外も対応を眺められる • チャット的に助言やサポートもできる
  9. 9. テキストベースの呼び出し・回答 呼び出し内容を 確認して対応可否を回答 呼び出しにより デバイスが鳴動 アラートを確認 (回答前でも可能)
  10. 10. 柔軟な呼び出し方法 順番に呼び出し Aさん Bさん Cさん Dさん 同時に呼び出し 部署ごとの体制に合わせて設定できる
  11. 11. Lv1: メインの対応チーム2人確保するまで 呼び出す 人数が足らなければ 次のレベルへ 通知だけ 受け取る人 このレベルは 呼び出しを 3周くり返す Lv2: 予備チーム上長 複雑な呼び出しも可能 レベル・条件を設定して呼び出し 呼び出し 通知
  12. 12. 対応支援 • 対応状況の共有 • いつでも・どこでも・リアルタイムに • インシデント管理 • 応援呼び出し
  13. 13. 物理連携 • パトライト • スマートスピーカー • スマート電球 • スマートウォッチ
  14. 14. API公開 • 連携システムの開発を加速 • データをシステムに閉じないように • ex) 社内Kubernetes基盤との連携
  15. 15. エンジニア 呼び出し 実行 呼び出し リクエスト 呼び出し リクエスト アラート アラート オート メーション UOM 総合運用管理 サービス サーバ監視 ネットワーク 監視 Kubernetes インバウンド 対応 CI/CD 完了通知 社内基盤とのAPI連携
  16. 16. 4. アーキテクチャ
  17. 17. グループ設定 アラートチャネル アラートの受け取り口 グループに複数設定できる 自動処理 ルール 呼び出し ルール 処理 エンジン 新規 インシデント 同件 マージ グループ メンバー 呼び 出し アラート 開始・終了 を通知 インシデント 作成・マージを通知 アラートの 発生を通知 データフロー アラート・自動処理・呼び出し/通知の処理
  18. 18. Barry API サーバサイド metrics device-manager phone-caller incident-maker email-sender barry-engine notifier API データ管理・呼び出し処理の実行など 呼び出し モバイル アプリ ウェブアプリ Amazon SNS, Twilio データ取得 データ取得 操作 操作 社内 Kubernetes 基盤 Barryのコンポーネント
  19. 19. Android / iOS • 呼び出しを受けてスマホを鳴動 • インシデントを操作可能 • 対応ログを見れる / 残せる ちょっとした対応なら スマホで完結。 対応端末 モバイルアプリ Flutter, Kotlin/Swift, Dart, gRPC 主な利用技術
  20. 20. • PC からスマホを呼び出し • 機器のログをコピペしたり • 統計情報を見たり ウェブアプリ React, gRPC-Web, TypeScript 主な利用技術 広いスクリーンで 効率的に操作。
  21. 21. Barry API呼び出し ロジック実装 設定にしたがって 順番に呼び出し モバイルのOS通知 呼び出し・OS通知 通知用の 情報を取得 gRPC gRPC- Web gRPC HTTPS gRPC Gateway gRPC-Web モバイルアプリ ウェブアプリ Flutter Swift/Kotlin React 呼び出し・APIまわりのアーキテクチャ Amazon SNS, Twilio barry-engine notifier device-manager
  22. 22. 5. デモ
  23. 23. デモの流れ • 障害発生 → アラート発砲 • インシデント起票 • エスカレーション発生 → 対応者決定 • 対応(チャット) → クローズ ※インシデント: 複数のアラートをまとめて 対応の単位として管理できるようにしたもの
  24. 24. デモ環境 エンジニア を想定したデモ端末 呼び 出し通知 500: Internal Server Error 社内 Kubernetes 基盤 Redis Web !
  25. 25. まとめ
  26. 26. まとめ • スマホを活用して障害対応を改善する Barry を開発しました • 社内ツールだって UX は大切です 次は「どうやって開発されてきたか」 のお話だよ

×