システム運用の設計手順で守るべきことは?必要項目や要件定義の進め方について
システム運用の見直しは、業務のデジタル化が急速に進む企業において重要な取り組みです。正しいシステム運用環境を整備しておくことで、障害の発生やサイバー攻撃による被害発生のリスクを最小限に抑えることができます。
この記事では、システムを稼働させる際に必要な事前の運用設計について、具体的な手順の進め方や、どのような要件を含めるべきなのかなどを詳しく解説します。
システム運用の主な業務
システム運用では、主に以下の業務をエンジニアは担当することとなります。日々の業務への理解を深め、質の高い運用設計へと繋げることが重要です。
システムのモニタリング
システム運用の担当者が主に対応する業務が、システムのモニタリングです。日々のシステムの稼働状況を取得するログなどから把握し、パフォーマンスの維持に努めます。
企業が運用するシステムは、非常に多くのソフトウェアやハードウェアによって構成されているケースが一般的です。これらを単体で管理する分には支障も小さいものの、全ての製品が問題なく稼働している状態の維持には相応の負担を伴うこともあります。
システムの正常稼働が損なわれると、企業は重大な機会損失を強いられるかもしれません。このような事態を回避するために活躍するのがシステム運用エンジニアで、システムの以上を早期に検知し、障害を未然に防ぎます。
セキュリティの維持管理
システムの安定稼働において重要な役割を果たすのが、セキュリティの維持管理です。サイバー攻撃や社内におけるセキュリティインシデントの発生は、システムの安定稼働を損ねるだけでなく、直接損失を与えるリスクがあります。
システム運用の担当者は、このような事態を回避するべくシステムのセキュリティアップデート対応を行います。ソフトやOS、ハードウェアを常に最新の状態に更新することで、大半の脅威からシステムを守ることが可能です。
セキュリティアップデートは、製品によっては自動で行ってくれるものもあります。一方で手動での対応が必要なケースや、何らかの事情で手動対応が必要になる場合もあるものです。
システム運用担当者が維持管理を担当し、アップデートを確認・実行することで、社内外の脅威からシステムを守ります。
バックアップの確保
社内システムのバックアップを確保し、障害発生などに備えるのもシステム運用管理の仕事です。
どれだけシステムの障害対策を施していても、そのリスクをゼロにすることはできません。特にサイバー攻撃は次々と新しい攻撃が確認されていることから、もはやサイバー攻撃はいつでも起きるものであると考えておくべきでしょう。
バックアップは、そのようなもしもの事態に備えて確保しておかなければなりません。システムが何らかの事情で停止した場合も、バックアップを確保しておけば、迅速な復旧が期待できます。
バックアップは何かが起こってからでは確保ができないため、平時から備えておくことが重要です。
システム運用設計の概要
システム運用の仕事は、安定稼働のための定型業務が大半を占めています。ただ、具体的に何をするかを見ていくと、複雑なシステムの構成を全て把握したり、正しい手順で業務を遂行したりしなければならず、相応のスキルやノウハウの取得は欠かせません。
このようなシステム運用の仕事を支える要素の一つが、事前の運用設計です。システムの構成や日々の業務の進め方、緊急時の対応方法などをあらかじめ定めておくことで、円滑な業務遂行をサポートします。
システム運用業務そのものは、事前に用意されたフォーマットにしたがって行います。しかしフォーマットそのものの設計は、経験や必要に基づいてある程度クリエイティブに対応することも求められるものです。
システム運用と運用設計では異なるアプローチが必要なことを、知っておくと良いでしょう。
システム開発設計との違い
システム運用設計と似たようなものに、システム開発設計という設計業務があります。
システム運用設計は、システムの運用をどのように進めていくか、ということを設計する業務です。一方、システム開発設計は、システムそのものを開発するための業務を指します。
システム運用設計はどのようにシステムを使うか、構成するかなどの仕様を決め、システム開発設計はどんなシステムに仕上げるのか、を考えるのが大きな違いです。
システム運用設計とシステム開発設計は、それぞれで異なる事柄について考えなければなりませんが、両者は相互に関係するプロセスでもあります。システム運用のことを考えながら、システムを開発する必要がありますし、システム開発の過程においてもシステム運用への配慮が必要です。
そのため、システム運用設計と開発設計は同時並行で進めるのが理想的と言えます。
システム運用設計は誰がやるべきなのか
システム運用設計は、誰が担当するべき業務なのでしょうか。結論から言うと、システム運用設計はシステムを開発する部門・担当者の役割であることが一般的です。
システム運用設計は、実際にシステムの運用担当者が役割を担うと考えられることもあります。ただ、システム運用設計は開発設計との関連性が高いことからもわかるように、どちらかというとシステム開発の領域で発生する業務です。
システム運用とシステム開発の担当者が同じである場合、システム運用設計も運用担当者が対応するということで問題はないでしょう。
ただ、システムを作ってしまってから、運用設計を運用担当者が後付けで考えるというのは、合理性やシステム運用のパフォーマンスの観点から好ましくないアプローチとも言えます。
システムの抜本的な見直しを検討している場合、開発と運用が一体化した体制の構築にも目を向けてみることが大切です。
システム運用設計の目的・メリット
適切なシステム運用設計を構築することは、組織のどのようなメリットをもたらすのでしょうか。主なメリットを把握しておけば、効果的な設計業務の遂行に役立つでしょう。
システムの優れた安定稼働に貢献する
質の高いシステム運用設計は、システムの安定稼働において強力な効果を発揮します。
運用設計が正しく行われていないと、どれだけ担当者が正しい業務フローにのっとって対処しても、障害発生のリスクを十分に低減することが難しくなります。
一方でシステム運用設計が適切に行われていると、リスク低減のために必要な手続きを確実に抑えながら日々の業務を遂行できるため、パフォーマンスの安定化が期待できます。逆に言えば、不要なトラブルを回避するためにシステム運用設計が安定稼働の鍵を握っているとも考えられるでしょう。
レジリエンス獲得に役立つ
レジリエンス(回復力)とは、障害やサイバー攻撃が発生した際、すぐにインシデント発生前の状態に戻るための能力を指します。レジリエンスに優れたシステム運用体制を整備することで、インシデント発生に伴う機会損失を最小限に抑えることが可能です。
どれだけ頑強なシステムを構築しても、インシデントのリスクを完全なゼロに抑えることはできません。その代わり、システム運用設計によってレジリエンスを獲得することで、事業の継続性を確保することが可能です。
運用業務の効率化が進む
システム運用設計が丁寧に行われていれば、運用業務の効率化にも貢献します。無駄のないルーティンワークでシステムの安定稼働を目指せるので、担当者の負担を削減し、パフォーマンスの維持とヒューマンエラーのリスク回避に役立つでしょう。
運用業務が効率化されると、マニュアルをシンプルにまとめられたり、引き継ぎ負担を小さく抑えられたりするメリットも期待できます。
業務の属人化を回避し、担当者個人のスキルに依存することなく組織のシステムを守れるのが理想です。
システム運用設計の種類
システムの運用設計を進める場合、以下の3種類を設計しなければなりません。以下の表は、システム運用設計の種類とそれぞれで定めるべき要件をまとめたものです。
種類 | 主な要件 |
業務運用設計 | アプリの起動・停止の手続き。アプリの復旧方法。サポートデスク運用の方法。貸与デバイスの運用方法。 |
基盤運用設計 | OSやハードウェアなどのアップデート対応。バックアップ確保。アカウント管理。 |
運用管理設計 | データ収集の仕組み整備。運用レポートの作成。システム横断の際の統一基準策定。 |
業務運用設計
業務運用設計とは、システム運用担当者とユーザーがスムーズに業務を進めるための設計を指します。
ソフトウェアをどのように監視するのか、アプリの復旧はどうするのか、サポートデスク対応はどのようにするのかなどを、業務運用設計によって定義します。
業務を効率的かつ確実に遂行できるかどうかは、業務運用設計の品質に大きく左右されるとも言えるでしょう。
基盤運用設計
基盤運用設計は、業務上で使用するアプリを稼働させるための基盤、つまりハードウェアやミドルウェア、OSの運用方針を決めるためのものです。基盤運用設計を行うことで、その下部で動作するアプリの安定稼働を促し、エンドユーザーの業務を支えます。
主な業務として、アップデートが行われた際のパッチの適用や、バックアップデータの確保、システムやアカウントの監視が挙げられます。これらのプロセスを、基盤運用設計では整理します。
運用管理設計
運用管理設計は、システム運用担当者の運用ルールなどを設計するものです。業務運用や基盤運用を、設計した通りに遂行していく上では、運用管理のあり方にも目を向ける必要があります。運用担当者のパフォーマンスを一定に保つ上で必要な設計です。
主な手続きとして、稼働状況などに関するデータを収集するための仕組みの整備や、運用レポートの作成、システム横断の際の統一基準の設定などが挙げられます。
システム運用設計の進め方
システム運用は、多くの場合以下のプロセスにのっとって実行することが一般的です。どのような手続きが発生するのか、確認しておきましょう。
1.運用計画の策定
システム運用設計の際は、まずどのようなシステム運用を目指すのかというコンセプトの設計からスタートします。
運用の指針や運用対象についての詳細を固めるとともに、どのような課題を解決したいのかを言語化しましょう。運用計画を事前に策定しておけば、実際に設計を進めていく際の評価基準として機能し、本来の目的と外れた仕様になってしまう問題を回避できます。
2.要件の定義
システム運用を設計するに際して、どのような業務をシステム運用の範囲で取り組むのかを洗い出します。現場へのヒアリングなども踏まえて、定義しておくべき業務を具体化した上で運用設計の構成要素として落とし込みます。
要件定義から漏れてしまった事項については、運用設計に組み込まれなくなってしまいます。丁寧な要件定義によって、質の高いシステム運用体制を構築することが大切です。
3.運用設計
組み込みたい要件が固まったら、運用設計を進めます。運用設計書の形で仕様をまとめて、手順や環境、運用体制を設計にのっとって整備しましょう。
組み込みたい要件があらかじめ整理されていれば、実際の業務にのっとってそれらを並べていくだけで設計書を構築できるため、非常に効率的です。
4.運用テスト
作成した運用設計が正しく動作するかどうかは不透明な部分も残ります。本稼働の前に運用テストを実施して、そのパフォーマンスを評価しましょう。
期待しているような実用性が得られているかを確認し、必要に応じて修正を行います。
5.本稼働
運用テストによって、問題のないシステム運用の見通しが立った場合、実際の現場に導入して稼働を進めます。
運用テストで見られた問題が再発していないか、期待しているパフォーマンスが得られているか、確認しましょう。
6.効果測定・改善
本稼働がスタートした後も、定期的に効果測定を実施して設計した運用体制の評価を行います。
改善の余地があるかどうか、どのように改善すれば良いかなどを検討の上、設計の見直しも実際の稼働状況を踏まえて検討しましょう。
定期的にフィードバックと改善を繰り返すことで、より安定性の高いシステム運用の体制を整備することができます。
システム運用設計書に必要な項目
運用設計書に盛り込む情報は、主に
- システム運用の基本方針
- 運用項目とそれぞれのゴール
- システム運用業務の登場人物
- 運用時に必要なドキュメントの指定
- 基本的なシステムの知識
が含まれます。
システム運用設計書は、それを読むだけでシステム運用に必要な仕様や手続きを全て理解できることが理想です。システム運用の基本方針に加え、担当者が対応すべき運用項目とそのゴールを具体的に記述し、適切な業務の遂行を促します。
また、システム運用業務において、誰がどんな役割を担うのかも整理しておきましょう。登場人物や担当者が明らかになっていると、役割分担で混乱を招いたりするリスクを回避できます。
運用の際に必要なドキュメントは何か、どんな知識がシステム運用に求められるのかも設計書に目を通して理解できるような仕様を目指しましょう。
システム運用設計を成功に導くポイント
システム運用設計を成功に導く上では、
- 機密性の保持に努める
- 可用性を確保する
- 完全性を担保する
を押さえることが重要です。
機密性の保持に努める
機密性とは、簡単に言えばセキュリティのことです。システム運用は機密性の高い情報を扱うため、内容を社外はもちろん、社内でもみだりに関係者以外に共有するべきではありません。
アクセス権限の仕組みを整備するなどして、機密性を保持することが大切です。
可用性を確保する
可用性とは、いつでもシステム上の情報を使いたい時に使えるユーザビリティを確保することです。
システムが停止したり、正しいパフォーマンスが得られなかったりする事態が発生しないような運用体制を実現しましょう。
完全性を担保する
完全性は、扱う情報が正確であり最新のものであることを指します。システムのアップデートが迅速に行われたり、更新情報がすぐにデータベースに反映されたりする運用設計が理想のあり方です。
まとめ
この記事では、システム運用の設計に際して知っておくべきポイントを整理して解説しました。システム運用の設計は、システム開発設計と合わせて実施すべき業務であり、どちらかといえば開発担当者がカバーする領域の業務と言えます。
システム運用設計は、開発するシステムの仕様だけでなく、実際の稼働シナリオも踏まえた詳細なデザインが求められる業務です。
システム運用業務として必要な手続きは何か、どのようなポイントを踏まえた設計書を作成すれば良いのかを確認しながら、質の高い運用設計に仕上げましょう。