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 з технічних або регуляторних причин

На практиці в першій хвилі міграції — 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
    1368
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139