Перенос решения электронной коммерции в Azure
Введение
Перемещение существующего решения электронной коммерции в облако имеет много преимуществ для корпорации: оно способствует масштабируемости, предлагает клиентам возможность доступа 24/7 и легкость в интеграции с облачными сервисами. Перемещение решения для электронной коммерции в облако является сложной задачей, требующей затрат, которые нужно учитывать, принимая решение. Эта статья описывает область миграции Azure, предоставляя вам информацию о параметрах. На первом этапе ИТ-специалисты перемещают компоненты в облако. Когда вы находитесь в Azure, мы описываем шаги, которые может предпринять команда электронной коммерции, чтобы повысить рентабельность инвестиций (ROI) и воспользоваться преимуществами облака.
На распутье
Несмотря на то что транзакции электронной коммерции составляют только небольшую часть общего объема розничных продаж, показатели этого канала продолжают з каждым годом расти. По состоянию на 2024 год продажи электронной коммерции составляют пятую часть общего объема розничных продаж, что на 8,6% в 2016 году ( источник). Как электронная коммерция зрела, наряду с появлением облачных вычислений, розничные торговцы находятся на перекрестке. Им нужно принять несколько решений. Они могут задумать бизнес-модель с новыми возможностями с использованием технологий, а также запланировать модернизацию в связи с текущей занимаемой памятью возможности.
Улучшение взаимодействия с клиентом
Электронная коммерция, сфокусированная на взаимодействии с клиентом, имеет множество положительных качеств. Эти атрибуты можно сгруппировать в четыре основные области: обнаружение, оценка, покупка и после покупки.
Реакция клиента собирается в виде данных. Воронка покупок — это коллекция точек подключения к приложениям, используемым для просмотра данных о продуктах, транзакциях, инвентаризации, доставке, выполнении заказов, профиле клиента, корзине покупок и рекомендациях по продуктам.
Типичный розничный бизнес использует большую коллекцию программных решений, которые варьируются от клиентских приложений до базовых приложений. На рисунке, приведенном ниже, отображаются функции обычных предприятий розничной торговли.
Облако предоставляет возможность изменять то, как организация приобретает, использует и распоряжается технологиями. Среди других преимуществ: уменьшение расходов на поддержание центров обработки данных, улучшение надежности и производительности, а также возможность добавлять другие устройства. В этом варианте использования ми рассматриваем пути, которые могут избрать предприятия розничной торговли для переноса существующей инфраструктуры в Azure. Мы также используем преимущества новой среды с помощью поэтапного подхода к повторному размещению, рефакторингу и перестроению. Используя этот подход, можно соблюдать очередность этапов, но в большинстве случаев организация может начать модернизацию с любого из этапов. Организации могут отказаться от повторного размещения текущего приложения в Azure и сразу перейти к этапу рефакторинга или даже к перестройке. Это решение будет зависеть от конкретного приложения и организации, чтобы удовлетворить потребности в модернизации наилучшим образом.
Повторное размещение
Также называется "лифт и смена", этот этап подразумевает перенос физических серверов и виртуальных машин как есть в облако. Всего за счет переноса серверной среды в IaaS можно получить преимущества уменьшения затрат, безопасности и повышения надежности. Экономия образуется за счет таких техник, как выполнение рабочих нагрузок на виртуальных машинах соответствующих размеров. Сегодня возможности локальных виртуальных и физических машин зачастую превышают ежедневные потребности поставщиков программных продуктов. Виртуальные машины должны справляться с сезонными пиками бизнес-активности, которые возникают всего несколько раз в году. Таким образом, вы платите за неиспользуемые возможности во время сезона затишья. С Azure вы сможете избрать размер виртуальной машины в соответствии с потребностями вашего текущего промышленного цикла.
Чтобы осуществить повторное размещение в Azure, нужно выполнить следующие три этапа.
- Анализ: определение и инвентаризация локальных ресурсов (программ, рабочих нагрузок, сети и безопасности). По окончанию этого этапа имеется полная документация существующей системы.
- Миграция: перемещение каждой подсистемы из локальной среды в Azure. На этом этапе вы будете использовать Azure в качестве расширения центра обработки данных с приложениями, продолжающими взаимодействовать.
- Оптимизация: во время перемещения системы в Azure убедитесь, что все элементы имеют подходящие размеры. Если в среде слишком много ресурсов, выделенных в некоторых виртуальных машинах, подберите тип виртуальной машины в соответствии с сочетанием ЦП, памяти и локального хранилища.
Анализ
Выполните следующие шаги:
- Составьте список локальных серверов и приложений. Этот процесс использует агент или средство управления для сбора метаданных о серверах, приложениях, работающих на серверах, текущем использовании сервера и настройке серверов и их приложений. Результатом является отчет обо всех серверах и приложениях в среде.
- Определите зависимости. Используйте инструментарий для определения взаимодействий серверов или приложений друг с другом. Вы получите одну или несколько карт со всеми приложениями и рабочими нагрузками. Эти карты поступают в план перемещения.
- Анализируйте конфигурации. Нужно узнать, какие виртуальные машины вам потребуются во время роботы в Azure. Вы получите отчет обо всех приложениях, которые можно переместить в Azure. Их можно классифицировать следующим образом:
- Без изменений
- С базовыми изменениями (изменения названия)
- С небольшими изменениями (небольшие изменения в коде)
- Несовместимые рабочие нагрузки, требующие дополнительных усилий для перемещения
- Создайте бюджет. Теперь вы имеете список со всеми ЦП, включая память и другие, и со всеми требованиями для каждого приложения. Разместите эти рабочие нагрузки на соответствующие по размеру виртуальные машины. Затраты на счет облачной платформы основаны на использовании. Инструментарий существует для сопоставления ваших потребностей с виртуальными машинами Azure соответствующих размеров. Если вы переносите виртуальные машины Windows или SQL Server, вы также должны ознакомиться с Преимущество гибридного использования Azure, что снижает расходы на Azure.
Корпорация Майкрософт предоставляет несколько средств для анализа и каталогизации ваших систем. При запуске VMware можно использовать службу "Миграция Azure", чтобы помочь в обнаружении и оценке. Это средство определяет машины, которые можно переместить в Azure, рекомендует тип виртуальных машин для запуска и рассчитывает стоимость рабочей нагрузки. Для сред Hyper-V используйте Планировщик развертывания Azure Site Recovery. Для больших миграций, в которых необходимо переместить сотни или более виртуальных машин, вы можете работать с партнером по миграции Azure. Они обладают нужным опытом и имеют специальные знания необходимые для перемещения ваших рабочих нагрузок.
Миграция
Приступите к планированию, какие сервисы и в каком порядке перемещать на облако. В связи с тем, что на этом этапе нужно перемещать рабочие нагрузки, следуйте указаниям в таком следующем порядке.
- Разработайте сеть.
- Включение системы удостоверений (идентификатор Microsoft Entra ID).
- Предоставьте единицы хранения в Azure.
Во время перемещения среда Azure становится продолжением вашей локальной сети. Логические сети можно подсоединить к виртуальной сети Azure, как это сделать, см. здесь. Вы можете использовать Документацию по ExpressRoute, чтобы создать закрытое подключение между вашей сетью и Azure, не выходя в интернет. Также можно использовать VPN-подключение "сеть – сеть" для соединений VPN-шлюза Azure с локальным VPN-устройством, используя зашифрованное подключение для отправки всего трафика. Чтобы установить это подключение, следуйте инструкциям по настройке expressRoute и соединений типа "сеть — сеть".
После настройки сети запланируйте непрерывность бизнес-процессов. Рекомендуем использовать репликацию в реальном времени для перемещения ваших локальных данных в облако и убедиться, что облако соответствует существующим данным. Магазины электронной коммерции никогда не закрываются. Дублирование позволяет переходить с локальной среды в Azure с минимальными последствиями для ваших клиентов.
Начните перемещение данных, приложений и связанных серверов в Azure. Много компаний используют службу Azure Site Recovery при перемещении в Azure. Эта служба обеспечивает непрерывность бизнес-процессов и аварийное восстановление (BCDR). Она идеально подходит для миграции с локальной среды в Azure. Ваша команда реализации должна прочитать миграцию локальных компьютеров в Azure.
После того как перемещение подсистемы в Azure закончено, убедитесь, что все работает правильно. Когда все проблемы решены, переместите рабочие нагрузки в Azure.
Оптимизация
На этом этапе вы будете продолжать отслеживать среду и изменять базовые параметры вычислений в соответствии с рабочими нагрузками при изменении среды. Кто бы не следил за состоянием среды, он должен обратить внимание на масштабы использования каждого из ресурсов. Целью является достичь нагрузки 75–90% на большинстве виртуальных машин. Возьмите во внимание возможность упаковывания виртуальных машин с особенно низкой нагрузкой вместе с другими приложениями или переход к меньшей стоимости виртуальных машин в Azure, сохраняя при этом уровень производительности.
Azure также предоставляет средства для оптимизации среды. Помощник по Azure следит за компонентами вашей среды и предоставляет персонализированные рекомендации с учетом передовой практики. Рекомендации помогут вам повысить производительность, безопасность и доступность ресурсов, поддерживающих ваши приложения. Портал Azure также предоставляет информацию о состоянии ваших приложений. Расширения и компоненты виртуальной машины Azure нужно использовать вместе с вашими виртуальными машинами. Эти расширения предоставляют настройку после развертывания, антивирус, мониторинг приложений и другое. Можно также воспользоваться преимуществами многих других служб Azure для диагностики сетей, использования службы и оповещения с помощью таких служб: Наблюдатель за сетями, Сопоставление служб , Application Insights и Log Analytics.
Пока часть организации занимается оптимизацией системы в Azure, группа разработчиков может начать этап после перемещения: рефакторинг.
Рефакторинг
После завершения перемещения ваше приложение электронной коммерции может начать пользоваться всеми преимуществами работы с Azure. Нет необходимости ждать полного завершения перемещения среды для начала этапа рефакторинга. Если команда CMS уже мигрировала, а команда ERP — нет, то это не проблема. Команда CMS может начать попытки рефакторинга. На этом этапе также используют дополнительные службы Azure для оптимизации стоимости, надежности и производительности с помощью рефакторинга ваших приложений. Тогда как в методике lift and shift использовалось только оборудование и ОС, управляемые поставщиком, то в этой модели вы также можете воспользоваться облачной службой для сокращения затрат. Можно продолжать использовать текущее приложение с некоторыми небольшими изменениями кода приложения или конфигурации и подключить приложение к новым службам инфраструктуры: контейнерам, базам данных и системам управления удостоверениями.
Рефакторинг вносит незначительные изменения в код или конфигурацию. Вы будете сосредоточиться на большем времени на автоматизации, поскольку технологии, принятые на этом этапе, используют скрипты для создания и развертывания ресурсов; Инструкции по развертыванию — это скрипт.
Хотя можно использовать много различных служб Azure, далее мы рассмотрим следующие службы, применяемые на этом этапе: контейнеры, службы приложений и службы баз данных. Почему нужен рефакторинг? Рефакторинг предоставляет крепкую основу кода, что позволяет сократить долгосрочные затраты за счет сохранения кодового долга в разумных пределах.
Контейнеры предоставляют способ упаковать приложения. Благодаря способу виртуализации операционной системы несколько контейнеров можно упаковать в одну виртуальную машину. Приложение можно переместить в контейнер с несколькими изменениями или даже без них в коде, однако вам могут понадобиться изменения конфигурации. Это также приводит к написанию скриптов, которые объединяют приложения в контейнер. Группа разработчиков во время рефакторинга займется написанием и тестированием этих скриптов. Azure поддерживает контейнеризацию с помощью службы Azure Kubernetes (AKS) и также реестра контейнеров Azure, которые можно использовать для управления образами контейнера.
Для служб приложений можно воспользоваться преимуществами различных служб Azure. Например, существующая инфраструктура может обработать заказ клиента путем помещения сообщения в очередь, как RabbitMQ. (Например, одно сообщение заключается в том, чтобы заряжать клиента, второе — отправить заказ.) При повторном размещении вы помещаете RabbitMQ в отдельную виртуальную машину. Во время рефакторинга можно добавить в решение служебная шина очередь или раздел. На этом этапе можно переписать код RabbitMQ и остановить использование виртуальных машин, обслуживающих функции очереди. Если невозможно переписать весь код одновременно, можно использовать такие шаблоны, как мост обмена сообщениями, чтобы преодолеть разрыв между очередями обмена сообщениями. Это позволяет перенести конечные точки по одному, а не сразу. В любом случае, когда все конечные точки были перенесены в Служебная шина Azure, это заменяет набор виртуальных машин постоянной службой очереди сообщений для более низкой стоимости. Другие службы приложений можно найти в портал Azure.
Базы данных можно переместить с виртуальной машины в службу. поддержка Azure рабочие нагрузки SQL Server с База данных SQL Azure и Управляемый экземпляр SQL Azure. Служба миграции баз данных оценивает базы данных, информирует о работе, предшествующей перемещению, и затем перемещает базу данных из вашей виртуальной машины в службу. Azure поддерживает MySQL, PostgreSQL и другие базы данных (представленные здесь), в частности службы ядра.
Перестроение
До этого момента мы питались снизить к минимуму изменения в системе электронной коммерции, мы оставили в покое рабочие системы. Теперь давайте рассмотрим, как действительно использовать преимущества облака. На этом этапе мы вносим изменения в существующее приложение, стремительно внедряя службы и архитектуру PaaS и SaaS. Этот процесс включает в себя существенные изменения по внесению новой функциональности или по перепроектированию приложения для облака. Managed APIs — новая концепция, использующая облачные системы. Можно упростить обновление нашей системы, создав API для обмена данными между службами. Второе преимущество — возможность получить сведения о данных, которые мы собрали. Это делается путем перемещения архитектуры микрослужбы + интерфейсы API и использования машинного обучения и других средств для анализа данных.
Микрослужбы + интерфейсы APIs
Микрослужбы взаимодействуют через доступные внешние интерфейсы API. Каждая служба является самодостаточной и должна реализовать возможности единого бизнеса, к примеру, рекомендовать товары покупателям, сохранять корзину для покупок и другое. Декомпозиция приложения в микрослужбы требует время и планирования. Хотя нет никаких твердых правил касаемо определения микрослужбы, основное значение связанное с уменьшением развертываемых единиц к набору компонентов, которые изменяются вместе. Микрослужбы позволяют развертывать изменения так часто, как потребуется, одновременно сокращая нагрузку испытаниями для приложения в целом. Некоторые службы могут быть чрезвычайно маленькими. Для них работать бессерверно с функциями Azure подходит для горизонтального увеличения масштаба до необходимого количества абонентов, при этом не используя ресурсы, если нет в этом необходимости. Другие службы будут распределены на другие бизнес-функции: управление продуктом, сбор заказов клиентов и другие.
Бессерверные механизмы имеют и несколько недостатков: при легкой загрузке их ответ на запросы может замедляться, поскольку некоторые серверы в облаке нуждаются в паре секунд для конфигурации и запуска кода. Для тех частей среды, которые интенсивно используют покупатели, нужно удостоверится, что поиск продукта, размещение заказов, возврат запросов и многое другое можно делать легко и быстро. В любое время, когда производительность замедляется, вы рискуете потерять клиентов в воронке покупок. Если одной из важных функций для вас является возможность быстрого ответа, перестройте ее как индивидуальную развертываемую единицу в службе Azure Kubernetes (AKS). В других случаях, как, например, для служб, которым требуется сочетание большого объема памяти, нескольких ЦП и большое количество пространства в локальном хранилище, лучше размещать микрослужбы на собственной виртуальной машине.
Каждая служба использует API для взаимодействия. Доступ к API можно установить напрямую с микрослужбами, но при взаимодействии со службой необходимо знать о топологии приложения. Такие службы как Управление API предоставляют центральный способ публикации интерфейсов API. Все приложения просто связываются со службой управления API. Разработчики могут узнать о доступности интерфейсов API. Служба управление API также предоставляет возможность улучшения работы в сфере розничной торговли. Служба может ограничить доступ к интерфейсу API в различных частях приложения, кэшировать ответы на медленное изменение значений, преобразовать JSON в XML и другое. Полный список всех политик можно найти здесь.
Воспользуйтесь вашими данными и Azure Marketplace
Вы можете с легкостью внедрить другие решения SaaS для вашего бизнеса, поскольку все ваши данные и система перенесены в Azure. Некоторые действия можно выполнить сразу же. К примеру, используйте Power BI, чтобы объединить различные источники данных для создания визуализации, отчетов и получения более детальной информации.
Затем взгляните на предложения в Azure Marketplace, которые помогут в оптимизации инвентаризации, управлении кампаниями с учетом потребительских характеристик, предложении потребителю отдельных продуктов с учетом их предпочтений и истории. Разработка конфигурации ваших данных в предложениях Marketplace может занять некоторое время.
Компоненты
Используются во время повторного размещения:
- Помощник по Azure — это персонализированный облачный консультант, который помогает следовать рекомендациям по оптимизации развернутых служб Azure.
- Служба Миграция Azure выполняет оценку локальных рабочих нагрузок для перемещения в Azure.
- Azure Site Recovery организует и контролирует аварийное восстановление виртуальных машин Azure, а также локальных виртуальных машин и физических серверов.
- Виртуальная сеть Azure позволяет ресурсам Azure различных типов (например, виртуальным машинам Azure) обмениваться данными друг с другом через локальные сети и через Интернет.
- Azure ExpressRoute позволяет переносить локальные сети в облако Microsoft с помощью частного подключения, которое обеспечивается поставщиком услуг подключения.
Во время рефакторинга используются следующие службы:
- Служба Azure Kubernetes (AKS) управляет размещенной средой Kubernetes, позволяя быстро и легко развертывать контейнерные приложения и управлять ими, даже если вы никогда не оркестрировали контейнеры.
- База данных SQL Azure — это реляционная база данных общего назначения (управляемая служба) в Microsoft Azure. Она поддерживает такие структуры, как реляционные данные, JSON, пространственные данные и XML. База данных SQL предоставляет отдельные управляемые базы данных SQL, управляемые базы данных SQL в эластичном пуле и управляемые экземпляры базы данных SQL.
Во время перестройки используются следующие службы:
- Azure Управление API помогает организациям публиковать API для внешних, партнерских и внутренних разработчиков, чтобы разблокировать потенциал своих данных и служб.
- Функции Azure — это решение для легкого выполнения небольших фрагментов кода — или "функций" — в облаке.
- Power BI — это набор инструментов бизнес-аналитики, которые обеспечивают целостное представление обо всей вашей организации.
Заключение
Перемещение системы электронной коммерции в Azure принимает анализ, планирование и определенный подход. Мы рассмотрели трехэтапный подход, состоящий из повторного размещения, рефакторинга и перестройки. Это позволяет организациям перемещаться из одной рабочей среды в другую с минимальным количеством изменений на каждом шагу. Поставщики программных продуктов могут заняться рефакторингом или перестройкой компонентов, пропуская повторное размещение. Много раз, вы будете иметь четкий путь вперед к модернизации - взять его, когда вы можете. При работе в Azure вы увидите больше возможностей для добавления новых возможностей, снижения затрат и улучшения общей системы.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Основные авторы:
- Скотт Силли | Архитектор программного обеспечения
- Мария Зоротович | Глава отдела взаимодействия с клиентами, HLS и развивающихся технологий
Следующие шаги
Многие команды разработчиков заманчивы для повторного размещения и рефакторинга одновременно для решения технического долга и улучшения использования емкости. Существуют преимущества проведения этапа повторного размещения, прежде чем начинать другие этапы. Любые проблемы развертывания в новой среде будет легче диагностировать и устранить. Это, в свою очередь, предоставляет группе разработчиков и группе поддержки время, чтобы активизировать Azure в качестве новой среды. Пока вы производите рефакторинг и перестройку системы, вы создаете стабильное рабочее приложение. Это позволяет делать небольшие целевые изменения и более частые обновления.
Документация по продукту:
- Общие сведения о Помощнике по Azure
- Сведения о миграции Azure
- Сведения о Site Recovery
- Что такое виртуальная сеть Azure?
- Что такое Azure ExpressRoute?
- Служба Azure Kubernetes
- Что такое База данных SQL Azure
- Управление API Azure
- Общие сведения о Функциях Azure
- Что такое Power BI?