Общие сведения о мультитенантном приложении SaaS на основе Базы данных SQL Azure, в котором используется отдельная база данных для каждого клиента

Область применения:База данных SQL Azure

Приложение Wingtip SaaS — это пример мультитенантного приложения. Для обслуживания нескольких клиентов приложение использует шаблон приложения SaaS, в котором для каждого клиента используется отдельная база данных. Приложение демонстрирует возможности Базы данных SQL Azure, которые позволяют работать со сценариями SaaS, используя несколько моделей проектирования и управления SaaS. Приложение SaaS Wingtip развертывается менее чем за пять минут, поэтому вы сможете быстро приступить к работе.

Исходный код приложения и сценарии управления доступны в репозитории GitHub WingtipTicketsSaaS-DbPerTenant. Прежде чем начать, изучите инструкции по скачиванию и разблокированию сценариев управления Wingtip Tickets в статье Общие рекомендации по работе с примерами приложений SaaS Wingtip Tickets.

Архитектура приложения

Приложение Wingtip SaaS использует модель базы данных для каждого клиента. Чтобы добиться максимальной эффективности, оно использует пулы эластичных БД SQL. Для подготовки и сопоставления клиентов с их данными используется база данных каталога. Основное приложение SaaS Wingtip использует пул с тремя клиентами и базу данных каталога. Серверы каталога и клиента подготовлены с применением псевдонимов DNS. В этих псевдонимах содержатся ссылки на активные ресурсы, используемые приложением Wingtip. В руководствах по аварийному восстановлению эти псевдонимы обновляются с добавлением ссылок на ресурсы восстановления. Многие руководства по Wingtip SaaS позволяют получить надстройки для базового развертывания. Доступны такие надстройки, как аналитические базы данных и схемы управления для нескольких баз данных.

Wingtip SaaS architecture

Изучая это руководство и описанное здесь приложение, уделяйте особое внимание шаблонам SaaS, так как они относятся к уровню данных. То есть сосредоточьтесь именно на уровне данных, а не увлекайтесь анализом приложения. Если вы поймете реализацию этих шаблонов SaaS, вы сможете реализовать их в своих приложениях. Обращайте также внимание на изменения, которые потребуется внести для учета конкретных бизнес-требований.

Руководства по SaaS Wingtip базы данных SQL

Развернув приложение, изучите перечисленные ниже руководства, которые основываются на базовом развертывании. В этих руководствах рассматриваются распространенные шаблоны SaaS, использующие встроенные функции Базы данных SQL, Azure Synapse Analytics и других служб Azure. Руководства содержат скрипты PowerShell с подробными описаниями. Эти описания позволят быстрее разобраться в шаблонах управления SaaS и применить их в приложениях.

Руководство Описание
Общие рекомендации по работе с примерами приложений SaaS Wingtip Tickets Скачайте и выполните скрипты PowerShell для подготовки частей приложения.
Развертывание и изучение мультитенантного приложения SaaS, использующего базу данных SQL Azure Разверните в подписке Azure мультитенантное приложение SaaS и изучите его возможности.
Подготовка новых клиентов и их регистрация в каталоге Узнайте, как приложение подключается к клиентам с помощью базы данных каталога и как клиенты сопоставляются с данными каталога.
Мониторинг производительности примера приложения SaaS Wingtip Узнайте, как использовать функции мониторинга Базы данных SQL и настроить оповещения при превышении пороговых значений производительности.
Мониторинг с помощью журналов Azure Monitor Узнайте, как применять журналы Azure Monitor для мониторинга большого количества ресурсов в нескольких пулах.
Восстановление базы данных отдельного клиента Узнайте, как восстановить базу данных клиента до предыдущей точки во времени. Научитесь восстанавливать данные в параллельную базу данных, сохраняя работоспособность существующей базы данных клиента.
Manage schema for multiple tenants in the WTP SaaS application (Управление схемой нескольких клиентов в SaaS-приложении WTP) Узнайте, как обновить схему и опорные данные во всех базах данных клиентов.
Отчеты по всем клиентам с использованием распределенных запросов Создайте специализированную базу данных аналитики и выполняйте распределенные запросы ко всем клиентам в реальном времени.
Межклиентская аналитика с помощью извлеченных данных Извлечение данных клиента в базу данных аналитики или хранилище данных для автономных аналитических запросов.

Дальнейшие действия