4つの用語の違い

用語 意味 スコープ
デプロイ コードを環境(staging/prod)に配置・反映する技術的作業 エンジニアリング
リリース 機能をユーザーが利用可能な状態にすること プロダクト
ローンチ 新サービス・新機能を世の中に公開・告知すること ビジネス/マーケティング
カットオーバー 旧システムから新システムへ本番切替すること インフラ/運用

時系列の例

デプロイ(staging) → デプロイ(prod) → リリース(フラグON) → ローンチ(告知)
                                        ↑
                              カットオーバー(旧システム停止・新システム稼働)

それぞれの詳細

デプロイ

git push → CI/CD → サーバー反映。1日に何度も行うこともある。フィーチャーフラグで隠せばユーザーには見えない。

リリース

デプロイ済みの機能をフラグONにする、App Storeに公開するなど。「ユーザーに届く」がポイント。

ローンチ

プレスリリース、LP公開、SNS告知などを伴う。ビジネスイベントとしての側面が強い。

カットオーバー

DNS切替、DB移行、ロードバランサー切替など。旧→新の不可逆的な切替を指すことが多い。SIer文化圏でよく使われる。

リリースとカットオーバーの関係

近いが視点が違う。

  リリース カットオーバー
視点 ユーザー/プロダクト側 システム運用/インフラ側
対象 機能・バージョン システム全体
頻度 高い(週次〜日次) 低い(一度きりが多い)
可逆性 ロールバックしやすい 不可逆・大がかりな切戻し
文化圏 Web系・スタートアップ SIer・金融・エンタープライズ

「新システムを本番稼働させてユーザーに提供開始する」場面では、ほぼ同義になる。明確に違うのは以下のケース:

  • リリースだがカットオーバーではない: 既存システム上で新機能を追加公開(旧→新の切替がない)
  • カットオーバーだがリリースではない: 内部システムのインフラ移行(ユーザー向け新機能はない)

一言で言えば、リリースは「何を届けるか」、カットオーバーは「どう切り替えるか」。

本番デプロイ=リリースではないのか

多くの現場では「本番デプロイ = リリース」として区別しないことが普通。フィーチャーフラグを使わない開発フローでは、本番デプロイした瞬間にユーザーに届くので事実上同じ。

区別が生まれるのは以下の場面:

  • フィーチャーフラグ運用: デプロイ済みだがフラグOFFなので未リリース
  • モバイルアプリ: ストアに提出(デプロイ) → 審査通過 → 公開(リリース)が別タイミング
  • 段階的ロールアウト: 1%のユーザーにデプロイ済みだが、全体リリースはまだ

こういう仕組みがなければ、デプロイ=リリースで実質的に正しい。

日本特有の使われ方

「カットオーバー」は和製英語に近く、海外では go-livecutover migration と言うことが多い。日本のSIer・金融系では「カットオーバー日」=本番稼働日として広く使われている。