Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье представлен набор ссылок и ресурсов для архитекторов и разработчиков мультитенантных решений.
Архитектура для мультитенантных приложений
В следующих статьях приведены примеры мультитенантных архитектур в Azure.
Архитектура | Сводка | Фокус на технологии |
---|---|---|
Используйте контроллер входа шлюза приложений (AGIC) с мультитенантным кластером сервиса Azure Kubernetes (AKS) | Пример реализации мультитенантности с помощью AKS и AGIC | Kubernetes |
Все многотенантные архитектуры | Список всех архитектур, включающих мультитенантность | Множественный |
Конструктивные шаблоны облачных решений
Следующие облачные шаблоны проектирования часто используются в мультитенантных архитектурах.
Рисунок | Сводка |
---|---|
Шаблон меток развертывания | Развертывание нескольких независимых копий (или единиц масштабирования) компонентов приложения, включая хранилища данных. |
Федеративная идентификация | Делегирование проверки подлинности внешнему поставщику удостоверений. |
Привратник | Защитите приложения и службы, с использованием выделенного экземпляра хоста, который служит брокером между клиентами и приложением или службой, проверяет и очищает запросы, а также осуществляет передачу запросов и данных между ними. |
Выравнивание нагрузки на основе очередей | Используйте очередь, которая служит буфером между задачей и службой, которая вызывается для того, чтобы сглаживать временные тяжелые нагрузки. |
Шардинг | Вы можете разделить хранилище данных на несколько горизонтальных секций, которые называются сегментами. |
Дросселирование | Управление потреблением ресурсов, используемых экземпляром приложения, отдельным клиентом или всей службой. |
Антишаблоны
Рассмотрим антипаттерн "Шумный сосед", в котором активность одного клиента может негативно повлиять на использование системы другого клиента.
Платформа Microsoft Azure с продуманной архитектурой
Если вы разрабатываете SaaS, используйте рабочую нагрузку Microsoft Azure Well-Architected Framework для SaaS, чтобы получить практические рекомендации по архитектуре, относящиеся к решениям SaaS.
Весь фреймворкWell-Architected Framework важен для всех решений, включая мультитенантные архитектуры, но уделите особое внимание компоненту надежности. Характер облачного размещения приводит к тому, что приложения часто мультитенантны, используют службы общей платформы, конкурируют за ресурсы и пропускную способность, обмениваются данными через Интернет и работают на оборудовании для сырьевых товаров. Эта среда повышает вероятность возникновения временных и более постоянных сбоев.
Рекомендации по мультиарендаторской архитектуре
Разработка мультитенантных решений в Azure (видео): в этом видео описывается проектирование, архитектор и создание мультитенантных решений в Azure. Если вы создаете продукт SaaS или другую мультитенантную службу, при планировании высокой производительности, изоляции клиентов и управления развертываниями следует учитывать многое. Этот сеанс ориентирован на разработчиков и архитекторов, которые создают мультитенантные приложения или приложения SaaS, включая стартапы и независимые поставщики программного обеспечения.
Azure Friday - архитектура мультитенантных решений на платформе Azure (видео): В этом видео от Azure Friday описывается, как проектировать, создавать архитектуру и строить мультитенантные SaaS решения на базе Azure.
Ускорение и отмена риска перехода на SaaS (видео). Это видео содержит рекомендации по переходу к модели доставки SaaS, независимо от того, выполняете ли вы подъем и перенос существующее решение из локальной среды в Azure, учитывая мультитенантную архитектуру или модернизируя существующее веб-приложение SaaS.
Ресурсы для служб Azure
Используйте следующие ресурсы для создания мультитенантных архитектур в Azure.
Система управления и соответствие требованиям
Упорядочение нескольких подписок Azure и управление ими: важно учитывать, как управлять подписками Azure и выделять ресурсы клиента для подписок.
Взаимодействие с управлением несколькими клиентами. Как поставщик услуг можно использовать Azure Lighthouse для управления ресурсами для нескольких клиентов из собственного клиента Microsoft Entra. Многие задачи и службы можно выполнять в управляемых клиентах с помощью делегированного управления ресурсами Azure.
Управляемые Azure приложения. В управляемом приложении ресурсы развертываются в группе ресурсов, управляемой издателем приложения. Группа ресурсов расположена в подписке пользователя, но идентификатор в клиенте издателя имеет доступ к группе ресурсов.
Вычисление
Рекомендации по изоляции кластера в AKS: AKS обеспечивает гибкость в том, как можно запускать мультитенантные кластеры и изолировать ресурсы. Чтобы максимально увеличить инвестиции в Kubernetes, необходимо сначала понять и реализовать функции мультитенантности и изоляции AKS. В этой статье рассматриваются рекомендации по изоляции для операторов кластера.
Рекомендации по обеспечению безопасности и обновлению кластеров в AKS: При управлении кластерами в AKS ключевое внимание уделяется безопасности рабочих нагрузок и данных. При запуске мультитенантных кластеров с помощью логической изоляции защита доступа к ресурсам и рабочей нагрузке имеет решающее значение.
Сети
Приватный канал Azure
- объяснение и демонстрация службы Private Link Azure с точки зрения поставщика (SaaS ISV) и потребителя: видео, в котором рассматривается функция службы Private Link Azure, которая дает возможность мультитенантным поставщикам услуг, таким как независимые разработчики программного обеспечения, создавать продукты SaaS. Это решение позволяет потребителям получать доступ к службе поставщика с помощью частных IP-адресов из собственных виртуальных сетей Azure потребителя.
- протокол TCP-прокси версии 2 со службой приватного канала Azure— глубокое погружение: видео, представляющее собой подробный обзор протокола TCP-прокси версии 2, который является расширенной функцией службы приватного канала Azure. Это полезно в многопользовательских сценариях и сценариях SaaS. В видео показано, как включить протокол прокси версии 2 в службе Приватного канала Azure. В нем также показано, как настроить службу NGINX для чтения исходного частного IP-адреса исходного клиента, а не IP-адреса NAT для доступа к службе через частную конечную точку.
-
Использование NGINX Plus для декодирования TLV протокола прокси-сервера
linkIdentifier
из службы Azure Private Link: видео, которое показывает, как использовать NGINX Plus для получения TLV из протокола TCP-прокси версии 2 из службы Azure Private Link. В видео показано, как извлечь и декодировать числовое значениеlinkIdentifier
, также называемоеLINKID
, подключения к частной конечной точке. Это решение полезно для мультитенантных поставщиков, которым необходимо определить конкретного арендатора потребителя, с которого было установлено соединение. - шаблон частного подключения SaaS. Пример решения, демонстрирующего один подход к автоматизации утверждения подключений к частной конечной точке с помощью управляемых приложений Azure.
Интернет
- Маршрутизация на основе утверждений для решений SaaS. В этой статье описывается использование обратного прокси-сервера для упрощения маршрутизации клиентов и сопоставления запросов к клиентам, повышая управление внутренними службами в решениях SaaS.
Хранилище и данные
Проектирование и создание мультитенантных приложений SaaS в масштабе с помощью Azure Cosmos DB (видео): узнайте, как разрабатывать и оптимизировать мультитенантные приложения SaaS с помощью Azure Cosmos DB. В этом сеансе рассматриваются основные рекомендации по проектированию, связанные с изоляцией клиента, оптимизацией затрат и глобальным распределением. Содержимое этого сеанса актуально, независимо от того, есть ли у вас большое число арендаторов малого бизнеса B2C или небольшое число сильно искаженных тенантов B2B.
Azure Cosmos DB и мультитенантные системы: запись блога, которая описывает, как создать мультитенантную систему, использующую Azure Cosmos DB.
Иерархические ключи разделов Azure Cosmos DB. Используя иерархические ключи разделов, также известные как подпартионирование, вы можете естественно разделять контейнер с несколькими уровнями ключей разделов. Этот подход обеспечивает оптимальные стратегии разделения для мультитенантных сценариев или рабочих нагрузок, которые в противном случае будут использовать искусственные ключи разделов.
Шаблоны мультитенантной базы данных SaaS базы данных SQL Azure: набор статей, описывающих различные модели аренды, доступные для мультитенантного приложения SaaS с помощью базы данных SQL Azure.
Запуск 1 миллионов баз данных в SQL Azure для крупного поставщика SaaS: Microsoft Dynamics 365 и Power Platform: запись блога, описывающая, как команда Dynamics 365 управляет базами данных в масштабе.
Проектирование мультитенантной базы данных с помощью Azure Cosmos DB для PostgreSQL
Горизонтальное, вертикальное и функциональное разбиение данных: Во многих крупномасштабных и мультитенантных решениях данные делятся на секции, которые можно управлять и получать доступ к ним отдельно. Секционирование помогает улучшить масштабируемость, уменьшить количество конфликтов и оптимизировать производительность. Он также может предоставить механизм деления данных по шаблону использования и клиенту.
стратегии секционирования данных службой Azure. В этой статье описаны некоторые стратегии секционирования данных в различных хранилищах данных Azure.
Создание мультитенантных приложений с помощью базы данных Azure для PostgreSQL Hyperscale Citus (видео)
мультитенантные приложения с Azure Cosmos DB (видео)
Создание мультитенантного SaaS на основе Azure Cosmos DB и Azure (видео): реальный пример того, как Whally, мультитенантный стартап SaaS, создал современную платформу с нуля на Azure Cosmos DB и Azure. Whally показывает решения по проектированию и реализациям, которые они приняли, связанные с секционированием, моделированием данных, безопасной многопользовательской архитектурой, производительностью и потоковой передачей в режиме реального времени из канала изменений в SignalR, все используя с помощью ASP.NET Core в службах приложений Azure.
Многотенантные шаблоны проектирования для приложений SaaS на базе данных Azure SQL (видео)
Обмен сообщениями
домены службы Azure Event Grid: домены службы Azure Event Grid позволяют управлять многопользовательскими архитектурами событий в масштабе на уровне предприятия.
Взаимодействие между клиентами с помощью служебной шины Azure: пример реализации служебной шины Azure, которая показывает, как взаимодействовать между центральным поставщиком и одним или несколькими клиентами (или клиентами).
Идентичность
Тенантность в Идентификаторе Microsoft Entra ID: Идентификатор Microsoft Entra ID имеет собственную концепцию мультитенантности, которая означает работу в нескольких каталогах Microsoft Entra. Когда разработчики работают с приложениями Microsoft Entra, они могут настроить свое приложение как однотенантным, так и мультитенантным для поддержки различных сценариев.
Создание мультитенантной управляющей программы с конечной точкой платформы удостоверений Майкрософт. В этом примере приложения показано , как использовать конечную точку платформы удостоверений Майкрософт для доступа к данным бизнес-клиентов Майкрософт в длительном, неинтерактивном процессе. Он использует предоставление полномочий клиента OAuth2 для получения токена доступа, который затем используется для вызова Microsoft Graph и получения доступа к данным организации.
Аутентифицируйте и авторизуйте мультитенантные приложения с помощью Microsoft Entra ID.: Узнайте, как Microsoft Entra ID позволяет улучшить функциональные возможности облачно-родных приложений в мультитенантных сценариях.
Определение и реализация разрешений, ролей и областей с помощью идентификатора Microsoft Entra в решениях SaaS. В этой статье рассматриваются три основные понятия, связанные с проверкой подлинности и авторизацией Microsoft Entra, которые могут использовать поставщики SaaS. В ней рассматривается функциональность ролей приложения, делегированные разрешения приложения & и функциональность областей доступа.
Аналитика
- Решения для мультитенантности с помощью встроенной аналитики Power BI. При разработке мультитенантного приложения, содержащего Power BI Embedded, необходимо тщательно выбрать модель аренды, которая лучше всего соответствует вашим потребностям.
Интернет вещей
- Мультитенантность в Службе поставки устройств Центра Интернета вещей: В мультитенантных решениях Интернета вещей устройства арендаторов обычно назначаются с помощью группы центров Интернета вещей, которые распределены по регионам.
ИИ и машинное обучение
Руководство по проектированию безопасного мультитенантного решения для выводов Retrieval-Augmented Generation (RAG): в этом документе описывается применение шаблона RAG в мультитенантных решениях, где данные, специфичные для арендатора, должны использоваться для вывода данных.
Шаблоны проектирования для мультитенантных приложений SaaS и поиска ИИ Azure. В этом документе описываются стратегии изоляции клиентов для мультитенантных приложений, созданных с помощью поиска ИИ.
Решение для конвейера машинного обучения в многотенантном режиме. В этой записи блога описывается, как конвейеры машинного обучения Azure можно использовать для поддержки нескольких клиентов с помощью рабочих областей Машинного обучения Azure.
Контент сообщества
Kubernetes
Три модели аренды для Kubernetes: кластеры Kubernetes обычно используются несколькими командами в организации. В этой статье объясняется три модели аренды для Kubernetes.
Общие сведения о мультитенантности Kubernetes: Kubernetes не является мультитенантной системой из коробки. Для этого требуется настраиваемая конфигурация. В этой статье объясняется типы мультитенантности Kubernetes.
Руководство по мультитенантности Kubernetes. Многотенантность Kubernetes — это тема, которую организации все чаще интересуют, так как их использование Kubernetes распространяется. Однако, поскольку Kubernetes не является явно мультитенантной системой, это может быть сложно разработать мультитенантную реализацию Kubernetes. В этой статье описываются эти проблемы, способы их преодоления и некоторые полезные инструменты для мультитенантности Kubernetes.
Capsule: многотенантность Kubernetes стала проще: Capsule помогает реализовать многотенантную среду, основанную на политиках, в вашем кластере Kubernetes. Это не платформа как услуга (PaaS), а экосистема на основе микросервисов с минималистским подходом к проектированию, использующая только основной Kubernetes.
Кроссплан: платформа плоскости управления на основе облака: Кроссплан позволяет создавать плоскости управления для собственного решения с помощью подхода на основе Kubernetes.
Соавторы
Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.
Основные авторы:
- Джон Даунс | Главный инженер программного обеспечения
- Паоло Сальватори | Главный инженер клиента, FastTrack для Azure
- Арсен Владимирский | Главный инженер клиента, FastTrack для Azure
- LaBrina Loving | Главный менеджер-инженер по работе с клиентами, FastTrack для Azure
Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.