1分でわかるIT用語集

デプロイ

デプロイ(deploy)は、「展開する、配置する」などの意味を持つ。IT分野では、Webアプリケーションなどのシステム開発工程で、アプリケーションの機能やサービスをサーバー上に配置・展開し、利用可能な状態にする一連の作業を指す。

通常のシステム開発では、「開発環境」「テスト環境」「本番環境」など、環境ごとにファイルが設置されて、開発作業が行われる。デプロイはテスト環境と本番環境を利用して、サーバー上に実行ファイルを反映し、実際に稼働できる状態にする。

類義語に「リリース(release)」があり、デプロイはリリースのステップの1つ。リリースの手順は、「稼働中のアプリケーションを停止」→「サーバーを停止」→「デプロイ」→「サーバーを再起動」→「動作確認」となる。

デプロイを行う際には、サーバーを一時的に停止する必要があり、再起動して内容を反映させる。提供するサービスを止めることになり、ユーザーに不都合を与える可能性があるため、以下のようなダウンタイムの少ない手法(ホットデプロイ)が用いられることがある。

「ブルーグリーンデプロイメント」
本番環境のブルーと、新環境のグリーンを用意し、ロードバランサーなどで切り替えて利用する。既存システムをブルーで起動したまま、グリーンに新たな環境をデプロイできる。グリーン環境に問題が生じても、すぐにブルー環境に切り戻せるため、システムが停止しない。

「イミュータブルデプロイメント」
ブルーグリーンデプロイメントの派生形。ブルーとグリーンの環境でデプロイし、作業が終了後に旧環境であるブルーを消去する。サーバーリソースが圧迫されにくいが、問題が生じた場合、旧環境に戻すのに手間がかかる。

「シンボリックデプロイメント」
サーバー内に旧システムと新システム2つの仮想環境を用意して、デプロイする。デプロイが完了したら「シンボリックリンク」により、新システムへ環境を移行する。サーバー環境が1つなので、リソースコストを削減できる。ただし、物理的な障害が発生した場合、複数のシステム環境が影響を受ける可能性がある。

「ローリングデプロイメント」
複数のサーバーで負荷分散し、ロードバランサーから1つずつ切り離してデプロイする。ダウンタイムは発生しないが、一時的に新旧サーバーが混在するデメリットがある。
(青木逸美)