Рубрики
Uncategorized

Использование слотов развертывания с Azure App Service

Это третья статья в «Начало работы с Azure App Service», где я публикую в D … Помечено с Azure, DevOps, Appservice, Automation.

Это третья статья в сериале «Начало работы с Azure App Service», где я публикую углубленное учебное пособие и пошаговое использование Azure App Service и лучшие практики каждую неделю Отказ На прошлой неделе мы говорили о том, как вы можете использовать CI-CD в приложении, чтобы включить возможности DEVOPS Для ваших веб-сервисов.

Если это ваш первый раз здесь, пожалуйста, ознакомьтесь с другими статьями в серии:

Часть 1: Вверх и работает с Azure App Service

Часть 2: Непрерывное развертывание для Azure App Service

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

Предположим, у вас есть производственное приложение в prod.example.com И вы хотите проверить некоторые изменения в той же среде, что и ваше производственное приложение, но на самом деле не развернут сайт. Вот где продвигаются слоты развертывания и сделают это бесшовным опытом, чтобы развернуть ваш сайт в слот, позвонить ему « » Постановка «И ваше приложение будет работать по аналогичной среде на разном URL, prod-staging.example.com. . Вы можете тщательно проверить ваше приложение, прежде чем нажать на его производство.

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

  1. Обзор слотов сервиса приложений
    • Рассмотрение плана службы приложений
    • Почему вы должны использовать слоты развертывания?
  2. Предпосылка
  3. Создание ресурса приложений
  4. Создание слота сервиса приложений
  5. Настройка центра развертывания для пробного слота
  6. Изменение кода на локальном репо
  7. Поднимите слот для производства с промежуточным слотом
  8. Вывод

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

Ниже приведены некоторые из настроек, которые поменяются вместе с кодовой базой:

  • Общие настройки, такие как Framework Version, 32/64-битные, веб-розетки
  • Настройки приложения (можно настроить, чтобы придерживаться слота)
  • Соединительные строки (можно настроить, чтобы придерживаться слота)
  • Обработчики
  • Общественные сертификаты
  • Веб -жобы Содержание

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

  • Издание конечных точек
  • Пользовательские доменные имена
  • Непубличные сертификаты и настройки TLS/SSL
  • Настройки масштаба
  • Веб-образные планировщики
  • Ограничения IP
  • Всегда На
  • Диагностические настройки
  • Распределение ресурсов с перекрестным происхождением (CORS)

Рассмотрение плана службы приложений

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

  • План S1: серия Compute с 1,75 ГБ памяти, ~ 82.23 CAD/месяц (оценка)
  • Планирование P1V2: серия DV2 Compute, 3,5 ГБ памяти, ~ 103.72 CAD/месяц (оценка)

У вас также есть намного больше параметров в плане службы приложений, если вам нужна дополнительная память или выделенная процессора.

Почему вы должны использовать слоты развертывания?

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

  • Вы можете проверить изменения приложений в промежуточном слоте развертывания, прежде чем заменять его с помощью производственного слота.
  • Слоты развертывания Устраните время простоя, вызванные некоторыми приложениями IIS, которые необходимо прогреться до того, как она полностью функционала. Функция Auto-Swap дает вам возможность автоматически поменять слоты, если проверки не нужны.
  • Вы всегда можете вернуть ваше приложение на свой «последний известный хороший сайт» в случае любой проблемы после изменения кода.

Если вы хотите проверить и выполнить шаги в этом руководстве, убедитесь, что вы выполняете следующие требования:

  1. Vs Редактор кода (необязательно) : Вам нужен доступ к редактору, VS-коду или любому другому редактору по вашему выбору, чтобы добавить/изменить код для тестирования Smap Swap. Это может быть выполнено непосредственно из Azure Repo или Portal GitHub.
  2. Azure DevOps или Github Repo : Вам нужно сохранить пример код приложения для вашего приложенного сервиса. CLONE/FORK MY GitHUB REPO Если вы хотите использовать это в качестве примера для тестирования.

    https://github.com/singhparveen/nodejs-plainwebapp

Я ссылаюсь на эту новую службу приложений как « приложение для постановки » и первичная служба приложений как « Production Application ».

Самое первое, что вы хотели бы сделать, это настроить сервис приложений с образцом веб-сервера для проверки изменений и выполнения свопа. Процесс включает в себя создание слота сервиса приложений с образцовым кодом, создавая слот развертывания, соединяя свой слот с CI-CD для включения автоматической синхронизации, вновь внесение изменений в кодовую базу и, наконец, запускает слоты для подкачки.

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

Использование портала Azure для развертывания службы приложений

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

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

  • Перейдите к вашей службе Azure App App, которые вы создали в своей среде.
  • Нажмите « ». Развертывание слотов «В левой панели и нажмите« Добавить слот », чтобы создать новый слот.
  • Дайте ему имя как « Постановка », чтобы вы могли легко идентифицировать его.

На данный момент ваш слот развертывания готов, и вы должны увидеть новую службу приложений (слот) в вашей группе ресурсов в качестве выделенного ресурса, который пройдет ваш код, когда вы толкаете его из репозитория. Имя постановки приложения дается имя как « постановка/ » в группе ресурсов для легкой идентификации.

Как только вы настроите свой промежуточный слот, пришло время подключить этот слот к GIT REPO, используете ли вы Github или Azure DEVOPS, чтобы любое изменение кода развернуто для постановки для тестирования до того, как он пойдет в прямом эфире. Этот процесс гарантирует, что вы можете проверить какие-либо изменения кода в среде постановки, а затем свопьте, когда изменения подтверждены. Выполните следующие шаги, чтобы настроить источник развертывания для пробного слота:

  • Перейдите к слоту развертывания и нажмите на ваш вновь созданный промежуточный слот.
  • Перейдите к « Центр развертывания » для слота. Убедитесь, что вы работаете со слотом с именем « Постановка (appname/постановка) «
  • Выберите местоположение REPO по вашему выбору и закончите интеграцию REPO.
  • Дайте ему около 5-10 минут для развертывания, чтобы закончить и код для обновления в приложении.

Теперь вы должны начать видеть ваше приложение для постановки на https://appname-staging.azurwebsites.net.net.net. .

Следующим шагом является внесение изменений в свой код и нажимайте его обратно в свой репозиторий, чтобы изменения могли быть синхронизированы и видны на промежуточном слоте. Вы можете использовать VS-код или любой другой редактор по вашему выбору. Если вы используете Github или Azure DEVOPS, вы можете внести изменения непосредственно в файл, нажав на « Редактировать » для любого конкретного файла во время войти в Github или Azure DevOps Portal.

  • Открыть « index.js » файл, если вы используете « Nodejs-PlanWebApp » от моего репо GitHub.
  • Добавьте следующий текст в строке 167/168.
  • Если вы используете VS-код, запустите следующие команды в свой терминал, чтобы сохранить и зафиксировать свой код обратно в удаленный репозиторий.

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

Если вы добрались до этого, вы почти сделаны. Последние шаги здесь, чтобы нажать кнопку « Swap », чтобы выполнить обмен и соблюдать, соблюдайте службу Magic App, делает на задней части, чтобы заменить производственный код приложения с помощью постановки и вице-версий. Следуйте по шагам, объясненным ниже, чтобы закончить своп:

  • Перейдите к вашему производственному приложению и нажмите « » Развертывание слотов ».
  • Нажмите « Swap », чтобы инициировать процесс подкачки.
  • Выберите источник и целевое репо, чтобы развернуть и продолжить с помощью помещения.

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

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

Как вы увидели, замена двух слотов требуется всего несколько кликов. Тем не менее, это никогда не так просто в производственных приложениях. Это? 😉 Вы всегда должны проверять свое приложение в непроизводственной среде, прежде чем использовать слоты для вашего производственного применения, так как могут быть небольшие нюансы, которые могут вызвать проблемы во время свопа.

Начните использовать слоты развертывания и дайте мне знать, что вы думаете о них в комментариях ниже!

Не стесняйтесь отправлять мне свой отзыв или идеи, если вы хотите, чтобы я написал о какой-либо конкретной конфигурации в Azure App Service.

Оригинал: «https://dev.to/parveensingh/using-deployment-slots-with-azure-app-service-2bb4»