マルチティアアーキテクチャ

個々のチームからエンタープライズレベルのオペレーションまで対応する構成ができ、既存のインフラ要件をサポートします。

Deployment Automationは、各チーム用にシンプルな構成で使用できます。水平スケーラビリティ、エンタープライズクラスのセキュリティ、ハイパフォーマンス、高可用性といったエンタープライズクラスの要件に対応するよう拡張することも可能です。

Deployment Automationには4つの基本コンポーネントがあり、それぞれ論理的・物理的に分離して、運用に従って定義された既存のインフラの要件に対応できます。

1. ビジネスロジック/プレゼンテーション階層

ステートレスコントローラーサーバーが、製品のセキュリティエンジン、ワークフローエンジン、ユーザーインターフェイス、その他の主要エリアへのアクセスを提供します。この階層は、完全なロードバランシングと、ほぼ即時のフェイルオーバーが可能なため、高可用性とロードバランシング環境をともに実現します。ユーザーアクセスは、コマンドライン、RESTfulサービス、またはブラウザーベースのユーザーインターフェイス(UI)から行います。すべてのシステム構成、プロセス定義、デプロイメント、レポート機能がUIから使用できます。

ビジネスロジック/プレゼンテーション階層

2. メタデータ/ファイルストレージ階層

Deployment Automationサーバーのバックエンドコンポーネントを構成するデータベースは、システム構成、セキュリティ、プロセス情報の格納に使用されます。ターゲットロケーションにデプロイされるオブジェクトやログファイルなどの物理アーティファクトは、物理的/論理的に接続されたディスクまたはネットワークストレージを使用する「デプロイメントリポジトリ」に格納されます。

3. 負担にならないセキュアエージェント

エージェントは負担にならないセキュアプロセスとしてそれぞれのターゲットホストで実行され、Deployment Automationサーバーと通信します。エージェントはDeployment Automationのクライアント/サーバーアーキテクチャに欠かせない構成要素です。サーバーに負荷を掛けないコンポーネントのデプロイによって、数千ものターゲットを含む大規模なデプロイメントを可能にします。

エージェントリレーはプロキシとブローカの役割をし、多数のエージェントからのトラフィックを統合して、ビジネスロジック階層まで単一ポイント経由で転送可能にします。リレーによってファイアウォール構成をシンプルにして、直接のネットワークトラフィックやビジネスロジック層の処理負荷を軽減できます。

負担にならないセキュアエージェント

4. スケーラブルサーバーアーキテクチャ

Deployment Automationサーバーは、実際には「デプロイメントタスク」を実行しません。すべてのデプロイメントタスク(ファイル移動、設定の調整、開始/停止、ロードバランサーの操作、サードパーティツールの操作)は、デプロイメントエージェントによって行われます。

エージェントは、リモートマシンにインストールされたJVMのコンテキストでJavaプロセスとして実行されます。フットプリントの小さいステートレスエージェントであり、Deployment Automationサーバーが提供するJMSリクエストをサブスクライブします。エージェントはサーバーからのタスクを受け、プラグインフレームワークを使用して必要なコマンドを実行します。サーバーが提供するWebサービスを使用して、追加情報の取得や結果のポストバックも行います。

スケーラブルサーバーアーキテクチャ