Каковы типичные проблемы, возникающие при преобразовании приложения с одним арендатором в приложение с несколькими арендаторами? Безопасность и изоляция данных кажутся мне наиболее значимыми. Какие еще есть?
Я один из архитекторов для довольно значительных усилий по автоматизации, и исторически это была наша компания, использующая это. Мы хотим, чтобы другие тоже могли его использовать. Каждый раз, когда мы говорим о «создании мультитенанта», разговор вращается вокруг того, чтобы держать пользователей с одним арендатором в стороне от данных, которыми владеет другой арендатор, и чтобы убедиться, что пользователи с одним арендатором не могут (намеренно или непреднамеренно) создавать воздействия в другом среда арендатора. Что меня интересует, так это то, являются ли безопасность / изоляция данных действительно единственными серьезными проблемами здесь, или есть ли другие серьезные проблемы, о которых мы просто не думаем.
источник
Ответы:
Помимо накопления данных, вы можете столкнуться с проблемами с
Некоторые из них предполагают, что вы используете все клиенты в одном и том же адресном пространстве (машине или кластере). Если каждый арендатор использует ваше программное обеспечение на своем оборудовании, вы можете обсудить некоторые из вышеперечисленных и добавить:
источник
На мой взгляд, самой большой проблемой мультитенантности является индивидуальная настройка. Это происходит обычно, если вы продаете бизнес-приложение предприятиям. Это может варьироваться от чего-то простого, например, от каждого клиента, желающего иметь свои собственные скины, до возможности настройки дополнительных полей, правил, форм и отчетов. Уровень настройки, который вам необходимо поддерживать, играет важную роль в архитектуре.
источник
Ответ Майка очень хороший, и многие из этих пунктов почти недооценивают их сложность из-за их короткости, поэтому примите это близко к сердцу.
Я бы добавил, что у вас должны быть хорошие инструменты управления для создания (а затем и управления) новых арендаторов. В зависимости от физической архитектуры, с которой вы работаете, это может быть далеко не тривиально и часто упускается из виду. Преимущества программного обеспечения как сервисного продукта действительно вступают в силу только при большом количестве арендаторов, поэтому для этого нужно приложить немало усилий.
Расширить ответ Шримама; индивидуальная настройка арендатора в значительной степени запрещена, все, что арендатор может захотеть изменить, должно быть настраиваемым . Например, если ваше решение не учитывает динамическое добавление полей данных хотя бы в нескольких ключевых областях, вы, вероятно, будете завалены запросами на настройку. Это один из немногих случаев , когда немного дополнительной сложности авансом на самом деле окупаются (скажем , это идет вразрез с YAGNI, или , по крайней мере, этот уровень конфигурации практически является ключевым требованием, так что вы это собираетесь нужно).
источник