Представьте себе: есть компания «ШопЭкспресс», у них мощная e-commerce платформа, которая работает на 25 серверах в AWS. Раньше их подход был такой: серверы жили месяцами, а обновления накатывались через Ansible — ну, классическая мутабельная инфраструктура, куда без неё. И вот тут-то и начиналась вся головная боль, ведь со временем каждый сервер становился абсолютно уникальным, как снежинка, со своей историей изменений и настроек.
| Mutable (изменяемая) | Immutable (неизменяемая) |
|---|---|
| Сервер создаётся → обновляется → чинится | Сервер создаётся → работает → уничтожается |
| SSH для администрирования | Нет SSH в production |
| Ansible/Chef/Puppet для обновлений | Новый образ → замена сервера |
| Конфигурационный дрейф | Невозможен (read-only) |
| Откат: сложный, ручной | Откат: предыдущий образ за секунды |
| Snowflake servers (каждый уникален) | Phoenix servers (восстают из пепла) |
Идея immutable простая: не «чинить сломанный сервер», а «снести его и поднять новый из эталонного образа». Ровно как с контейнерами, только на уровне виртуалок.
Pets vs Cattle: мутабельные серверы — домашние питомцы (у каждого имя, их лечат). Иммутабельные — стадо (безымянные, заменяемые).

Комментарии 0