Процесс развертывания Magento Cloud

Мадженто Sep 07, 2020

Автор Jane Vyshnova

Главная / Блог / Процесс развертывания Magento Cloud

Content

  1. Архитектура развертывания Magento 2
  2. 3 шага в процессе развертывания Magento 2
  3. Стратегия развертывания Magento
  4. Развертывание Magento 2 Pipeline
  5. Развертывание Magento: AWS vs Azure
  6. Заключение
Content

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

Есть идеи по поводу вашего проекта?

Свяжитесь с нами!

Сделать запрос

Лучший способ оптимизации - это перейти на использование ece-инструментов, которые включают в себя набор важных функций, таких как резервное копирование базы данных или проверка конфигурации среды. Вы также можете оптимизировать развертывание Magento, используя различные стратегии. Имея большой опыт как в разработке Magento, так и в DevOps, мы готовы поделиться своим мнением относительно данной темы.

Архитектура развертывания Magento 2

Правильное развертывание сайта требует полного понимания не только процессов и стратегий, но и компонентов самого сайта, корректная работа которых обеспечивает бесперебойное функционирование. Платформа Magento состоит из базовых и опциональных компонентов, а также доступных только для Magento Commerce.

Базовые компоненты:

Опциональные компоненты:

Компоненты доступные только для Magento Commerce:

Диаграмма ниже демонстрирует образец архитектуры развертывания Magento Open Source.

Magento 2 архитектура развертывания
Источник cloud.google.com

Как вы видите, архитектура состоит из веб-сервера, который может взаимодействовать как с кешем сеанса или страницы, так и с сервером базы данных.

Диаграмма ниже демонстрирует образец архитектуры развертывания Magento Commerce deployment.

Magento 2 процесс развертывания
Источник cloud.google.com

Элементы такие же, как и на предыдущей диаграмме, только с добавлением поискового движка и очереди сообщений.

3 шага в процессе развертывания Magento 2

Предварительные требования к развертыванию Magento - это существующий проект Magento, компоновщик, Yarn или NPM и Magento PWA Studio.

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

1. Этап сборки

Первый этап включает сборку контейнеров для сервисов, закрепленных в файлах конфигурации. Ссылки и зависимости также устанавливаются на основе файла composer.lock. Запускаются ключи сборки, записанные в файле .magento.app.yaml. Фаза сборки характеризуется отсутствием подключения к службам или базам данных и полностью зависит от ресурсов, ограниченных средой.

2. Этап развертывания

На втором этапе входящие запросы переходят в режим временного хранения, а сам сайт переводится в режим обслуживания. Данный этап характеризуется использованием нового контейнера и установкой файловой системы, после чего открываются сетевые подключения, активируются службы из раздела отношений файлов .magento.app.yaml и выполняется развертывание, записанные в файле .magento.app.yaml. Контент доступен только для чтения, за исключением каталогов, определяемых файлом .magento.app.yaml. Стандартное свойство mounts состоит из таких каталогов:

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

3. Этап пост-развертывания

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

Стратегия развертывания Magento

Magento 2 стратегия развертывания
Источник www.simicart.com

Стратегия должна содержать следующие важные пункты:.

1. Оптимизируйте развертывание статического контента

Развертывание статического контента (SCD) значительно влияет на процесс развертывания, потому что он зависит от количества контента, который вам нужно создать (изображения, темы, сценарии, веб-страницы), и промежутка времени, установленного для его создания. Стандартная стратегия значит, что статический контент создается при переводе веб-сайта в режим обслуживания. Очевидно, что для записи содержимого в каталог pub / static, установленный для этой цели, требуется определенное время. Основываясь на нашем опыте, мы можем предложить вам несколько простых, но эффективных шагов, которые помогут значительно оптимизировать процесс развертывания.

Время загрузки SCD сократится, если вы пропустите заполнение файлов статического представления в каталоге var / view_preprocessed и создадите минимизированный HTML-код по запросу.

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

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

Разница между стратегиями развертывания заключается в том, что их выбор зависит от необходимости создавать статический контент на каждом этапе процесса развертывания или по запросу. Диаграмма ниже показывает, что лучшим решением является выбор фазы развертывания для генерации SC. Даже если HTML минимизирован, копирование каждого файла содержимого в определенный каталог ~ / pub / static может занять много времени. Создание статического контента по запросу станет хорошим вариантом, но его недостатком является то, что если у вас нет файла контента в кеше, он будет создан во время запроса, что повлияет на время загрузки.

Разница в SCD Load
Источник devdocs.magento.com

2. Сократите время простоя

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

Вот несколько советов, которые помогут сократить время, необходимое вашему сайту для развертывания обновления в рабочей среде:

Развертывание Magento 2 Pipeline

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

Системы развертывания:

Синхронизация конфигурации вашей системы:

Использование развертывания pipeline Magento требует идеального знания функций платформы, программирования PHP и успешного опыта работы с крупными магазинами на основе Magento.

Развертывание Magento: AWS vs Azure

Magento развертывание - AWS или Azure
Источник medium.com

Magento - это огромная e-commerce платформа, установка которой для многих является сложной и невыполнимой задачей. AWS и Azure - популярные облачные провайдеры, которые пытаются удовлетворить потребности растущей клиентской базы Magento. Жан-Люк Дубуше, младший технический Full Stack инженер в Hidora, сравнил процессы установки Magento поверх AWS и Azure. Ниже результаты его короткого обзора:

Данная статистика доказывает, что использование Magento развертывания на основе AWS более эффективное.

Заключение

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

Хотите узнать больше

Получите свежие статьи, новости и тематические исследования в первую очередь на вашу электронную почту

Теперь вы подписаны!