Миграция на 20,000 микросървиси
Enterprise мигрира 20,000 микросървиси към Kubernetes. Само 30% работеха на първия ден.
Планът:
- "Просто контейнеризирай и внедри"
- Автоматизирани инструменти за миграция
- Big bang преминаване през уикенда
Какво се обърка:
- 14,000 услуги не преминаха проверките за здраве
- Недокументирани хардкоднати IP адреси навсякъде
- Услуги, очакващи специфични пътища във файловата система
- Скрити зависимости от формати на hostname
- Предположения за часова зона (контейнер по подразбиране: UTC)
Откритията:
- Услуга A пишеше временни файлове в /opt/app/tmp (без права за писане)
- Услуга B парсваше собственото си IP за определяне на средата
- Услуга C очакваше да е на сървър с име "prod-db-01"
- 2,000+ услуги имаха хардкоднати `localhost` референции
Какво трябваше да направим:
- Инкрементална миграция (започвайки с безстейтови)
- Чеклист за готовност за контейнери за всяка услуга
- Canary внедрявания с двойно записване
- Реалистичен график (месеци, не седмици)
Урок: Контейнеризацията не е просто "docker build". Това е инфраструктурна археология.