システムを安定して運用していくには、「運用設計」と呼ばれるプロセスが欠かせません。
運用設計の概要や、必要な項目、作成のポイントなどを説明していきます。
システム開発の依頼を受ける企業は、システムを安定的にサービス提供させてこそ、クライアントの満足度が上がります。
クラウドの運用設計について話していきますが、実はオンプレミスでもクラウドでも取り決める要件や設計自体には大きな差はないですが、クラウドの利点を活用するために、共同責任モデルと、クラウドネイティブを意識した設計は必要になってきます。
クラウドの運用設計について
1. 運用設計とは
運用設計とは
システム稼働後に安定してシステムを活用するために行う「運用」と「保守」のことを指します。
運用ルールや方法、日常で行うべき業務や障害発生時の対応などを決めておく必要があります。
システム運用のリスクを低減し、安定した運用を行うには運用設計は非常に重要なのです。
https://www.sbbit.jp/article/cont1/68081
「運用」の具体的な仕事
・データの入出力
・システムの稼働状態、正常に稼働しているか監視する
・外部からの攻撃や情報流出などの監視
・ログの管理・分析
・システム障害復旧からの再起動
「保守」の具体的な仕事
・障害対応
・不具合・脆弱性対策
・システムの改善・拡張
2. 運用設計と開発設計の違い
2-1. 開発設計とは
システムの機能や仕組み、提供可能なサービスなど機能要件を実現するためのシステム設計をすることです。
開発設計の例
・サーバーのスペック
・データベースのスペック
・ユーザーインタフェース
・管理機能など
2-2. 運用設計とは
システムの利用者、利用時期、利用場所、利用目的を考慮し、非機能要件にフォーカスして安定的にサービスを提供する設計のことです。
運用設計の例
・可用性(レスポンスは3秒以内にしてほしいなど)
・拡張性
・保守・運用性
・セキュリティ
開発設計、運用設計は同じ設計でも工程や携わる人が異なっていたり、フォーカスを向ける先が違っていたりと、根本的な違いが存在するのです。
3. 運用設計を行うメリット
運用設計の必要性・重要性が高まっている理由は、運用設計を行うことで得られるメリットが大きいためです。運用設計の必要性・重要性が高まっている理由は、運用設計を行うことで得られるメリットが大きいためです。
得られる主なメリットについて
①スムーズにシステム運用を開始できる
②システム運用を効率化できる
③障害、トラブルを未然に回避できる
④障害、トラブル発生時に速やかに対処できる
⑤システム運用のノウハウやフローを共有できる
運用設計を行うことで、スムーズで安全な運用ができるようになります。
4. 運用設計のタイミング
※運用保守までの流れのイメージ図
運用設計を意識した開発プロセスを定義する必要があるでしょう。
https://sys-univ.com/dev/opedesign/
5. 運用設計に必要な項目
運用設計書は運用設計内容を発注者側と合意するために作成する資料です。
どんな内容を記載すればいいのか下記に例を載せておきます。
・運用に求められていること
・知っておくべきシステムの知識
・登場人物とその役割
・運用項目ごとの目的とゴール
・各運用項目で利用するドキュメント
・採用されなかった運用方針とその理由
運用設計の設計項目はプロジェクトによっても違ってきますが、一般的な運用設計の設計項目を挙げておきます。
・運用スケジュール・運用体制・通常時運用
・障害時運用・災害対策・ジョブ管理設計
・監視設計・バックアップ設計・ログ管理設計
・統計情報収集設計・保守設計
また、システム運用設計書で、どのような項目を検討していけばいいのか、サンプルとしてひな形を記載します。
1.基本方針
2.業務内容
・システムが実現する業務の概要
・システム利用者
3.システムの管理項目
・システム運用の中で管理する項目
4.システム運用体制
・運用者及び管理者
5.運用スケジュール
・日次・月次等の作業スケジュール
・定期作業項目/不定期作業項目
6.監視設計
・監視方式/監視項目
・ログ設計/取得するログ一覧
7.バックアップ設計
・方式/対象データ/容量見積/世代管理
・バックアップスケジュール
8.障害対応
9.災害対応
10.JOB管理設計
・JOB一覧
・異常時の対応
6. 3つの運用設計
運用設計には大きく分けて、「業務運用」「基盤運用」「運用管理」の3つがあります。
それぞれの概要について説明していきます。
「業務運用」
ユーザーが適切にシステムを活用するための支援を行います。
メンテナンス、インシデント管理、ヘルプデスクなどが該当します。
「基盤運用」
システムが安定的に稼働できるようにします。
システム基盤となるOS、ミドルウェア、ハードウェアを対象とした監視や障害時対応などが該当します。
「運用管理」
関連システムとの連携を含めて、システム運用のルールや基準に関する検討を行います。
運用ルールの策定、運用手順書や管理資料の作成が該当します。
7. 運用設計の流れ
https://www.fielding-st.co.jp/home/service/service2.html
①運用設計において必要な業務を洗い出し、提案・計画を作成
クライアントの合意を得ます。
②要件定義
クライアントへのヒアリングをもとに要件定義を行い、システム運用に必要な要件をまとめます。
③運用設計
要件定義をもとに運用設計を行い、各種ドキュメントを作成します。
④運用テスト
作成した運用設計に従って、実際に運用してみて不具合がないかチェックします。
修正点があれば、運用設計の見直しを行います。
⑤サービス提供
テスト段階で実用性の確認がとれたら、実際のシステム運用に活用します。
本番のシステム運用の確認も行い、問題点があれば修正します。
8. クラウドの運用設計のポイント
運用設計において、クラウドとオンプレミスで大きな差異はなく、同じような考慮・検討を行う必要があります。
そのうえで、クラウドの特性に合わせた設計を意識することが重要になってきます。
クラウドの共同責任モデルを前提としたクラウドネイティブな設計を意識することがポイントになってきます。
また、マネージドサービス、サーバーレス等を活用したスケーラブルで俊敏性の高いシステム運用の実装が必要です。
8-1. ■共同責任モデルとは
しかし、クラウドサービス利用が拡大している昨今では、業務上のさまざまなやりとりがインターネット上でやりとりされることになります。
その際にセキュリティ事故などが起こった際の責任問題について、サービス事業者側と利用者側の管理責任の範囲については注意が必要です。
クラウドサービスの代表的な形態である「IaaS」「PaaS」「SaaS」について、サービス事業者と利用者の責任範囲についてみていきましょう。
※https://blog.synnex.co.jp/cloud/what-is-shared-responsibility-model/#Microsoft_Azure
8-2. ■クラウドネイティブ設計とは
クラウドネイティブ設計とは、「スピード」と「俊敏性」をシステムに求める設計手法です。
システムに対する「変更」を迅速かつスケーラブルに行えるようにします。
8-3. ■マネージドサービス利用について
クラウド利用の運用設計を行ううえで、クラウドサービス事業者などが提供する「マネージドサービス」の利用を検討するのが効果的な場合もあります。
例:監視・運用のための人員を割くことができないといった悩みをもっているユーザーの場合
マネージドサービスとは、サーバー運用やソフトウェア管理、セキュリティなど企業の様々なIT環境に関わる業務の一部をアウトソーシングできるサービスです。
クラウドサービス元が提供している部分的な保守・運用についてもマネージドサービスと呼ぶことがあります。
システム運用には専門知識をもった人材が必要であり、人材を確保するのは難しいのも現状です。
マネージドサービスを利用することでユーザーは最小限の負担でシステム運用することができます。
マネージドサービスもいくつか種類があり、保守・運用やデバイス、アプリケーションの管理、セキュリティなど特定の領域を委託するものから、IT全領域を外部に委託して、自社はコア業務にリソースを集中する形態(フルマネージドサービス)や、モバイルデバイス・端末の調達・管理・導入をワンストップで提供してくれる(モバイルのマネージドサービス)などのサービスも生まれてきています。
デジタル領域での進化や変化が激しく、専門的な知識を要することも多いので、マネージドサービスの導入をして、自社はコア業務へのリソースに集中し生産性の向上を実現していくのもいいでしょう。
8-4. ■マネージドサービス導入時のポイント
■自社が抱える課題を「見える化」して整理
現状の見える化や課題を抽出して、自社に合うサービスをしてくれるベンダー探しに失敗しないようにしましょう。
■課題の整理から支援してくれるサービスもある
課題が多くて整理しきれない、IT部門担当者のリソースやナレッジが不足、そんな場合は、自社の課題の整理から支援してくれるサービスを利用することをオススメします。
■補足
MSP(マネージドサービスプロバイダ)とは、企業の代わりにクラウドサービスの選定や導入、運用サポートなどを行い、利用可能な状態を維持するサービスを提供している事業者のことです。
9. まとめ
システムを安定的に動かすために、運用設計が重要であることが分かりました。
また、クラウドでの運用設計をする際の必要な観点も知ることができました。
今後、オンプレミスからクラウドへと移行していく際に、専門知識をもった人員を確保できない問題についてもカバーしてくれるサービスもあるのだと思うと、クラウド移行へ踏み切りやすくなりますね。