Перенос сайтов, приложений и инфраструктуры

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

Когда нужен перенос

Что входит в переезд

Определяем состав проекта. Это могут быть виртуальные машины, Docker, Kubernetes, базы данных, файловое или S3-хранилище, очереди, задачи по расписанию и подключения к внешним системам.

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

Выбор серверов

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

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

Как переносим проект

1. Составляем план

Проверяем зависимости, версии программ и объём данных. Договариваемся, какой простой допустим, как переносить новые изменения и когда переключать пользователей. Готовим способ вернуться к прежней системе, если она остаётся доступной.

2. Собираем новую площадку

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

3. Переносим последние изменения

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

4. Переключаем пользователей

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

5. Завершаем переезд

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

Можно ли переехать без простоя

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

Сначала проверяем, какие изменения можно перенести заранее и сколько займёт финальное переключение. Допустимый простой согласуем до начала.

Стоимость и условия

Оцениваю перенос индивидуально. На цену влияют число компонентов, объём данных, требования к простою, нужные изменения в приложении и сроки.

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

Вопросы перед началом

Переносите проекты между разными провайдерами?

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

Можно перенести только часть системы?

Да. Например, базу, хранилище или отдельный сервис. Нужно заранее проверить связь с оставшимися компонентами и влияние на скорость работы.

Что будет с данными, которые появляются во время переезда?

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

Что получу после переноса?

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

Обсудить задачу

Напишите в Telegram, что нужно сделать и какие сроки важны. Начнём с вашей ситуации.

Написать в Telegram@d_tylnyi

Другие задачи: работа для бизнеса, восстановление, перенос проекта, перенос данных, резервные копии, сопровождение.