Cloud Migration: перенос On-Premise в облако без простоев

Перенос инфраструктуры из on-premise в облако часто тормозится из-за скрытых зависимостей, которые всплывают в самый неподходящий момент. Мы проводим полный аудит и миграцию в облако, выявляя все связи и узкие места заранее. Наша команда реализует проект под ключ — от анализа до сопровождения, обеспечивая стабильную работу без простоев.
Часто задаваемые вопросы

Перенос on-premise инфраструктуры в облачные платформы

Мы знаем, что большинство миграций идут не по плану. Не потому что план плохой — а потому что on-premise инфраструктура содержит десятки «скрытых зависимостей», которые никто не документировал последние пять лет. Сервис A неожиданно обращается к сервису B через хардкоженный IP 192.168.1.45. База данных живёт на NFS-шаре, примонтированной на файл-сервере, который обслуживает ещё шесть приложений. Сертификаты для внутреннего PKI выданы на имя хоста, который в облаке изменится. По данным Wikipedia, 80% таких сюрпризов обнаруживаются только на этапе cutover. Поэтому первый месяц любой миграции — это обнаружение, а не перенос.

Как проводится инвентаризация и анализ зависимостей?

Прежде чем двигать первый сервис, нужна полная картина. Инструменты зависят от стека: для VMware-окружений — VMware vRealize Network Insight или CloudPhysics, для bare metal — netstat-based discovery, агенты типа AWS Application Discovery Service.

Собираем следующее:

  • Карта сетевых связей между сервисами (какой процесс на каком порту куда ходит)
  • Профили потребления ресурсов за 2-4 недели (CPU, RAM, disk IO, network)
  • Список внешних зависимостей: AD/LDAP, NFS, SAN, лицензионные серверы
  • Приложения с привязкой к железу (USB-ключи, специфичные сетевые карты, GPU)

AWS Migration Hub консолидирует данные от разных discovery агентов и строит граф зависимостей. Это не замена ручному анализу, но хорошая точка старта.

По результатам инвентаризации каждый сервис попадает в одну из категорий:

  • Rehost (lift & shift) — виртуалка переезжает как есть, с минимальными изменениями
  • Replatform — базу переводим на managed RDS, приложение — без кода-изменений
  • Refactor — переписываем для нативного облака (контейнеры, lambda, managed services)
  • Retire — сервис не нужен, выключаем
  • Retain — остаётся on-premise по техническим или regulatory причинам

На практике в первой волне миграции — 70-80% Rehost, остальное — Replatform. Refactor — это отдельная программа на полгода-год после базового переезда.

Как выглядит реальная миграция: кейс e-commerce

Берём e-commerce компанию: 40 серверов on-premise, три окружения (dev/staging/prod), PostgreSQL кластер на двух нодах с Patroni, Redis, Nginx балансировщики, несколько Python/Node.js сервисов.

Шаг 1: Сетевая основа в AWS. VPC с правильными CIDR, подсети в двух AZ, Transit Gateway, Site-to-Site VPN до on-premise. Пока идёт миграция, обе площадки работают параллельно и видят друг друга.

Шаг 2: Миграция баз данных. Это самое критичное. PostgreSQL мигрируем через AWS DMS с ongoing replication: источник — on-premise Patroni primary, цель — RDS PostgreSQL. DMS настраивается через Terraform:

resource "aws_dms_replication_instance" "migration" {
  allocated_storage = 100
  apply_immediately = true
  auto_minor_version_upgrade = true
  engine_version = "3.5.2"
  multi_az = false
  publicly_accessible = false
  replication_instance_class = "dms.r5.large"
  replication_subnet_group_id = aws_dms_replication_subnet_group.migration.id
  vpc_security_group_ids = [aws_security_group.dms.id]
}

resource "aws_dms_replication_task" "postgres_migration" {
  migration_type = "full-load-and-cdc"
  replication_instance_arn = aws_dms_replication_instance.migration.replication_instance_arn
  replication_task_id = "postgres-main-migration"
  source_endpoint_arn = aws_dms_endpoint.source.endpoint_arn
  target_endpoint_arn = aws_dms_endpoint.target.endpoint_arn
  table_mappings = jsonencode({
    rules = [
      {
        rule-type = "selection"
        rule-id = "1"
        rule-name = "all-tables"
        object-locator = {
          schema-name = "%"
          table-name = "%"
        }
        rule-action = "include"
      }
    ]
  })
}

DMS запускает full load, затем переходит в CDC-режим и реплицирует изменения в реальном времени. Отставание репликации мониторим через CloudWatch метрику CDCLatencySource.

Шаг 3: Приложения в ECS или EKS. Сначала переносим dev, потом staging. Production переезжает последним. Образы собираем в ECR. Application Load Balancer принимает трафик.

Шаг 4: Cutover. Переключение DNS — за несколько минут. TTL снижаем до 60 секунд за сутки до cutover. В момент переключения DMS останавливает репликацию, приложения переконфигурируются на RDS endpoint, трафик идёт только в AWS. On-premise остаётся в режиме read-only ещё неделю как fallback.

Почему важно управлять секретами при миграции?

On-premise секреты (пароли к БД, API ключи) обычно живут в переменных окружения, .env файлах или в корпоративном key vault. В AWS переносим в AWS Secrets Manager. External Secrets Operator в Kubernetes синхронизирует секреты из Secrets Manager в Kubernetes Secrets — приложение ничего не меняет, просто читает из environment variables как раньше.

Какие ошибки допускают 90% команд?

  • Лицензии. Windows Server, Oracle, SQL Server — у них Bring Your Own License (BYOL) схемы. Если не учесть при sizing — придёт счёт от Oracle. Средний штраф за нарушение лицензий составляет $50 000–$200 000.
  • Backup политики. On-premise бэкапы в облако не переедут автоматически. Нужно настроить AWS Backup или Velero с первого дня.
  • Мониторинг в переходный период. Во время миграции трафик идёт через оба места. Prometheus с remote_write в обоих окружениях, единый Grafana — видно все сервисы.
  • Security Groups vs Firewall Rules. On-premise firewall policy с 200 правилами — не переносится один в один. Переписываем в Security Groups по принципу least privilege, используя Tags для grouping.

Rehost, Replatform, Refactor: что выбрать?

Стратегия Изменения Срок Сложность
Rehost Нет Дни–недели Низкая
Replatform Только инфраструктура Недели–месяцы Средняя
Refactor Код + инфраструктура Месяцы–годы Высокая

Managed сервисы AWS (RDS, EKS) сокращают operational overhead в 3–5 раз по сравнению с on-premise, согласно нашим замерам.

Ориентиры по срокам

Масштаб Что входит Сроки
Малый (10-20 серверов) Rehost + managed DB 6-10 недель
Средний (20-60 серверов) Rehost + частичный Replatform 3-5 месяцев
Крупный (60+ серверов) Поэтапная миграция, несколько волн 6-18 месяцев

Что входит в работу

  • Discovery-отчёт с картой зависимостей и рисками
  • План миграции с пошаговыми инструкциями
  • Terraform-конфигурации для всей облачной инфраструктуры
  • Настройка мониторинга и оповещений (Prometheus/Grafana)
  • Документация по эксплуатации и backup-политики
  • Обучение команды и пост-миграционная поддержка 2 недели

Наша команда имеет 10+ лет опыта в DevOps и выполнила более 50 успешных миграций. Свяжитесь с нами для анализа вашей инфраструктуры. Закажите аудит уже сегодня и сократите TCO на 30–50%.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1142