4.2.2 システム設計と運用設計
アプリケーションサーバのシステム設計と運用設計では,次の点を検討します。
-
システム構成をどうするか/システムのスケーラビリティをどのように確保するか
まず,J2EEアプリケーションによってオンライン処理を実行するシステムか,バッチアプリケーションによってバッチ処理を実行するシステムかを明確にします。
次に,システムの規模に応じて,Webサーバ,J2EEサーバ,バッチサーバおよび各プロセスを物理的にどのように配置するかを決めます。オンライン処理を実行するシステムの場合は,複数のサーバを使用して負荷を分散する必要があるかなどを検討します。スケーラビリティについてもよく検討しておく必要があります。実際の日常運用が開始されたあとで,システム規模を変更したり,トラブル発生時の影響をできるだけ局所的に抑えたりするためには,システムのスケーラビリティが確保されていることが重要です。
-
どのような運用のしかたをするか/可用性と信頼性をどのように確保するか
業務システムを運用する場合には,システムの可用性と信頼性を確保しながら,できるだけ効率良く運用していく方法を検討します。アプリケーションサーバには,システム内の複数のサーバマシンを一括して管理,運用するための機能として,Management Serverという運用管理機能があります。
また,システム全体を効率良く運用する方法として,JP1やクラスタソフトウェアと連携するかどうかも,あわせて検討してください。
-
システムのセキュリティをどのように確保するか
ミッション・クリティカルな業務システムの場合,信頼性の高いセキュリティを確保することは不可欠です。システム設計の段階で,セキュアなシステムを構築するための観点を明確にして,導入・運用時の手順を決めておく必要があります。また,外部ネットワークと接続するシステムを構築する場合は,ファイアウォール,侵入検知システムおよびSSLアクセラレータを適切に配置,設定してどのように信頼性の高いシステムを構築するかを,あわせて検討してください。
-
性能を向上させるためにどのようなチューニングが必要か
システム要件によっては,厳密な性能設計が必要です。プールやキャッシュを効果的に利用したり,タイムアウトを適切に設定したりすることで,システム全体の性能向上が図れます。
-
JavaVMをどのようにチューニングするか
アプリケーションサーバで動作するJ2EEサーバなどのプロセスは,JavaVM上で実行されます。JavaVMで使用するメモリ空間を適切に管理することによって,FullGCの頻発を防ぎ,パフォーマンスの低下を防げます。
なお,標準的なパターンでアプリケーションサーバを構築・運用する場合は,まず,システムを構築・運用してから必要に応じて設定変更やチューニングを実施できます。システム設計の段階では,まず構築したいシステムが標準的なパターンに合致するかどうかについて,マニュアル「アプリケーションサーバ システム構築・運用ガイド」を参照して確認してください。