Поделиться через


Хорошо спроектированные рабочие нагрузки SaaS в Azure

Для создания и эксплуатации программного обеспечения как службы (SaaS) в Microsoft Azure требуется другой подход по сравнению с другими типами программного обеспечения. Независимые поставщики программного обеспечения (ISV) имеют уникальную позицию в облачной экосистеме, так как их решения SaaS управляют своим бизнесом. Они продают свои продукты бизнесу, также известному как бизнес-бизнес (B2B), или потребителям, также известным как бизнес-потребитель (B2C). Поставщики программного обеспечения обычно размещают и поддерживают решение SaaS, которое они создают. Их клиенты настраивают продукт и управляют данными.

Решение, созданное с помощью хорошо спроектированной платформы, гарантирует, что рабочая нагрузка может работать в масштабе. В этой серии статей содержатся основные сведения о создании масштабируемых, производительности, надежных и безопасных решений SaaS в Azure. Если вы еще не знакомы с хорошо спроектированной платформой, мы рекомендуем некоторое время узнать о своих принципах.

Ознакомьтесь с основами платформы Microsoft Azure Well-Architected Framework.

Что такое рабочая нагрузка SaaS?

Термин "рабочая нагрузка" относится к коллекции ресурсов приложений, которые поддерживают общую бизнес-цель или выполнение общего бизнес-процесса, с несколькими службами, такими как API и хранилища данных, работая вместе для обеспечения конкретных комплексных функциональных возможностей.

Термин SaaS относится к бизнес-модели доставки программного обеспечения как услуги. В качестве поставщика вы несете ответственность за доставку и эксплуатацию всего решения. Во время выполнения требований к изоляции клиентов, безопасности и соответствия требованиям необходимо тщательно управлять средами клиентов. Решения SaaS часто используют мультитенантную архитектуру, где ресурсы совместно используются несколькими клиентами. Этот подход влияет на проектирование и развертывание ресурсов, а также модель ценообразования, предлагаемую клиентам.

Каковы распространенные проблемы?

Microsoft Azure — это отличная платформа для доставки SaaS, обеспечивающая необходимую эластичность и масштабируемость. Она также предоставляет функции для автоматизации различных аспектов доставки SaaS. Однако доставка SaaS в Azure поставляется с собственным набором проблем:

  • Ожидания клиентов являются высокими, требовательными к качеству, безопасности и устойчивости. Для решений B2B вы, по сути, становится расширением ИТ-отделов клиентов, принимая на себя ответственность за поддержание работы и работоспособности решения. Для этого требуется переход от простого разработки программного обеспечения к его работе в масштабе.

  • Доставка SaaS означает балансировку собственных бизнес-потребностей с клиентами, которые иногда могут конфликтовить. Вы столкнетесь с давлением, чтобы снизить стоимость товаров, проданных (COGS) и повысить эффективность, в то время как клиенты требуют больше от вашего решения.

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

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

Какова модель зрелости для создания SaaS?

Организации по созданию продуктов SaaS обычно:

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

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

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

Как использовать это руководство?

Начните с методологии проектирования, которая описывает обоснование и повторяющиеся темы в технических и операционных областях. Этот систематический подход помогает определять требования и стратегии проектирования. Вернитесь к этой методологии при возникновении неопределенных вариантов, чтобы оставаться в соответствии с общими целями рабочей нагрузки. Кроме того, она предоставляет платформу для совместной работы с маркетинговыми и торговыми командами для проверки технических решений и включения отзывов клиентов для непрерывного улучшения.

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

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

Области проектирования
Управление выставлением счетов и затратами: оцените стратегию выставления счетов и ее влияние на стоимость проданных товаров (COGS). Модель и прогнозирование изменений затрат по мере масштабирования бизнеса SaaS. Ищите способы оптимизации затрат на облачные ресурсы.
Управление. Управление и регулирование использования облачной службы для создания безопасной среды Azure.
Организация ресурсов. Планирование развертывания ресурсов для поддержки требований к масштабированию и затратам.
Управление удостоверениями и доступом. Общие сведения об управлении удостоверениями в мультитенантной среде SaaS. Выберите соответствующего поставщика удостоверений и рассмотрите необходимость федерации с системами удостоверений клиентов.
Вычисление. Выберите вычислительную платформу, которая соответствует вашим потребностям. Планирование изоляции клиентов, масштабируемости и устойчивости.
Сеть. Планирование сетевого развертывания, включая топологию и защиту. Изоляция ресурсов между клиентами и соответствие требованиям к подключению, включая интеграцию с сетями и развертывание ресурсов в своих средах.
Данные. Выберите подходящее хранилище данных и план для изоляции данных клиентов при сохранении эффективности работы. Рассмотрите возможность планирования емкости на основе масштаба и роста и убедитесь, что данные соответствуют требованиям к устойчивости клиентов.
Методы DevOps: развертывание инфраструктуры и приложений для каждого клиента в соответствии с моделью аренды. Используйте структурированный подход для изменений, включая прогрессивные развертывания.
Управление инцидентами: создание обязанностей по работе SaaS и необходимых культурных элементов в организации. Подготовка к инцидентам путем инвестиций в средства и процессы для расследования, исправления и связи.

Используйте средство проверки оценки для оценки готовности оптимизированной рабочей нагрузки SaaS в рабочей среде.

Совет

Каждое решение архитектуры включает в себя ряд соображений и набор признанных компромиссов, которые балансируют различные аспекты платформы. Эти компромиссы указываются этим значком. .

Какие ресурсы доступны?

Мультитенантность — это основная бизнес-методология разработки рабочих нагрузок SaaS. Дополнительные сведения см. в этих дополнительных ресурсах.

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

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

Ознакомьтесь с методологией, необходимой для разработки рабочей нагрузки SaaS в Azure.