完成度の高いシステム開発を行うことは当たり前ですが、完成後のシステムを安定的に運用することも同じく重要です。システムを安定して運用するには、「運用設計」と呼ばれるプロセスが欠かせません。
当記事では、運用設計の概要から、作成するメリット、必要な項目、作成の流れ、作成のポイントまでを幅広く解説しています。
システム開発の依頼を受ける企業は、システムを無事に安定稼働させてこそ、クライアントから大きな満足を得ることができます。これから運用設計に注力したい方や、運用設計の全体像について知りたい方は、ぜひ参考にしてみて下さい。
運用設計とは?
運用設計とは、納品後のシステムを安定して運用するために、運用ルール・運用方法・障害対応の方法などの情報をまとめてフレームワーク化することです。
完成度の高いシステムを作成しても、実際に稼働させてみると障害やトラブルは発生しますし、定期的な修正・変更といったメンテナンスも必要となります。
システム運用時に運用設計があれば、システムの運用者に対して開発者の知識や意図を共有することが可能となり、システムをスムーズに運用することが可能です。
システム運用のリスクを低減して安定した運用を維持するためにも、運用設計を行なうことは非常に重要であるといえるでしょう。
開発設計との違い
開発設計と運用設計は共に「設計」というワードが使用されており、システム開発の上流工程である設計フェーズをイメージする方が少なくないのではないでしょうか。
しかし、開発設計と運用設計では設計する内容と性質が大きく異なります。以下に、例を交えつつご紹介します。
■ クラウドストレージサービスを開発・運用する場合
・開発設計 システムのスペック・機能や提供するサービス自体についての詳細を設計します。 ・サーバーのスペック ・データベースのスペック ・サイトデザイン ・ユーザーインターフェース ・アクセス方法、提供方法 ・管理機能 …など |
・運用設計 システムを、Who(誰が)・When(いつ)・Where(どこで)・How(どのように)使用するか、またどうすれば安定してサービスを提供できるかを設計します。 ・Who:法人、個人のビジネスパーソン ・When:ファイルを共有、保存したい場合 ・Where:オフィス、家庭、外出先 ・How:パソコン、スマホ、タブレットからクラウドにアクセス ・ライセンス、アカウント管理はどうする ・トラブル発生時の対処はどのように行うか ・定期メンテナンスはどのように行うか ・バックアップはどのように行うか …など |
開発設計時には運用時のことを考える必要がありますし、逆もまた然りです。
そのため、高品質なシステムを構築して安定運用するためには、開発設計時に運用設計を併せて行うことが重要なポイントとなります。
運用設計を行うメリット
運用設計の必要性・重要性が高まっている理由は、実際にシステム運用を行う際に多くのメリットがあるためです。運用設計を行うことで得られる主なメリットについて以下にご紹介します。
・スムーズにシステム運用を開始できる ・システム運用を効率化、合理化できる ・障害、トラブルを未然に回避できる ・障害、トラブル発生時に速やかに対処できる ・システム運用のノウハウやフローを共有できる |
システムを開発したメンバーが実際の運用を想定した運用設計を行うことで、不要なリスクを低減してシステムの安定運用をスムーズに実現することが可能です。運用設計を行わない場合と比べると、その差は歴然といえます。
システム安定運用までに費やすコスト・リソースについても大幅に削減することができるため、ビジネス戦略面・経営面においても大きなメリットがあります。
運用設計に必要な項目
実際のシステム運用に役立つ有用性の高い運用設計を作成するためには、必要な項目を網羅していることが重要となります。ここでは、運用設計に欠かせない必須項目についてご紹介します。
これから運用設計に取り組む方や運用設計の見直しを行う方は、どのような項目を記載すればいいか把握しておきましょう。
基本方針
基本方針とは、運用設計の目標・概要・必要事項の選定・作業計画といった全体の方針をまとめた項目です。システム開発の基本設計・詳細設計フェーズならびにその成果物である設計書を参考にして作成を行います。
運用設計を行う指針となるべき項目であるため、最初に作成されることが一般的です。
対象システムの内容
運用設計では、対象システムを用いて、どのような業務を行うのかを明確に定義します。定義する内容には以下が挙げられます。
・システムの用途 ・システムの活用方法 ・提供するサービス ・システムの利用者 ・アクセス集中・業務負荷増が想定される日時 |
このような内容を漏れなく定義することで、業務全体を可視化することができるため、業務に合わせた最適なシステム運用方法を導き出すことができます。
対象システムの内容は基本方針と併せて運用設計のベースとなるため、詳細に定義することがポイントです。
運用管理の対象
運用管理対象とは、システムを安定稼働させるために管理・監視が必要となるシステムの構成要素です。
例えば、情報系Webシステムの場合であれば、以下のような要件が運用管理対象となります。
・インターネット環境 ・Webサーバー ・DBサーバー ・アプリケーションサーバー ・ハードウェア ・ミドルウェア ・OS ・アプリケーション ・ファイアウォール ・セキュリティソフト |
システム運用は利用用途・利用目的により構成要素が異なるため、運用設計において運用管理対象を詳細まで洗い出して、明確化しておく必要があります。
障害対応の手順
システム運用では、大なり小なり何かしらの障害が発生する場合があります。むしろ、障害の発生を完全に阻止することは不可能といっていいでしょう。
そのため、運用設計においては、障害発生時にスムーズに復旧できるように、障害の監視方法や障害対応の手順を定義しておきます。
運用設計で定義する内容には、例えば以下が挙げられます。
・監視内容、監視方法、判断基準、通知方法といった監視の要件 ・監視に使用しているツール、サービス、アクセス方法等 ・障害のレベルに応じた障害発生時の連絡先、連絡方法、管理方法、注意事項 ・障害発生時の復旧手順、対応終了条件 ・監視、障害対応に要する時間 |
このように、想定される障害を洗い出し、監視方法から復旧手順までを突き詰めておくことで、システム運用時の万が一のリスクにも速やかに対処することが可能です。
監視方法・障害対応手順は、システムの安定運用を維持するための非常に重要度の高い項目であるため、慎重に精査しておく必要があります。
定期作業
定期作業とは、システムの通常運用の一種で、事前に決められた時間・期日に実施される作業のことです。例えば、以下のような日次・週次・月次・年次で行う作業が定期作業に該当します。
・定時ジョブ実行→定期レポート作成 ・定期リリース ・ログ管理 ・マスタ更新 ・バックアップ、メンテナンス |
運用設計の定期作業の項目では、システム運用をスムーズに行うために、定期作業の実施スケジュールや作業手順について事前に定義しておきます。
また、定時作業に対してシステムやサービスの変更に伴い随時発生する作業のことを随意作業といいます。システム運用の計画ベースで随意作業が発生する可能性がある場合は、定時作業とあわせて定義しておきます。
セキュリティ
システム運用では、顧客の個人情報や機密情報など多くの重要データを扱うため、ウイルスや不正アクセスからシステムを守るためのセキュリティ対策は非常に重要です。運用設計のセキュリティ項目においては、以下のような内容を定義します。
・システム本体、サーバー、ネットワーク機器の脆弱性、セキュリティリスクの洗い出しや情報収集方法 ・セキュリティパッチの適用頻度、適用方法、適用基準等 ・使用しているファイアウォールやセキュリティ対策ソフトの設定、運用方法、運用方針等 ・システムの不正アクセス防止のための利用制限、不正監視、不正検知、不正追跡の方法 ・システム運用者に対する情報セキュリティ教育 |
このように、運用設計のセキュリティ項目では、システム全般のセキュリティを細部まで定義することで、システム運用時の安全性確保を目指します。
その他
システム運用では、顧客の個人情報や機密情報など重要なデータを扱うため、運用を行うデータセンターは厳格に管理することが重要です。
そのため、上記の運用設計項目に付随して、データセンターの入退室管理や禁止物の持ち込み・持ち出しの管理といった、システムを安全に運用するためのルール・手続きなどの決定を行います。
他にも運用するシステムや取り扱う情報に合わせて、必要なルール・手続きがあれば運用設計に加えます。
運用設計の流れ
システム開発の設計と同じく、運用設計にも一定のプロセスが存在します。品質の高い運用設計をスムーズに行うためには、このプロセスに従って作成することが重要です。
以下に、一般的な運用設計の流れをご紹介します。
1.提案・計画作成
運用設計の提案・実施計画を作成してクライアントの合意を得ます。
2.要件定義
クライアントへのヒアリングを基に要件定義を行って、安定したシステム運用に必要な要件をまとめます。
3.運用設計
要件定義を基に運用設計を行って、各種ドキュメントを作成します。運用設計を行う際には、「システム運用の目的>必要なシステム環境・運用要件・管理項目>システム運用のための体制」といった順に、上位の概念から優先的に決めて行くことがポイントです。その後に各運用設計項目の詳細を決めて行きます。
4.運用テスト
作成した運用設計の内容を実際にテストして、実用性の確認ならびにフィードバックの取得を行います。修正点が見つかれば、運用設計の見直しを行います。
5.サービス提供
テストを通過した運用設計を、実際のシステム運用に活用します。本番のシステム運用についての確認も行い、問題点があれば見直しを行います。
運用設計は、システム開発時の設計と同じく「要件定義>設計>テスト>リリース」といったプロセスを踏襲して、完成度を高めていくことが特徴です。
運用設計のポイント
運用設計は、実際のシステム運用を行う際の安定性やリスクヘッジに大きく影響するため、開発時の各種設計書と同じく完成度の高いドキュメントを作成することが求められます。
ここでは、運用設計のクオリティを高めるには、どのようなポイントに留意すれば良いかをご紹介します。システム運用時に役立つ運用設計を行うためにも、ぜひ参考にしてみて下さい。
可用性を重視する
可用性とは、情報を使いたい時に使える状態にしておくことで、システム運用を行うにあたって非常に重要な要件です。
運用設計においては、システムが提供しているサービスが停止したりトラブルが発生したりすることが無いような運用方法を追求して、システムの可用性を高めることが重要なポイントとなります。
例えば、24時間稼働するWebサービスにおいては、万が一の障害・トラブルが発生した際にもシステムを維持できるように、以下のような点を重視します。
・システム障害時にスムーズにリカバリできる方法が確立されているか ・バックアップからの復元が正常に行えるかどうかを検証しているか ・障害発生時の切替や対応について検証しているか ・必要な機器を冗長化して機能維持できる状態にあるか ・予備電源の確保ができているか |
システムが停止したり使用できなくなったりすると、サービスを提供する企業の信用失墜や売上損失といった大きなリスクにつながる恐れがあります。そのため、運用設計を行うにあたって可用性の担保は必須事項と言っても過言ではないでしょう。
機密性を重視する
機密性とは、システム運用で取り扱う情報が外部に漏れないようにすることを言います。情報漏洩は企業の信用失墜や損害賠償といった重大なリスクに繋がるため、運用設計において機密性を確保することは非常に重要です。
機密性を確保するためには、以下のような点に留意する必要があります。
・アカウント、アクセス権を管理してシステムにアクセスできるメンバーを制限する ・適切なセキュリティ製品を導入して適切な設定、運用を行う ・脆弱性に対応するセキュリティパッチを適用する ・セキュリティログ収集による不正監視、管理を行う ・データを安全に保管する仕組みを構築する |
機密性を確保するためには、システムに対する外部からの不正・攻撃だけでなく、内部の人間による不正やヒューマンエラーにも対処することが必要です。
運用設計においては、機密性確保の項目の設定だけでなく、細かな運用仕様・手順まで作成を行います。
完全性を重視する
完全性とは、システムが有する情報が正確・完全・安全・最新である状態で管理されていることを言います。完全性はシステムが提供するサービスのクオリティや信頼性に関わる要件であるため、運用設計において完全性を重視しておくことは非常に重要です。
システム運用の完全性を保つためには、以下のような点に留意する必要があります。
・システム構成、機能が更新された際の手順、承認フロー、検証は確立されているか ・システム構成、機能が更新された際のマニュアル類の管理は適切に行われているか ・アカウント管理やアクセス管理は適切に行われているか |
システムは運用過程で更新される機会もあるため、常に最新の情報に更新して完全性を保てるように、運用設計でしっかり定義しておくことがポイントです。
まとめ
システムは開発を行って納品すれば終わりではなく、実際にクライアントが運用してこそ有用性・効果性を発揮するものです。不要なリスクやトラブルを回避して、システムを安定稼働させるためにも、完成度の高い運用設計を行なうことは非常に重要です。
システムを開発する段階から運用時を想定しておき、予め具体的で詳細な運用設計を行っておくことをおすすめします。
- カテゴリ: