ソフトウェアデプロイメント
リリース活動は、ソフトウェア開発工程の完了後に行われる。開発されたものをまとめ、顧客のサイトに送ることができる形態にする。市販される製品の場合、注文を受けて出荷されるもの(出荷数が少ない高価な製品)と見込み生産されるもの(出荷数が多い安価な製品)があり、リリースに際しての手続きも異なる。
インストールの逆の活動。必要のなくなったソフトウェアをシステム上から削除する。
既にデプロイされたソフトウェアを、類似する構成のソフトウェアへ更新する活動をアップデートという。例えばソフトウェアを構成するデータベースのバージョンアップはアップデートにあたる。
アップデートには様々な手法がある。なぜならアップデートはデプロイ後のソフトウェアが提供するサービスへ様々な影響を与えるからである。影響の例を以下に挙げる。
一時的なサービス停止: ソフトウェア更新に伴うデプロイ済みソフトウェアの一時停止
サービスレベル低下: バグが混入したアップデート版ソフトウェアのデプロイ
例えばアップデートが重要な既存サービスに意図せず影響してしまった(デグレードした)場合、アップデートを取り消すロールバックを行う必要がある。ロールバックを考慮しないアップデート手法を用いた場合、データ形式の不整合や新旧バージョンの並列などによってロールバックが困難になる可能性がある。
これらの問題を解決するための様々なソフトウェアデプロイメント手法が存在する。
ローリングアップデート/Rolling updates: 新バージョンデプロイ → 新旧バージョン並行動作 → 旧バージョン停止による無停止アップデート カナリアリリース/Canary release: 本番環境での可用性確認を主目的として一部のユーザー(カナリア)のみへアップデート版を提供し順次アップデートをおこなう手法。