Контрольный список для проектирования и создания мультитенантных решений в Azure

При создании мультитенантного решения в Azure необходимо учитывать множество элементов. Используйте этот контрольный список в качестве отправной точки, чтобы помочь вам разработать и создать мультитенантное решение. Этот контрольный список является вспомогательным ресурсом для мультитенантных решений архитекторов в серии статей Azure . Контрольный список структурирован вокруг бизнес-и технических соображений, а также пять основных компонентов платформы Azure Well-Architected Framework.

Совет

Пройдя этот контрольный список, ознакомьтесь с обзором решения SaaS, чтобы оценить продукт SaaS , проанализировав мультитенантную архитектуру и ее соответствие рекомендациям по работе SaaS.

Деловые соображения

  • Узнайте, какое решение вы создаете, например бизнес-бизнес (B2B), бизнес-потребитель (B2C) или корпоративное программное обеспечение, а также как клиенты отличаются от пользователей.
  • Определите клиентов. Узнайте, сколько клиентов вы будете поддерживать изначально, а также планы роста.
  • Определите модель ценообразования и убедитесь, что она соответствует использованию ресурсов Azure клиентами.
  • Узнайте, нужно ли разделять клиентов на разные уровни. Уровни могут иметь разные цены, функции, обещания производительности, географические расположения и т. д.
  • На основе требований клиентов определите модели аренды, подходящие для различных частей решения.
  • Когда вы будете готовы, продать мультитенантное решение B2B с помощью Microsoft Commercial Marketplace.

Рекомендации по надежности

Вопросы безопасности

  • Применение принципов нулевого доверия и минимальных привилегий во всех уровнях решения.
  • Убедитесь, что вы можете правильно сопоставить запросы пользователей с клиентами. Рассмотрите возможность включения контекста клиента в состав системы удостоверений или с помощью других средств, таких как авторизация клиента на уровне приложения.
  • Проектирование изоляции клиента. Непрерывно тестируйте модель изоляции.
  • Убедитесь, что код приложения предотвращает доступ между клиентами или утечку данных.
  • Выполняйте текущие проверки на проникновение и проверки кода безопасности.
  • Ознакомьтесь с требованиями к соответствию клиентов, включая размещение данных и любые нормативные стандарты, которые им требуются.
  • Правильное управление именами доменов и избегайте уязвимостей, таких как переключение DNS и поддомена атак.
  • Следуйте указаниям по мультитенантности для конкретной службы.

Рекомендации по оптимизации затрат

  • Ознакомьтесь с контрольным списком хорошо спроектированной оптимизации затрат Azure, который применим ко всем рабочим нагрузкам.
  • Убедитесь, что вы можете адекватно измерять потребление для каждого клиента и сопоставлять их с затратами на инфраструктуру.
  • Избегайте антипаттернов. Антипаттерны включают неспособность отслеживать затраты, отслеживать затраты с ненужной точностью, измерением в режиме реального времени и использовать средства мониторинга для выставления счетов.

Рекомендации по операционному превосходству

  • Используйте автоматизацию для управления жизненным циклом клиента, например подключением, развертыванием, подготовкой и конфигурацией.
  • Общие сведения о различиях между плоскостями управления и плоскостями данных в мультитенантном решении.
  • Найдите правильный баланс для развертывания обновлений службы. Рассмотрите как требования клиентов, так и ваши собственные операционные требования.
  • Отслеживайте работоспособность всей системы, а также каждого клиента.
  • Настройте и проверьте оповещения, чтобы уведомить вас о возникновении проблем с конкретными клиентами или превышении ограничений потребления.
  • Упорядочение ресурсов Azure для изоляции и масштабирования.
  • Избегайте защиты от развертывания и конфигурации. Антипаттерны включают выполнение отдельных версий решения для каждого клиента, жесткое кодирование конфигураций или логики клиента и развертывание вручную.

Рекомендации по эффективности производительности

  • Ознакомьтесь с контрольным списком производительности Azure Well-Architected Performancey, который применим ко всем рабочим нагрузкам.
  • Если вы используете общую инфраструктуру, спланируйте, как устранить проблемы с шумным соседом . Убедитесь, что один клиент не может снизить производительность системы для других клиентов.
  • Определите, как масштабировать вычислительные ресурсы, хранилище, сеть и другие ресурсы Azure в соответствии с требованиями клиентов.
  • Рассмотрите ограничения масштаба каждого ресурса Azure. Упорядочение ресурсов соответствующим образом, чтобы избежать антипаттернов организации ресурсов. Например, не перепроектируйте решение, чтобы работать в нереалистических требованиях к масштабированию.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.

Основные авторы:

Другой участник:

  • Джон Даунс | Главный инженер программного обеспечения

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Следующие шаги