asp.netプラットフォーム上にエンタープライズWebアプリケーションを構築しました。これは、複数のサーバー間で十分に負荷分散されています。アプリケーションはダウンタイムがゼロのSLAで定義されているため、定期的な展開を行うという点で少し苦労しています。
中断のない展開をサポートするためのベストプラクティスを実装するためのガイダンス/ヒントをいただければ幸いです。
asp.netプラットフォーム上にエンタープライズWebアプリケーションを構築しました。これは、複数のサーバー間で十分に負荷分散されています。アプリケーションはダウンタイムがゼロのSLAで定義されているため、定期的な展開を行うという点で少し苦労しています。
中断のない展開をサポートするためのベストプラクティスを実装するためのガイダンス/ヒントをいただければ幸いです。
これらのトピックのいくつかを扱っている私のお気に入りの 2 冊の本は、Humble/Farley による Continuous Delivery と、Allspaw/Robbins による Web Operations です。
ここでの「簡単な」部分は、ノードをロード バランサーから引き出し、アップグレードし、スモーク テストを実行して、ロード バランサーに戻すローリング デプロイを行うことだと思います。ユーザーごとにアプリのバージョンは異なりますが、ダウンタイムはゼロです。
難しい部分は、これらの Web アプリがヒットする可能性があるバックエンド システム/データベースです。基本的に、古いスキーマと新しいスキーマの両方を同時に使用できるようにする必要がありますが、これは困難です。これを実現するためのアプローチとして、拡張/縮小データベース パターンなどの手法を検討してください。