アプリケーション指向のデプロイメント

今日のアプリケーションを構成するコンポーネントは、複数の作成元から集められ、さまざまなアプリケーション層、プラットフォーム、リソースにデプロイされます。これらのアプリケーションのデプロイメントを成功させるには、調整とオーケストレーションが欠かせません。重要なのは、まとめてテストしたアプリケーションコンポーネントをまとめてデプロイできることです。アプリケーションプロセスとスナップショットをサポートするDeployment Automationが、この問題を解決します。

アプリケーションデプロイメントのオーケストレーション

アプリケーションプロセスは、Deployment Automationのプロセスエディターで作成します。プロセスは手動で実行するか、トリガ条件やユーザーが定義したスケジュールによって自動で実行できます。コンポーネントに定義されたプロセスが複数ある場合は、アプリケーションプロセスが実行プロセスとその順番を判断します。たとえば、n層のアプリケーションにWeb層とデータベース層が含まれている場合は、承認後にWeb層とデータベース層が同時にデプロイされます。アプリケーションプロセスは、コンポーネントを特定のリソースにデプロイするためのデプロイメントステップをすべて含む関連コンポーネントプロセスを呼び出します。

実行されるアプリケーションプロセスは、特定の環境を使用します。環境は、1つ以上のリソースの集合です。1つのアプリケーションを、QA環境や本番環境など異なる環境で実行できます。それぞれの環境をアプリケーションと関連付けて、それぞれの環境用にプロセスを個別に実行するだけです。

デプロイメントのほかに、ロールバックなどいくつかの共通プロセスも使用できます。Deployment Automationがそれぞれのコンポーネントバージョンの履歴をトラッキングするので、アプリケーションプロセスは目的のポイントまで環境を復元することができます。

ワンクリックでスナップショットを作成

スナップショットは、その環境でのアプリケーションの最新状態を示します。スナップショットは、まとめてデプロイするコンポーネントバージョンの組み合わせを指定し、アプリケーション内の各コンポーネントのバージョンを正確に指定します。スナップショットが作成されると、Deployment Automationは指定された環境におけるアプリケーションの情報(コンポーネントバージョンなど)を収集します。

アプリケーションがデリバリーパイプラインで先に進む中で、Deployment Automationによりそれぞれの環境で正しいバージョンを確実に使用できます。スナップショットに必要な段階と承認がすべて終わると、スナップショットは本番環境にプッシュされます。

スナップショットは、複数の階層や開発チームが含まれる複雑なデプロイメントの管理にも役立ちます。たとえば、チームAのコンポーネントがチームBで機能することをテストして確認してから、スナップショットを作成することができます。その後、開発の進行に従って追加のスナップショットを作成し、これを使用して作業をモデル化し、デプロイメント全体を進め、バージョン、構成、プロセスを調整することができます。