私は数千のSQL Serverデータベース(各クライアントに1つ)を持っています。プロダクションを続けることに決めたとき、データベース、Web API、Webアプリケーションのほとんどの時間が変更されました。データベース、API、Webアプリケーションを更新する際のバージョン管理の問題
問題はすべて、特にデータベースを展開するのにかかる時間です。私たちは、コード・ファースト・マイグレーションとMVC .NETとSQL Serverをすべて最新のバージョンで使用しています。それはSaaSです。そして、コードの最初の移行プロセスは、データベースを1つずつ更新することができます。
APIとWebアプリケーションは、数秒で非常に迅速に導入されます。ただし、データベースはすべて約30分以内に更新されます。その間、一部のユーザーにエラーが発生し、APIが更新されていないデータベースをターゲットにするため、ソフトウェアを使用できなくなります。さらに悪いことに、データベースの更新中に何かが失敗して停止した場合、更新されていないユーザーは問題を修正して残りのデータベースを更新するまで立ち往生します。
どのようにこの問題を解決し、クライアントを幸せにする考えですか?
PS:Webアプリケーションはデータベースにアクセスするのではなく、APIにのみアクセスします。
データベースが1,000の場合は、実際にはあまりできません。これらのデータベースをすべて更新するには時間がかかるでしょう。あなたが行うことができる唯一のことは、アップデートプロセス中にアプリケーションをオフラインにすることです。とにかく起こっているはずです。システムのアップグレードを行うことができ、クライアントがそのウィンドウを理解できるようにする時間枠を見つけます。その期間に更新を行い、誰も問題を起こさないようにしてください。 –
私はまた、一度にすべてを更新するのではなく、各クライアントデータベースを1つずつ更新することを検討したいと思います。 –