展開環境
実稼働環境は、ユーザーが直接対話する環境であるため、特にサーバーではライブ環境とも呼ばれる。
本番環境への展開は最もデリケートなステップです。これは、新しいコードを直接展開するか(古いコードを上書きするため、一度に1つのコピーしか存在しない)、または構成変更を展開することによって実行できる。これにはさまざまな形式があります。新しいバージョンのコードの並列インストールを展開し、構成を変更してそれらを切り替える。古い動作と機能フラグを使用して新しいバージョンのコードを展開し、フラグフリップを実行する構成変更を使用して新しい動作に切り替える。または、別々のサーバー(1つは古いコードを実行し、もう1つは新しいサーバー)を展開し、トラフィックルーティングレベルで構成を変更して、トラフィックを古いものから新しいものにリダイレクトする。これらは順番に、一度にまたは段階的に行うことができる。
ホットスワップが可能でない限り、新しいリリースをデプロイするには通常、再起動が必要である。
したがって、サービスの中断(通常、アプリケーションが再起動されるユーザーソフトウェアの場合)、または冗長性(ロードバランサーの背後でインスタンスをゆっくり再起動するか、起動する)が必要である。事前に新しいサーバーを作成してから、トラフィックを新しいサーバーにリダイレクトするだけである。
新しいリリースを本番環境に展開する場合、すべてのインスタンスまたはユーザーにすぐに展開するのではなく、最初に単一のインスタンスまたは一部のユーザーに展開してから、すべてに展開するか、段階的に展開して、最後のリリースをキャッチすることができます。 -分の問題。これは、実際に本番環境で行われることを除いて、ステージングに似ており、炭鉱での毒ガス検知に由来し、カナリアリリースと呼ばれる。これにより、複数のリリースが同時に実行されるため複雑さが増すため、互換性の問題を回避するために、通常はすぐに終了する。