То, что вы описываете, действительно было бы очень безопасным способом ведения дел, но, похоже, было бы много накладных расходов. Одна вещь, чтобы рассмотреть, как бороться с логинами. Обязан ли каждый пользователь указывать TenantId, UserName и Password? Или вы могли назначить каждому Арендатору уникальный поддомен?
Что касается обслуживания, лучший способ справиться с этим - собрать как можно больше арендаторов в один веб-сервер / веб-ферму и поместить все их данные в один реляционный кластер db / db. Таким образом, когда вы обновляете одного клиента, все обновляются. В какой-то момент вам придется купить другой кластер веб-фермы / базы данных, чтобы разместить больше арендаторов, но вы будете удивлены, насколько далеко может пройти 1 экземпляр.
Исключением из этого правила являются, конечно, такие сайты, как Google и Facebook, на которых слишком много пользователей и слишком много данных для традиционных реляционных БД. Но на 95% + сайтов, я считаю, эта модель может работать.
Что касается безопасности, вы можете добавить TenantId к каждой таблице в вашей базе данных и фильтровать по ней по каждому запросу . Да, это нетривиально, но вы не описываете и процедуры обслуживания, которые вы описываете.