Ресурсы для архитекторов и разработчиков мультитенантных решений
Архитектура для мультитенантных приложений
В следующих статьях приведены примеры мультитенантных архитектур в Azure.
Архитектура | Итоги | Фокус на технологии |
---|---|---|
Мультитенантная saaS в Azure | Эталонная архитектура для мультитенантного сценария SaaS в Azure, который развертывается в нескольких регионах | Интернет |
Использование контроллера входящего трафика Шлюз приложений с мультитенантным Служба Azure Kubernetes (AKS) | Пример реализации мультитенантности с помощью AKS и AGIC | Kubernetes |
Все мультитенантные архитектуры | Список всех архитектур, включающих мультитенантность | Несколько |
Конструктивные шаблоны облачных решений
Следующие шаблоны проектирования облака часто используются в мультитенантных архитектурах.
Расписание | Итоги |
---|---|
Шаблон меток развертывания | Развертывание нескольких независимых копий (единиц масштабирования) компонентов приложения, включая хранилища данных. |
Федеративная идентификация | Делегирование проверки подлинности внешнему поставщику удостоверений. |
Привратник | Защита приложений и служб с помощью выделенного экземпляра узла, который выступает в качестве брокера между клиентами и приложением или службой, проверяет и очищает запросы, а также передает запросы и данные между ними. |
Выравнивание нагрузки на основе очередей | Используйте очередь, которая выступает в качестве буфера между задачей и вызываемой службой, чтобы сглаживать временные тяжелые нагрузки. |
Сегментирование | Вы можете разделить хранилище данных на несколько горизонтальных секций, которые называются сегментами. |
Регулирование | Управление потреблением ресурсов, используемых экземпляром приложения, отдельным клиентом или всей службой. |
Антишаблоны
Рассмотрим шумный антипаттерн соседа, в котором активность одного клиента может негативно повлиять на использование системы другого клиента.
Платформа Microsoft Azure с продуманной архитектурой
Несмотря на то, что для всех решений важно полное использование Платформы Azure Well-Architected Framework , обратите особое внимание на компонент надежности. Характер облачного размещения приводит к приложениям, которые часто мультитенантны, используют службы общей платформы, конкурируют за ресурсы и пропускную способность, обмениваются данными через Интернет и работают на сырьевых оборудованиях. Это повышает вероятность возникновения временных и более постоянных сбоев.
Рекомендации по многотенантной архитектуре
- Проектирование мультитенантных решений в Azure (видео). В этом видео рассматривается проектирование, проектирование, проектирование и создание мультитенантных решений в Azure. Если вы создаете продукт SaaS или другую мультитенантную службу, при планировании высокой производительности, изоляции клиентов и управлении развертываниями следует учитывать многое. Этот сеанс предназначен для разработчиков и архитекторов, которые создают мультитенантные или приложения SaaS, включая стартапы и поставщики программного обеспечения.
- Azure в пятницу — проектирование мультитенантных решений в Azure (видео). В этом видео из Azure в пятницу описывается проектирование, архитектор и создание мультитенантных решений программного обеспечения как услуга (SaaS) в Azure.
- Ускорение и отмена риска вашего путешествия в SaaS (видео): это видео содержит рекомендации по переходу на модель доставки как услуга (SaaS) — независимо от того, начинаете ли вы с отмены и смены существующего решения из локальной среды в Azure, учитывая мультитенантную архитектуру или стремясь модернизировать существующее веб-приложение SaaS.
Ресурсы для служб Azure
Система управления и соответствие требованиям
- Упорядочение нескольких подписок Azure и управление ими. Важно учитывать, как управлять подписками Azure, а также распределять ресурсы клиента для подписок.
- Взаимодействие с управлением несколькими клиентами: как поставщик услуг можно использовать Azure Lighthouse для управления ресурсами для нескольких клиентов из собственного клиента Microsoft Entra. Многие задачи и службы можно выполнять в управляемых клиентах с помощью делегированного управления ресурсами Azure.
- Управляемые приложения Azure. В управляемом приложении ресурсы развертываются в группе ресурсов, управляемой издателем приложения. Группа ресурсов расположена в подписке пользователя, но идентификатор в клиенте издателя имеет доступ к группе ресурсов.
Службы вычислений
- Рекомендации по изоляции кластера в Служба Azure Kubernetes (AKS): AKS обеспечивает гибкость в том, как можно запускать мультитенантные кластеры и изолировать ресурсы. Чтобы максимально увеличить инвестиции в Kubernetes, необходимо сначала понять и реализовать функции мультитенантности и изоляции AKS. Это статья содержит рекомендации по изоляции для операторов кластера.
- Рекомендации по обеспечению безопасности и обновлению кластера в Служба Azure Kubernetes. При управлении кластерами в Служба Azure Kubernetes (AKS), рабочей нагрузкой и безопасностью данных является ключевым фактором. При запуске мультитенантных кластеров с помощью логической изоляции особенно необходимо защитить доступ к ресурсам и рабочей нагрузке.
Сеть
Приватный канал
- Приватный канал Azure объяснения и демонстрации служб от поставщика (SaaS ISV) и потребительских перспектив: видео, которое смотрит на функцию службы Приватный канал Azure, которая позволяет мультитенантным поставщикам услуг (например, независимым поставщикам программного обеспечения создавать продукты SaaS). Это решение позволяет потребителям получать доступ к службе поставщика с помощью частных IP-адресов из собственных виртуальных сетей Azure потребителя.
- Протокол TCP-прокси версии 2 с Приватный канал Azure службой— глубокое погружение: видео, представляющее собой подробный обзор протокола TCP-прокси версии 2, который является расширенной функцией службы Приватный канал Azure. Это полезно в мультитенантных и сценариях SaaS. В видео показано, как включить протокол прокси версии 2 в службе Приватный канал Azure. В нем также показано, как настроить службу NGINX для чтения исходного частного IP-адреса исходного клиента, а не IP-адреса NAT для доступа к службе через частную конечную точку.
- Использование NGINX Plus для декодирования TLV
linkIdentifier
прокси-протокола из службы Приватный канал Azure: видео, которое проверяет, как использовать NGINX Plus для получения протокола TCP Proxy версии 2 TLV из службы Приватный канал Azure. В видео показано, как затем извлечь и декодировать числовой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. Используя иерархические ключи секции, также называемые подпартиями, вы можете самостоятельно секционировать контейнер с несколькими уровнями ключей секций. Это обеспечивает более оптимальные стратегии секционирования для мультитенантных сценариев или рабочих нагрузок, которые в противном случае будут использовать искусственные ключи секций.
- База данных SQL Azure шаблонов многотенантной базы данных SaaS: набор статей, описывающих различные модели аренды, доступные для мультитенантного приложения SaaS с помощью База данных SQL Azure.
- Запуск 1 миллионов баз данных в SQL Azure для крупного поставщика SaaS: Microsoft Dynamics 365 и Power Platform: запись блога, описывающая, как команда Dynamics 365 управляет базами данных в масштабе.
- Проектирование мультитенантной базы данных с помощью гипермасштабирования База данных Azure для 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 на База данных SQL Azure (видео)
Обмен сообщениями
- Сетка событий Azure домены: Сетка событий Azure домены позволяют управлять архитектурами мультитенантных событий в масштабе.
- служебная шина пример: обмен данными между клиентами с помощью Служебная шина Azure: пример реализации Служебная шина Azure, который показывает, как взаимодействовать между центральным поставщиком и одним или несколькими клиентами (клиентами).
Идентификация
- Клиентская деятельность в идентификаторе Microsoft Entra ID: Идентификатор Microsoft Entra имеет собственную концепцию мультитенантности, которая относится к работе в нескольких каталогах Microsoft Entra. Когда разработчики работают с приложениями Microsoft Entra, они могут настроить свое приложение как однотенантным, так и мультитенантным для поддержки различных сценариев.
- Пользовательское решение для удостоверений с помощью Azure AD B2C: Azure Active Directory B2C — это решение для управления доступом к удостоверениям клиента, которое может поддерживать миллионы пользователей и миллиарды аутентификаций в день.
- Создайте мультитенантную управляющую программу с помощью конечной точки платформа удостоверений Майкрософт: в этом примере приложения показано, как использовать конечную точку платформа удостоверений Майкрософт для доступа к данным бизнес-клиентов Майкрософт в длительном, не интерактивном процессе. Он использует учетные данные клиента OAuth2 для получения маркера доступа, который затем используется для вызова Microsoft Graph и доступа к данным организации.
- Проверка подлинности и авторизация мультитенантных приложений с помощью идентификатора Microsoft Entra: узнайте, как идентификатор Microsoft Entra позволяет улучшить функциональные возможности облачных приложений в мультитенантных сценариях.
- Пошаговое руководство по архитектуре Azure. Создание мультитенантной архитектуры Azure для сценария B2C: пошаговое руководство по архитектуре мультитенантного мобильного приложения с помощью Azure Active Directory B2C и Управление API.
- Определение и реализация разрешений, ролей и областей с помощью идентификатора Microsoft Entra в решении SaaS. В этой статье рассматриваются три основные понятия, связанные с проверкой подлинности и авторизацией Microsoft Entra, которые могут использоваться поставщиками SaaS. В ней рассматриваются функции ролей приложений, делегированные и разрешения приложения и функциональные возможности областей.
Аналитика
- Решения для мультитенантности с помощью встроенной аналитики Power BI. При проектировании мультитенантного приложения, содержащего Power BI Embedded, необходимо тщательно выбрать модель аренды, которая лучше всего соответствует вашим потребностям.
IoT
- Мультитенантность в службе подготовки устройств Центр Интернета вещей: мультитенантное решение Интернета вещей обычно назначает устройства клиента с помощью группы центров Интернета вещей, которые распределяются по регионам.
Искусственный интеллект и машинное обучение
- Шаблоны проектирования для мультитенантных приложений SaaS и Когнитивный поиск Azure. В этом документе рассматриваются стратегии изоляции клиентов для мультитенантных приложений, созданных с помощью Когнитивный поиск Azure.
- Решение для конвейера машинного обучения в многотенантном режиме. В этой записи блога описывается, как Машинное обучение Azure конвейеры могут быть разработаны для поддержки нескольких клиентов с помощью рабочих областей Машинное обучение Azure.
Контент сообщества
Kubernetes
- Три модели аренды для Kubernetes: кластеры Kubernetes обычно используются несколькими командами в организации. В этой статье объясняется три модели аренды для Kubernetes.
- Общие сведения о мультитенантности Kubernetes: Kubernetes не является мультитенантной системой из поля и требует настраиваемой настройки. В этой статье объясняется типы мультитенантности Kubernetes.
- Kubernetes Multi-Tenancy — руководство по использованию мультитенантности Kubernetes — это тема, которую организации все чаще интересуют, так как их использование Kubernetes распространяется. Однако, поскольку Kubernetes не является явно мультитенантной системой, это может быть сложно разработать мультитенантную реализацию Kubernetes. В этой статье описываются эти проблемы и способы их преодоления, а также некоторые полезные инструменты для мультитенантности Kubernetes.
- Капсула: Многотенантность Kubernetes была простой: капсула помогает реализовать многотенантную среду и среду на основе политик в кластере Kubernetes. Это не платформа как услуга (PaaS), но вместо этого является экосистемой на основе микрослужб с минималистским подходом к проектированию, используя только вышестоящий Kubernetes.
- Кроссплан: платформа плоскости собственного облака: Кроссплан позволяет создавать плоскости управления для собственного решения с помощью подхода на основе Kubernetes.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Основные авторы:
- Джон Даунс | Главный инженер программного обеспечения
- Паоло Сальватори | Главный инженер клиента, FastTrack для Azure
- Арсен Владимирский | Главный инженер клиента, FastTrack для Azure
- Лабрина Любя | Главный менеджер по проектированию клиентов, FastTrack для Azure
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.