В мире инфраструктурной инженерии существуют вещи, неподвластные времени. Например, бесконечные YAML-манифесты, которые размножаются быстрее, чем инженеры успевают обновлять документацию. Или удивительная способность специалистов по автоматизации автоматизировать уже существующую автоматизацию, после чего написать ещё один инструмент, который будет автоматизировать предыдущие два. И если ещё несколько лет назад можно было услышать фразы вроде: «Мы создаём виртуальные машины руками через веб-интерфейс, потому что так надёжнее», то сегодня подобные признания воспринимаются примерно так же, как рассказ о том, что резервное копирование производится путём периодического копирования файлов на флешку, лежащую в ящике рабочего стола.
Terraform становится тесным: как Pulumi превращает инфраструктуру в программный продукт
Есть две стадии взросления инфраструктурного инженера. И если вы достаточно долго работаете в эксплуатации, разработке платформ или DevOps, велика вероятность, что через обе вы уже проходили. Первая стадия выглядит удивительно безобидно. Человек получает доступ к серверу, открывает терминал и думает: "Сейчас я быстро всё настрою через SSH и пару shell-скриптов. Тут работы минут на двадцать". В этот момент он искренне верит, что инфраструктура - это набор машин, несколько конфигурационных файлов и немного Bash-магии. Скрипты складываются в папку scripts, пароли временно живут в заметках, а документация существует преимущественно в голове человека, который всё это написал.