Написание сценария прогрева для управления развертыванием в рабочей среде с миграцией баз данных в веб-приложении Azure с слотами для приложения Django

#django #azure #deployment #azure-web-app-service #database-migration

Вопрос:

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

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

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

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

Я сделал анимированный GIF, чтобы проиллюстрировать, как я представляю себе этот процесс, я также прикрепил PDF-файл, если вы хотите пройти каждый шаг.

GIF https://ibb.co/GsbSxSf

PDF: https://docdro.id/JcJk1Xk

Комментарии:

1. Просто для уточнения, каково конкретное требование для выполнения миграции БД с помощью сценария прогрева в службе приложений? У вас может быть собственный путь для прогрева в службе приложений. С помощью отдельных баз данных вы можете просто создать промежуточный слот, развернуть в нем код и указать настройки приложения, убедиться, что он работает, а затем запустить медленную замену. Кроме того, строки подключения (могут быть сконфигурированы так, чтобы они вставлялись в слот).