infoTek インフォテック株式会社

テクノロジー情報Technology

Technology14. 信頼性

アプリケーションの信頼性と保守性は、サービスの可用性に影響を与えます。アプリケーションの信頼性とは、アプリケーションに起因する問題でサービス停止が起こらない確度ですが、役割によってアプリケーションの信頼性向上に貢献する手段は異なります。次の3つの役割を通じて、アプリケーションの信頼性について考えてみます。

  • アプリケーション・アーキテクト
  • アプリケーション設計者および開発チーム
  • 運用設計者

アプリケーションのアーキテクチャを検討する技術者をアプリケーション・アーキテクトと呼ぶことにします。このアプリケーション・アーキテクトは、アプリケーションが採用する基盤技術を決定します。信頼性向上のためにアプリケーション・アーキテクトが注目するのは、堅牢で柔軟性に富んだアプリケーション・ プラットフォームです。信頼性の高いアプリケーションを構築するために、今日ではアプリケーション・サーバを採用した3層構造のアーキテクチャが採用されることが多くなりました。このような基盤技術の選択は、アプリケーションの信頼性を大きく左右します。

アプリケーション設計者は、選択された基盤技術を用いたアプリケーションを設計します。開発チームはその設計書に基づいてアプリケーションを構築します。信頼性向上のためにアプリケーション設計者が考慮するのは、アプリケーションの構造化や、実績のあるコードの再利用、例外イベントに対する適切な措置などが考えられます。また、仕様に忠実なアプリケーションを構築できるスキルを持つ開発チーム、そして十分な検証プロセスが必要です。

さらに、運用設計者がいます。インフラストラクチャの各構成要素の冗長化を図り、コンポーネントの障害によるシステム停止の可能性を低減します。インフラストラクチャの異常をツールなどを利用して検出し、計画外のサービス停止を予防します。アプリケーション操作の自動化によって人的ミスを排除します。このような技術の組み合わせによって、運用設計者はサービスの信頼性向上を図ります。

  1. 堅牢で柔軟性に富んだアプリケーション・アーキテクチャ
  2. 質の高いアプリケーションの供給
  3. 適切な稼働環境と運用手順の構築

組織の内で誰がその役割を担うかに関しては様々なケースが考えられますが、いずれの活動もアプリケーションの信頼性向上にとって不可欠な要素と言えます。