В модели "программное обеспечение как услуга" (SaaS) каждый из ваших клиентов является клиентом приложения. Каждый клиент оплачивает доступ к приложению SaaS, оплачивая подписку. В этой статье описываются модели аренды приложений, доступные разработчикам приложений SaaS.
При проектировании приложения SaaS необходимо выбрать модель аренды приложений, которая лучше всего соответствует потребностям клиентов и вашего бизнеса. Как правило, модель аренды приложений не влияет на функциональность приложения. Но это, скорее всего, влияет на другие аспекты общего решения, включая масштабирование, изоляцию клиента, стоимость каждого клиента и сложность операций.
Что такое модели аренды приложений
В следующих разделах рассматриваются основные понятия моделей приложений с одним, смешанным и мультитенантным использованием.
Однотенантное приложение
В модели с одним клиентом для каждого клиента развертывается один выделенный экземпляр приложения. Например, при использовании N-уровневого приложения в стиле архитектуры все клиенты получают новый выделенный экземпляр веб-уровня, среднего уровня и уровня данных. Эти уровни не являются общими для этих клиентов.
Смешанный клиент
В этой модели одна или несколько частей приложения развертываются как выделенные для каждого клиента, а остальные используются всеми клиентами. Например, при использовании N-уровневого приложения архитектуры веб-уровни и средние уровни являются общими для всех клиентов. Однако выделенный уровень данных и база данных подготавливаются для каждого клиента.
Мультитенантное приложение
В этой модели один экземпляр приложения развертывается для всех клиентов и совместно используется среди них. Например, при использовании N-уровневого приложения архитектуры веб-уровни, средние уровни и уровни данных являются общими для всех клиентов.
Сочетание этих моделей можно предоставить клиентам с разными потребностями. Например, базовый уровень службы будет выполняться на общем мультитенантном экземпляре приложения. В качестве базового плана клиенты могут получить доступ к вашему приложению с более низкой производительностью или ограниченной функциональностью для более низкой стоимости. Поверх этого базового плана уровень служб "Выделенная" может выполняться в модели с одним клиентом. Для клиентов, которым требуется более высокая производительность или дополнительные функциональные возможности, можно предоставить изолированный экземпляр приложения с более высокой стоимостью.
Ознакомьтесь с нашим подробным руководством:
- Архитектурные подходы к хранилищу и данным в мультитенантных решениях
- Мультитенантность и база данных Azure SQL
- Мультитенантность и служба хранилища Azure
Сравнение моделей аренды приложений
Как правило, модель аренды не влияет на функциональность приложения, но, скорее всего, влияет на другие аспекты общего решения. В следующей таблице перечислены различия между моделями клиента приложений.
Измерения | Один клиент | Смешанный | Мультитенантное приложение |
---|---|---|---|
Масштабирование | Средний | Высокий | Очень высокая |
Изоляция арендаторов | Очень высокая | Высокий | Низкий |
Затраты на арендатор | Высокий | Средний | Низкий |
Сложность эксплуатации | Низкий-высокий — по отдельности простой, сложный в большом масштабе. | Низкий —средний — необходимо решать сложные задачи в большом масштабе. | Низкий и высокий уровень— управление отдельным клиентом является сложным. |
Термины измерения подробно описаны ниже.
Масштаб: Количество одновременных клиентов (или клиентов), которые может обслуживать приложение.
Изоляция клиента. Степень, в которой данные и производительность клиентов отделены от других клиентов.
Затраты на арендатор: Относительная стоимость запуска одного клиента.
Операционная сложность: Насколько сложно выполнять операционные задачи, такие как автоматизация, безопасность, мониторинг, обслуживание, контроль, развертывание приложений, аварийное восстановление или BCP.
Как правило, моделью однотенантных приложений и небольшим количеством клиентов проще управлять. При большом количестве клиентов она может стать очень сложной без сильных методик операционной эффективности. И наоборот, в модели мультитенантных приложений проще управлять системой в целом, но очень сложно, если вы хотите управлять отдельным клиентом клиента самостоятельно, без сильных методик операционной эффективности.
Дополнительные сведения
После того как вы узнаете о потребностях и бизнес-целях клиента, начните задавать следующие вопросы:
- Работаю ли я в строго регулируемой отрасли, которая требует изоляции данных клиентов от других клиентов?
- Нужно ли быстро масштабировать приложение до многих тысяч клиентов?
- Меня беспокоит, сколько стоит запуск каждого клиента или экземпляра клиента?
Ответы на эти вопросы помогут вам уточнить требования к аренде.
Соавторы
Эта статья поддерживается Майкрософт. Первоначально она была написана следующими авторами.
Основной автор:
- Михаэль Фридрих | Старший технический менеджер партнера
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Дальнейшие действия
Дополнительные сведения о шаблонах аренды приложений см. в статье Шаблоны аренды баз данных SaaS с несколькими клиентами.
Связанные ресурсы
Ознакомьтесь с нашим руководством по архитектуре для мультитенантных решений: