Создание слота развертывания

Завершено

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

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

В этом модуле вы узнаете, как слоты развертывания облегчают тестирование и развертывание нового кода.

Добавление слота развертывания

В одном веб-приложении Службы приложений Azure вы можете создать несколько слотов развертывания. Каждый слот является отдельным экземпляром этого веб-приложения с отдельным именем узла. Вы можете развернуть разные версии своего веб-приложения в каждом слоте.

Отдельный слот является рабочим слотом. Он является веб-приложением, которое пользователи видят при подключении. Убедитесь, что приложение, развернутое в этом слоте, стабильно и тщательно проверено.

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

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

Если обнаружится, что, несмотря на тщательное тестирование, возникла проблема с новой версией, вы можете откатить ее, быстро переключив слоты обратно.

Слоты как отдельные ресурсы Azure

Когда вы используете более одного слота развертывания для веб-приложения, эти слоты рассматриваются как отдельные экземпляры. Например, они перечислены отдельно на странице Все ресурсы на портале Azure. У каждого из них есть собственный URL-адрес. Однако каждый слот использует ресурсы плана службы приложений, включая память виртуальной машины и ЦП, а также дисковое пространство.

Создание слотов развертывания и уровни

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

Уровень Максимальное количество промежуточных слотов
Бесплатно 0
Совмещаемая блокировка 0
Базовая 0
Стандартные 5
Premium 20
Изоляция 20

Как избежать "холодного запуска" во время переключения

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

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

Создание слота развертывания

Прежде чем создавать слот, убедитесь, что ваше веб-приложение работает на уровне "Стандартный", "Премиум" или "Изолированный".

  1. Откройте страницу своего веб-приложения на портале Azure.

  2. Выберите страницу Слоты развертывания.

  3. Нажмите Добавить пользователя.

  4. Дайте слоту имя.

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

    Screenshot of naming a new deployment slot and choosing whether to clone settings in the Azure portal.

Примечание.

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

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

Screenshot of the list of deployment slots for a web app.

Получение доступа к слоту

Новый слот имеет собственное имя узла, которое является производным от имени веб-приложения и имени слота. При выборе слота на странице слотов развертывания вы получите это имя узла:

Screenshot of finding the URL for a new slot in the Azure portal.

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

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

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

Создание слота развертывания

1.

Как служба приложений Azure гарантирует, что производительность в рабочей среде не снизится сразу после переноса?

2.

Что из перечисленного ниже НЕ является общим для всех слотов развертывания в веб-приложении?