近い将来、別のユーザーグループによって利用される既存のMVCアプリがあります。既存のユーザーグループと新しいユーザーグループ/プログラムの両方に、独立したデータがあります。2つのユーザーグループ/プログラムを区別するためにテーブルにフラグを追加し、アプリケーションにアクセスしてそれぞれのデータをプルアップするときにルーティングを実行することを考えていました。
ここで、コードのカスタマイズに関しては、たとえば、あるグループ/プログラムが、最初のグループが望まないページに追加のフィールドを持ちたい場合、またはアプリケーションのプロセスフローが2つのユーザーグループ間で分離されている場合です。
上記の2つのシナリオが頻繁に発生する場合は、プログラム/ユーザーグループごとにコードをカスタマイズするのではなく、新しいWebインスタンスとデータベースインスタンスを実行する必要があります。このようにして、私の顧客/ユーザーグループの両方が、アプリケーションに異なるロジック/フィールドを追加する柔軟性を持ちます。
非マルチテナントアプローチで私が目にする唯一の欠点は、2つの別々のアプリケーションを維持するための開発者による時間の労力です。異なるユーザーグループ/プログラムごとに同じコードベースをカスタマイズするために、コンティショナルロジックを追加するのが怖いです。インフラストラクチャのコストは問題ではありません。また、このアプリケーションが2つ以上のユーザーグループ/プログラムによっていつでも使用されることはないと思います。それで、皆さんは私がどのアプローチを取るべきか、そしてその理由をどう思いますか?よろしくお願いします
PSユーザーは、他のテナントのデータを見るためにサイトをハッキングしようとする忍者を借りません。彼らは企業ユーザーです。彼らはむしろこのアプリケーションを使用せず、プロセスの一部であるため、使用する必要があります。