Создание интернет-магазина в облаке за 15 минут

Преимущества такого решения – это надежность и возможность выдерживать пиковые нагрузки при невысоких затратах.

Посмотрите живые демонстрации и узнайте больше подробностей про развертывание Magento в облаке Azure из серии вебинаров Масштабируемые облачные e-commerce решения (на английском).

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

Служба Azure AppService предлагается компанией Microsoft и является службой типа PaaS ("платформа как услуга"), которая позволяет разработчикам разворачивать и масштабировать веб-приложения за считанные минуты, с использованием наиболее современных инструментов – как разработанных компанией Microsoft, так и взятых из экосистемы ПО с открытым исходным кодом. Так как язык программирования PHP используется службой AppService чрезвычайно широко, процесс создания приложения Magento с использованием этой службы является проверенным и быстрым.

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

Создание веб-сайта

В процессе создания нашего интернет-магазина мы воспользуемся порталом Azure. Если вам нравится работать с интерфейсом командной строки, вы можете выполнить все нижеописанные операции также и с использованием консоли – либо консоли типа PowerShell for Windows, либо кроссплатформенных инструментов командной строки (CLI) Azure для операционной системы Linux.

Итак, давайте начнем!

На портале Azure выберите пункт меню "Новый" ("New") (в верхнем левом углу), затем выберите в качестве опции категорию "Веб + Мобильные" ("Web + Mobile") и, наконец, выберите опцию "Показать все" ("See all"), чтобы просмотреть все доступные продукты в Магазине Приложений Azure ("Azure Marketplace").

Вы могли бы точно так же выбрать пункт меню "Веб-приложение" ("Web App"), после чего был бы создан "пустой" веб-сайт, на котором вы могли бы разместить приложение Magento, но почему же не воспользоваться уже готовыми шаблонами Magento с предварительно встроенными в них функциями?

1 Как только откроется интерфейс поиска, введите в поле поиска слово “Magento” и выберите необходимый вам элемент из списка “AppDirect”. Для выбора доступны многие пакеты, но большая часть из них использует виртуальные машины ("Virtual Machines") в качестве облачного сервиса. В окне, открывающемся при щелчке на соответствующем пакете, выберите пункт меню "Создать" (“Create”).

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

2 Теперь перед вами открывается окно ввода подробных параметров веб-приложения. Как только вы заполните все поля, сервис Azure самостоятельно займется созданием инфраструктуры для приложения, а также произведет копирование пакета Magento для вас.

Давайте рассмотрим каждую из опций немножко подробнее. Не бойтесь "окунуться в процесс" – мы закончим раньше, чем он вам успеет надоесть.

В поле App Service Name ("Имя App Service") просто введите название субдомена, который вы желаете использовать в домене .azurewebsites.net компании Microsoft. В качестве дополнительного удобства, обеспечиваемого использованием сервиса Azure, вы получаете возможность использовать бесплатное имя хоста. Конечно, во всех учетных записях Azure используется уникальное имя сервиса. Позже вы сможете подключить собственный домен, при необходимости.

В поле Subscription ("Подписка") выберите тип подписки, который вы будете использовать. Если вы только что выбрали зарегистрировали бесплатную пробную версию, она может называться наподобие "Бесплатная пробная подписка Azure".

Поле Resource Group ("Группа ресурсов") просто предоставляет вам возможность группирования нескольких ресурсов вместе в один логический блок. Вы можете ввести в поле любое название, однако это название должно быть информативным.

4 Поле App Service plan/location ("План/расположение App Service") предоставляет вам возможность группирования нескольких веб-приложений (а также других сервисов типа PaaS) один масштабируемый блок. Объединяя несколько веб-сайтов в пределах одного плана, вы получаете возможность разместить их на одной машине (которая в этом случае будет использоваться в качестве хоста), либо обеспечить совместное масштабирование таких веб-сайтов. В любом случае вы получаете экономически эффективный хостинг ваших веб-сайтов.

Так как мы работаем с нашим первым веб-сайтом, создадим новый план. Однако если вы уже создали свой собственный план, можете свободно использовать и его. Все, что нам нужно для создания нового плана – это указать его имя, регион его предполагаемого хостинга (доступны к выбору более 19 регионов!) и соответствующую ценовую нишу.

5 Опция выбора ценовой ниши является чуть более сложной для пользователя, однако возможные варианты можно кратко пояснить следующим образом:

  • Free ("Бесплатный") – ваш веб-сайт размещается в общей (Shared) среде; квоты на использование годятся лишь для приложений с низким трафиком – например, для личного блога. Однако при этом такое пользование является совершенно бесплатным!
  • Shared ("Совместный") – тот же самый бесплатный вариант, за исключением того, что вам позволено использовать ваше собственное доменное имя; квоты на использование являются чуть более высокими и пользование ресурсом осуществляется за небольшую плату.
  • Basic ("Базовый") – ваш веб-сайт или веб-приложение размещается на одной выделенной машине (или нескольких таких машинах). Отпадает необходимость в использовании квот, т.к. ресурсы всей машины принадлежат только вам; при этом ваш веб-сайт может дублироваться на других машинах (в количестве до 3-х машин).
  • Standard ("Стандартный") – включает в себя все опции Базового плана, а также поддержку протокола SSL (5 SNI, 1 IP), возможность масштабирования с привлечением до 10 машин, выполнение ежедневного резервного копирования используемых вами файлов и опцию использования нескольких сред – рабочих и тестовых.
  • Premium ("Премиальный") – версия "люкс" сервиса Azure WebApps. Включает в себя все опции Стандартного варианта, при этом расширяя количество используемых машин до 20 и обеспечивая выполнение 50 операций резервного копирования в день, больше сред, возможность интегрирования в состав собственных локальных сетей, интеграция со службами BizTalk и др.

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

6 И последний шаг конфигурирования: нам необходимо выбрать Базу данных ("Database"), где будут храниться наши данные. К счастью, партнеры Microsoft уже предлагают опцию использования управляемых баз данных MySQL среди вариантов, доступных в Azure Marketplace, поэтому нам нужно лишь выбрать желаемый тип базы данных, и она будет создана вместе с нашим веб-сайтом.

Нам потребуется предоставить следующую информацию:

  • Database name ("Имя базы данных") – говорит само за себя
  • Database type ("Тип базы данных") – здесь нужно указать, хотите ли вы, чтобы ваша база данных "обитала" в коллективно используемой среде или размещалась на выделенном сервере. Между прочим, коллективно используемая среда является вполне неплохим вариантом.
  • Location ("Расположение") – убедитесь в том, что вы выбрали то же самое место расположения, которое используется и для хранения плана App Service.
  • Pricing Tier ("Ценовая ниша") – выбирайте свою ценовую нишу с учетом размера базы данных и ожидаемого количества используемых подключений. Если вы собираетесь использовать более крупные планы, то в качестве типа базы данных ("database type") просто выберите "dedicated" ("выделенный"). При создании небольшого веб-магазина Magento я бы рекомендовал выбрать опцию “Titan”.

Для того чтобы сохранить настройки вашей базы данных, щелкните “OK”.

8 Наконец, если мы согласны с Правилами использования сервиса ClearDB, мы можем щелкнуть кнопку “Create” ("Создать"), после чего нам придется подождать, пока Центр оповещений не сообщит нам о том, что процесс развертывания был завершен.

Установка Magento

Теперь, создав наш веб-сайт, давайте попробуем получить некоторую более подробную информацию о нем, получив к нему доступ посредством веб-браузера. Найти наш новый ресурс просто: нужно лишь щелкнуть мышью пункт меню "Все ресурсы" (“All Resources”) в левой панели, после чего выбрать только что созданный веб-сайт (в моем случае “ssd-webshop”). В этом списке вы также обнаружите базу данных, которая была создана вместе с веб-сайтом (“Webshop-DB”).

9 Для просмотра подробной информации о веб-сайте щелкните на его имени.

10 Отлично, информация весьма подробна! Мы не будем форсировать событий и начнем просто с того, что откроем веб-сайт, используя для этих целей URL-адрес, предоставленный нам сервисом Azure. Просто перейдите по этому адресу в вашем браузере, и перед вами откроется экран установки Magento.

11 Процедура выполнения начальных шагов проста и понятна: поставьте галочку в окошке, подтверждающем принятие вами условий соглашения пользователя, щелкните кнопку "Продолжить" ("Continue") и немного подождите.

Далее выберите ваше желаемое местоположение, часовой пояс и тип валюты магазина, после чего опять щелкните "Продолжить".

12 На третьем этапе установки вам будет необходимо ввести некоторые параметры подключения базы данных, опции доступа к сети и опции сохранения сеансов. Вся информация о подключении была предварительно внесена в соответствующие места за вас разработчиками платформы Azure WebApps, так что вам остается лишь изменить параметр опции “Save Session Data In” ("Сохранять данные сеанса в…"), выбрав “Database” ("База данных") вместо “Filesystem” ("Файловая система"), а затем снова щелкнуть кнопку "Продолжить" ("Continue").

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

14 Да, вы не ошиблись – все настроено! Просто сохраните ключ шифрования в каком-либо безопасном месте и щелкните кнопку “Go to Frontend” ("Перейти к внешнему интерфейсу"), чтобы полюбоваться вашим новым Интернет-магазином, либо же кнопку “Go to Backend” ("Перейти к внутреннему интерфейсу"), чтобы начать процесс добавления продуктов, изменения тем и т.д.

Это все!

Масштабирование

Если ваш магазин будет успешным (все это, конечно, как вы знаете, дело времени), то следующим логическим шагом будет запросить у сервиса Azure выделить вам большее количество вычислительных ресурсов, необходимых для того, чтобы справиться с растущим объемом трафика.

Для этого, находясь на портале, откройте параметры настройки вашего веб-сайта, затем перейдите к пункту меню “All Settings” ("Все настройки") и выберите одну из следующих двух опций:

15 - Scale up – для того чтобы изменить план обслуживания (доступные опции: Free ("Бесплатный"), Shared ("Совместный"), Basic ("Базовый"), Standard ("Стандартный") и Premium ("Премиальный")) либо увеличить размер выделенной машины. - Scale out – для того чтобы увеличить количество копий вашего веб-сайта / машин, на которых размещается веб-сайт (в случае доступности данной опции необходимо подчеркнуть, что некоторые планы обслуживания не допускают использования более одной копии веб-сайта).

Пожалуйста, заметьте, что процедура масштабирования затрагивает все веб-сайты, являющиеся частью плана App Service, а не только веб-сайт, настройки которого вы в данный момент изменяете.

16 Если вы выбрали Стандартный либо Премиальный план обслуживания, вы можете воспользоваться удобной функцией автомасштабирования ("auto scaling"). Данная функция позволяет вам выполнять автоматические выделение большего количества ресурсов, основываясь на определенных, вами же заданных, комплексных правилах. В примере, показанном выше, мы дали указание платформе Azure WebApps автоматически добавлять либо удалять копии веб-сайта (по одной за один шаг), как только будут превышены определенные пороговые значения интенсивности использования центрального процессора – однако всегда хранить, как минимум, одну копию веб-сайта и никогда не хранить более пяти таких копий.

Заключение

Запуская Magento на платформе Azure, вы получаете не только быструю установку и надежную инфраструктуру, но также возможность адаптации ИТ ресурсов вашего онлайн магазина в соответствии с бизнес-потребностями. И что особенно важно – обеспечить работоспособность вашего онлайн магазина в случае непредсказуемых пиков трафика. Для онлайн магазина, возможность гибкой регулировки ИТ инфраструктуры под нужды бизнеса, является важным конкурентным преимуществом, и платформа Azure WebApps является одной из наиболее гибких платформ в этом отношении.

И помните: вы всегда можете поработать с сервисом Azure 30 дней в тестовом режиме, воспользовавшись бесплатной пробной версией.