Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При создании мультитенантного решения в Azure необходимо учитывать множество элементов. Используйте этот контрольный список в качестве отправной точки, чтобы помочь вам разработать и создать мультитенантное решение. Этот контрольный список является вспомогательным ресурсом по проектированию мультитенантных решений на платформе Azure в серии статей. Контрольный список структурирован вокруг бизнес-и технических соображений и пяти основных компонентов Azure Well-Architected Framework.
Подсказка
Пройдя этот контрольный список, пройдите SaaS Journey Review, чтобы оценить ваш продукт SaaS, проанализировав ваше понимание мультитенантной архитектуры и ее соответствие лучшим практикам работы SaaS.
Рекомендации по бизнесу
Изучите тип создаваемого решения, например бизнес-бизнес (B2B), бизнес-потребитель (B2C) или корпоративное программное обеспечение, а также то, как клиенты отличаются от пользователей.
Определите арендаторов. Узнайте, сколько клиентов вы изначально поддерживаете и определяете планы роста.
Определите модель ценообразования и убедитесь, что она соответствует использованию ресурсов Azure клиентами.
Узнайте, нужно ли разделять клиентов на разные уровни. Уровни могут иметь разные цены, функции, обещания производительности и географические расположения.
На основе требований клиентов определите модели аренды , подходящие для различных частей решения.
Когда вы будете готовы, продайте многопользовательское решение B2B с помощью коммерческой платформы Microsoft.
Рекомендации по надежности
Просмотрите контрольный список надежностиWell-Architected Framework, который применим ко всем рабочим нагрузкам.
Понять антипаттерн «шумный сосед». Запретить отдельным клиентам влиять на доступность системы для других клиентов.
Разработайте мультитенантное решение для ожидаемого уровня роста. Но не усложняйте из-за нереалистичных ожиданий роста.
Определите цели уровня обслуживания (SLOs) и, при необходимости, соглашения об уровне обслуживания (SLAs) для вашего решения. Соглашения об уровне обслуживания и показатели уровня обслуживания должны основываться на требованиях клиентов.
Проверьте масштаб решения. Убедитесь, что он работает хорошо под всеми уровнями нагрузки и правильно масштабируется по мере увеличения числа клиентов.
Применение принципов проектирования хаоса для проверки надежности решения.
Вопросы безопасности
Применение принципов нулевого доверия и минимальных привилегий во всех уровнях решения.
Убедитесь, что вы можете правильно сопоставить запросы пользователей с клиентами. Рассмотрите возможность включения контекста арендатора в систему идентификации или с помощью другого метода, например авторизация арендатора на уровне приложения.
Проектирование изоляции арендаторов. Непрерывно тестируйте модель изоляции.
Убедитесь, что код приложения предотвращает доступ между клиентами или утечку данных.
Выполняйте текущие проверки на проникновение и проверки кода безопасности.
Ознакомьтесь с требованиями к соответствию клиентов, включая размещение данных и любые нормативные стандарты, которые им требуются.
Правильное управление именами доменов и избегание уязвимостей, таких как повисшие уязвимости в системе доменных имен и атаки захвата поддоменов.
Следуйте рекомендациям для конкретной службы по мультитенантности.
Рекомендации по оптимизации затрат
Ознакомьтесь с контрольным списком оптимизации затратWell-Architected Framework, применимым ко всем рабочим нагрузкам.
Убедитесь, что вы можете адекватно измерять потребление для каждого клиента и сопоставлять их с затратами на инфраструктуру.
Избегайте антипаттернов. Антипаттерны включают неспособность отслеживать затраты, отслеживать затраты с ненужной точностью, использовать измерение в режиме реального времени и использовать средства мониторинга для выставления счетов.
Рекомендации по операционному превосходству
Используйте автоматизацию для управления жизненным циклом клиента, например подключением , развертыванием, подготовкой и конфигурацией.
Поймите различия между плоскостью управления и плоскостью данных в вашем мультитенантном решении.
Найдите правильный баланс для развертывания обновлений службы. Рассмотрите как требования клиентов, так и ваши собственные операционные требования.
Отслеживайте работоспособность всей системы и каждого клиента.
Настройте и проверьте оповещения, чтобы уведомить вас о проблемах с определенными клиентами или превышении ограничений потребления.
Упорядочение ресурсов Azure для изоляции и масштабирования.
Избегайте развертывания и конфигурации антипаттернов. Антипаттерны включают выполнение отдельных версий решения для каждого клиента, жесткую кодировку конфигураций или логики для конкретного клиента, а также необходимость ручного развертывания.
Рекомендации по эффективности производительности
Просмотрите контрольный список эффективности производительности фреймворкаWell-Architected, который применим ко всем рабочим нагрузкам.
Если вы используете общую инфраструктуру, спланируйте, как устранить шумные проблемы соседей . Убедитесь, что один клиент не может снизить производительность системы для других клиентов.
Определите, как масштабировать вычислительные ресурсы, хранилище, сеть и другие ресурсы Azure для соответствия требованиям клиентов.
Рассмотрим ограничения масштабирования для каждого ресурса Azure. Упорядочение ресурсов соответствующим образом, чтобы избежать антипаттернов организации ресурсов. Например, не перепроектируйте решение, чтобы работать в нереалистических требованиях к масштабированию.
Соавторы
Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.
Основные авторы:
- Арсен Владимирский | Главный инженер клиента
- Богдан Черчик | Старший инженер клиента
Другой участник:
- Джон Даунс | Главный инженер по программному обеспечению, шаблоны и практики Azure
Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.