運用設計とは?
システムを導入する各現場に応じた、システム運用の枠組みを作りこむこと
運用設計はなぜ必要か?
-
システム運用が高負荷にならないようにする
- トラブルが少ない
- 日々行なうことが少ない
-
運用が属人的にならないようにする
- 効果を測定できるようにする
- 誰が何をやったかを分かるようにする
-
費用対効果を高める
- 少ないコストで効果的に運用する
運用設計を行うタイミング
- フェーズのはじめ
- 基本設計と同じくらい
運用に必要な機能があれば予め設計に組み込める
具体的な設計項目
- 業務内容
- 管理項目
- 運用体制
- 運用スケジュール
- 監視設計
- データ管理
- バックアップ設計
- 障害対応
業務内容
どういう業務を行なうのかを定義する
定義を行なうことで、作業の見える化
それぞれの業務における運用を考えることができる
管理項目(何を管理対象とするか)
業務とは、システムを使用して、データを扱うこと
システムとデータのうち、どれについて運用の対象とするかを決定する
- システム本体
- インフラ(サーバ、DBなど)
- ファイルサーバ
- バックアップデータ
- ログファイル
運用体制
- 統括責任者
- 運用責任者
- システム監視者
- ユーザーサポート責任者
- 開発責任者
- 開発担当
- 保守担当
運用スケジュール
運用項目とスケジュールを定義
-
システムログ確認 (日次)
-
サーバログ確認
-
バッチ処理確認 (日次、月次)
-
データ改廃
-
システム稼働状況確認
-
システムアップデート
-
ミドルウェアアップデート
-
マスタ更新
-
その他業務で必要なこと
データ管理
-
システムで扱うデータを列挙
- DB
- ファイル
-
データの生存期間
- トランザクションデータをどれだけ保持するか?
- 改廃はどのタイミングで行なうか?
バックアップ設計
- データのバックアップ
- システムのバックアップ
方法とスケジュールを定義
監視設計
-
何を監視するか
- ログ
- システムリソース
-
どうなったら通知するか
- ログに含まれる文言(ERROR, Exceptionなど)
- リソースのしきい値
-
誰に通知するか
- 監視担当者
障害対応
- フロー
- システムからの報告(管理担当)
- ユーザーからの報告(ユーザーサポート担当)
- エスカレーションルール
最後に
開発会社にとってはシステム完成=ゴールだが、顧客にとってはシステム完成がスタートである。
顧客の目的を果たすためのシステムをどのように運用し、安定して継続的に問題を最小限にして価値を生み出すかは、納品直前などではなく開発初期段階から考慮する必要がある。
また開発における設計とは違い、業務や組織の特性を考慮する必要があるという点で、組織運営やマネジメントの知識、ノウハウも必要である。