Техническое задание: Миграция Docker-приложения на новый облачной хостинг
Цель проекта
Организовать плановый перенос рабочего веб-приложения и связанной с ним базы данных с текущего облачного сервера на новый, более производительный. Приложение должно продолжить работу без потери данных и с минимальными простоями.
Текущая архитектура
- Бекенд: Написан на Python, работает в Docker-контейнере.
- Фронтенд: React-приложение, также упакованное в Docker-контейнер.
- База данных: Отдельный сервис (тип БД уточняется у исполнителя), требующий переноса с сохранением всех данных.
- Инфраструктура: Все компоненты уже контейнеризированы, есть Docker-образы и, предположительно, конфигурационные файлы (docker-compose.yml или аналоги).
Основные задачи
- Проанализировать текущую развернутую среду на старом сервере (конфигурации, сетевые настройки, переменные окружения).
- Подготовить новый облачный сервер к развертыванию (установка Docker, настройка сетевого доступа, файрвола).
- Организовать перенос актуальных Docker-образов или их пересборку на новом сервере.
- Выполнить дамп и последующий импорт базы данных без потери информации.
- Настроить все переменные окружения и конфигурационные файлы для корректной работы на новом хостинге.
- Протестировать работоспособность всего приложения после миграции.
- При необходимости, настроить доменные имена и SSL-сертификаты для работы с новым сервером.
- Обеспечить откат на старую инфраструктуру в случае возникновения критических проблем.
Требования к результату
- Приложение полностью функционирует на новом сервере.
- Все данные из базы перенесены корректно.
- Дана краткая инструкция по управлению приложением на новом сервере.
- Процесс миграции документирован.
Критерии успеха
Минимальное время простоя (downtime) в процессе переноса и полная функциональная идентичность приложения до и после миграции.