m@ksim.pro
К списку статей
ИТ 3 мин чтения

План выхода из облака: контракт, миграция и тест на выход

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

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

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

Это ошибка. Цену выхода нужно считать в момент входа, когда ещё есть переговорные позиции, понимание архитектуры и время.

Из чего складывается цена выхода

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

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

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

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

Контрактные условия. Есть ли обязательства по минимальному потреблению? Как формируется цена при снижении нагрузки? Что происходит с данными через 30 дней после окончания контракта?

Где архитектурные решения создают или снимают привязку

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

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

Есть несколько практик, которые снижают привязку без ущерба для удобства:

  • Абстракция над облачными сервисами на уровне приложения. Если код работает с интерфейсом очереди, а не с конкретным SDK провайдера, замена реализации занимает дни, а не месяцы.
  • Хранение данных в открытых форматах. Данные в Parquet, CSV или стандартных SQL-схемах мигрируют несравнимо проще, чем данные в проприетарных форматах.
  • Инфраструктура как код, не привязанная к конкретному провайдеру. Конфигурация, которую нужно переписывать с нуля при смене платформы - это скрытый долг.

Как провести тест на выход

Тест на выход - это не полная симуляция миграции. Это структурированная оценка, которая занимает несколько дней и даёт честный ответ на вопрос "что нам это будет стоить".

Алгоритм простой:

  1. Составить список всех облачных сервисов, которые используются сегодня - с разбивкой на "стандартные" (есть аналоги у других провайдеров) и "проприетарные" (специфика конкретного провайдера).
  2. Для каждого проприетарного сервиса оценить объём работы по замене или переписыванию.
  3. Оценить объём данных и стоимость их передачи при выгрузке.
  4. Проверить контрактные условия - штрафы, минимальные обязательства, сроки уведомления.
  5. Зафиксировать результат как "стоимость выхода на сегодня" и поставить напоминание пересмотреть через год.

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

Почему это нужно делать сейчас, а не потом

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

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

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

К списку статей
Контакт

Если эта статья отозвалась - напишите. Я отвечаю лично.

Telegram