Методология проектирования рабочих нагрузок SaaS в Azure
Независимые поставщики программного обеспечения (ISV) должны тщательно планировать требования своего программного обеспечения как услуги (SaaS), учитывая, что решение является их бизнесом. Бизнес-клиенты, такие как другие предприятия или отдельные потребители, являются прямыми пользователями решения. Эта бизнес-модель задает высокие ожидания, так как необходимо учитывать как требования рабочей нагрузки, так и потребности клиентов в качестве архитектора дизайна.
В этой статье описывается методология проектирования, которую можно использовать для систематического определения и уточнения требований. Если вы не уверены в различных вариантах проектирования и технологий, вернитесь к этой методологии, чтобы оставаться в соответствии с бизнес-требованиями. Создание рабочей нагрузки SaaS — это итеративный процесс, который требует гибкости для адаптации к развивающимся рынкам и потребностям клиентов. Эта платформа поможет вам сотрудничать с отделами маркетинга и продаж для проверки технических решений и оценки отзывов клиентов для непрерывного улучшения.
Проектирование бизнес-модели
Важно понять, как бизнес-требования влияют на ваше решение ниже. Рассмотрим следующие моменты принятия решений:
Расположение, в котором развертываются ресурсы, ограничивает шаблоны архитектуры, которые можно использовать. Вы можете развернуть все ресурсы в подписках Azure или клиенты могут приобрести решение и развернуть его в своих подписках Azure. Кроме того, рабочая нагрузка может использовать ресурсы, развертываемые клиентом в подписках Azure.
Например, при развертывании программного обеспечения в среде клиента нельзя использовать шаблон архитектуры, основанный только на общих ресурсах, так как у каждого клиента есть отдельная среда с выделенными ресурсами.
Ваша модель ценообразования определяет доход вашего бизнеса, который, в свою очередь, влияет на допустимые затраты на товары, проданные. Эта динамическая функция напрямую влияет на техническую архитектуру.
Дополнительные сведения см. в разделе "Модель ценообразования".
Функции или продукты, предоставляемые вами, могут повлиять на архитектуру. При выборе конкретных функций может потребоваться внести изменения или дополнения в техническую архитектуру. Предоставление различных продуктов различным клиентам также может привести к более сложной архитектуре, так как она должна поддерживать эти варианты.
Проектирование требований клиента
Разработка решения с учетом требований клиентов. Клиенты могут иметь дополнительные требования к своему решению, что создает надмножество, которое должно соответствовать вашему решению. Эти дополнительные требования иногда могут конфликтовить с вашими бизнес-потребностями или потребностями других клиентов. Если эти требования отличаются от ваших бизнес-потребностей или добавляют дополнительные ограничения, принятие решений для решения может быть сложным. Например, ваше решение может соответствовать вашим стандартам безопасности, но у клиента могут быть более строгие требования к безопасности, которые необходимо выполнить для защиты своего бизнеса.
Создайте гибкую архитектуру для удовлетворения этих дополнительных требований. Если требования клиентов не влияют на ваши собственные требования, попробуйте интегрировать их в бизнес-модель. Вычислите стоимость этих корректировк. Если уникальные требования клиента требуют дополнительных расходов, рассмотрите возможность ему взимать соответствующие расходы.
Убедитесь, что у вас есть реалистичные целевые показатели надежности, которые соответствуют ожиданиям клиентов, и разработайте архитектуру для их достижения.
Проектирование модели аренды
Большинство решений SaaS полагаются на мультитенантность в качестве основной технической стратегии для повышения эффективности затрат. Мультитенантность включает в себя ряд вариантов, которые не имеют стандартных шаблонов. Модель аренды влияет на аспекты архитектуры, включая затраты на управление, затраты и изоляцию данных. Найдите правильный баланс для решения. Выбранная модель аренды имеет решающее значение, так как она должна сбалансировать потребности клиентов и бизнеса.
Чтобы помочь вам принять обоснованные решения, ознакомьтесь со следующими статьями:
Архитектура должна иметь гибкость для изменения модели аренды на основе новых или входящих требований клиентов. Например, вы можете использовать полностью мультитенантную архитектуру, но получить нового клиента в строго регулируемых отраслях, которым требуется дополнительная безопасность. Вы можете вертикально секционировать развертывание, чтобы предоставить выделенную метку. Это изменение вызывает бизнес-решение о том, следует ли платить больше, чем другие клиенты. Эта настройка повышает затраты на ресурсы и сложность, поэтому для них требуется платить больше.
Проектирование, чтобы быть хорошо архитектором
При разработке рабочей нагрузки SaaS используйте дополнительную помощь, чтобы обеспечить устойчивость, безопасность, эффективность, производительность и балансировку требований клиентов. В отличие от корпоративных приложений, сбои в приложении SaaS также могут повлиять на бизнес, клиентов и их пользователей.
Для каждого решения оцените компромиссы между столпами Azure Well-Architected Framework. Сведения о стратегических подходах для каждого компонента см. в разделе "Принципы проектирования".
Разработка с учетом эксплуатации
Для операций рабочей нагрузки SaaS требуется другая перспектива. Необходимо учитывать такие факторы, как возможность поддержки. Определите, как обеспечить поддержку платформы для всех дней и нанять людей с правильным набором навыков. Не рассматривайте операции как последнюю или сосредоточьтесь только на создании новых функций. Включите операсти в свой дизайн с самого начала. Рассмотрим, как масштабируйте процессы по мере получения большего объема клиентов. Например, операции вручную могут работать сначала, но они обычно не масштабируются с течением времени.
Если у вас есть устаревшая платформа, рассмотрите возможность перемещения клиентов на новую платформу SaaS. Путь плавной миграции является ключом к поддержанию удовлетворения клиентов во время бизнес-трансформации.