Внешний интерфейс для электронной коммерции

Внешняя идентификация Microsoft Entra
Сеть доставки содержимого Azure
Службы ИИ Azure
Azure Traffic Manager
Служба приложений Azure

В этом примере сценария описывается реализация внешнего интерфейса для электронной коммерции с помощью средств платформы как услуги (PaaS) Azure.

Архитектура

Схема, на котором показан пример архитектуры сценария для приложения электронной коммерции.

Скачайте файл Visio для этой архитектуры.

Поток данных

Этот сценарий охватывает покупку билетов с сайта электронной коммерции, данные передаются по сценарию следующим образом:

  1. Диспетчер трафика Azure направляет запрос пользователя на сайт электронной коммерции, размещенный в Службе приложений Azure.
  2. Azure CDN предоставляет пользователю статические изображения и содержимое.
  3. Пользователь выполняет вход в приложение через клиент Azure Active Directory B2C.
  4. Пользователь выполняет поиск концертов с помощью службы "Поиск Azure".
  5. Веб-сайт извлекает сведения о концерте из базы данных SQL Azure.
  6. Веб-сайт ссылается на изображения приобретенных билетов в хранилище BLOB-объектов.
  7. Результаты запроса базы данных кэшируются в кэш Azure для Redis, чтобы улучшить производительность.
  8. Пользователь отправляет заказы на билеты и отзывы о концертах, которые помещаются в очередь.
  9. Служба "Функции Azure" обрабатывает оплату заказа и отзывы о концертах.
  10. Службы Cognitive Services обеспечивают анализ отзывов о концертах для определения тональности (положительная или отрицательная).
  11. Application Insights предоставляет метрики производительности для наблюдения за работоспособностью веб-приложения.

Компоненты

  • Azure CDN. Для уменьшения задержки предоставляет статическое, кэшированное содержимое из близких к пользователям расположений.
  • Диспетчер трафика Azure. Управляет распределением пользовательского трафика между конечными точками службы в разных регионах Azure.
  • Службы приложений — веб-приложения. Размещает веб-приложения, позволяющие выполнять автоматическое масштабирование и обеспечивать высокую доступность без необходимости управлять инфраструктурой.
  • Azure Active Directory B2C — это служба управления удостоверениями, которая позволяет настраивать и контролировать способ регистрации, входа клиентов и управления профилями в приложении.
  • Очереди службы хранилища. Хранит большое количество сообщений в очереди, доступ к которым может получить приложение.
  • Функции. Это бессерверные параметры вычислений, которые позволяют приложениям запускаться по требованию без необходимости управления инфраструктурой.
  • Cognitive Services — анализ тональности. Используя API машинного обучения, разработчики могут легко добавлять в приложения интеллектуальные функции, например для определения эмоций и видео, распознавания лиц, речи и образов, а также речи и текста.
  • Поиск Azure – это облачное решение "поиск как услуга", которое предоставляет расширенные возможности при работе с конфиденциальным и разнородным содержимым веб-, мобильных и корпоративных приложений.
  • Хранилище BLOB-объектов оптимизировано для хранения больших объемов неструктурированных данных, например текстовых или двоичных данных.
  • Кэш Azure для Redis повышает производительность и масштабируемость систем, которые во многом полагаются на серверные хранилища данных, временно копируя часто используемые данные в быстрое хранилище, расположенное близко к приложению.
  • База данных SQL Azure — это управляемая служба реляционной базы данных общего назначения, которая поддерживает такие структуры, как реляционные данные, JSON, пространственные данные и XML.
  • Application Insights. Помогает постоянно улучшать производительность и удобство использования, автоматически обнаруживая аномалии производительности с помощью встроенных инструментов аналитики, чтобы определить действия пользователей с приложением.

Альтернативные варианты

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

Другие варианты для веб-уровня и функций:

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

Другие варианты для уровня данных:

  • Azure Cosmos DB: глобально распределенная база данных Майкрософт с несколькими моделями. Эта служба предоставляет платформу для запуска других моделей данных, таких как MongoDB, Cassandra, данные Graph или простое хранилище таблиц.

Подробности сценария

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

Этот документ поможет вам узнать о различных компонентах Azure PaaS и рекомендациях, которые используются для объединения компонентов и развертывания примера приложения электронной коммерции, Releasecloud Concerts, сетевой платформы по продаже билетов на концерты.

Потенциальные варианты использования

Это решение оптимизировано для розничной отрасли. Другие варианты использования:

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

Рекомендации

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая является набором руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Availability

Масштабируемость

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".

Устойчивость

Оптимизация затрат

Оптимизация затрат заключается в поиске способов уменьшения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".

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

Здесь предоставлено три примера профиля затрат в зависимости от объема трафика, который планируется принимать.

  • Малый. Этот профиль предполагает наличие компонентов, необходимых для создания минимального экземпляра уровня рабочей среды. Предполагается небольшое количество пользователей (несколько тысяч в месяц). Приложение использует один экземпляр стандартного веб-приложения, которого будет достаточно для автомасштабирования. Каждый из остальных компонентов масштабируется до базового уровня, что обеспечивает минимальную стоимость, поддержку в рамках Соглашения об уровне обслуживания и достаточную производительность для выполнения рабочей нагрузки в рабочей среде.
  • Средний. Этот профиль предполагает наличие компонентов развертывания среднего размера. По нашим оценкам систему в течении месяца использует приблизительно 100 000 пользователей. Ожидаемый трафик обрабатывается в одном экземпляре службы приложения со средним стандартным уровнем. Кроме того, в калькулятор добавляются средние уровни когнитивных и поисковых служб.
  • Большой. Этот профиль предполагает развертывание крупномасштабного приложения с миллионами пользователей в месяц и трафиком в терабайты данных. На этом уровне потребления требуются высокопроизводительные веб-приложения уровня "Премиум", развернутые во многих регионах, где работает диспетчер трафика. Передаются терабайты данных в хранилище, базы данных и сеть доставки содержимого.

Развертывание этого сценария

Для развертывания этого сценария вы можете следовать этому пошаговому руководству, демонстрирующему, как развернуть каждый компонент вручную. В этом руководстве также содержится пример приложения .NET, в котором используется простое приложение для приобретения билетов. Кроме того, доступен шаблон Resource Manager для автоматизации развертывания большей части ресурсов Azure.

Соавторы

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

Автор субъекта:

  • Крис Мейсон | Старший менеджер, программное проектирование

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