Config as code
Подход решает главные проблемы ручной настройки — непрозрачность и хрупкость. Когда конфигурация «зашита» в голову администратора или разбросана по панелям, неизвестно, как устроена система, а любая правка рискованна. Config as code делает настройки воспроизводимыми: одинаковые окружения на тесте и проде не разъедутся. Файлы можно проверять автоматическими тестами.
Это похоже на письменный рецепт вместо устных указаний повару. Рецепт можно перечитать, показать коллеге, вернуться к позавчерашней версии, и он не зависит от памяти человека. Так же и здесь: вы описываете, какие сервисы должны работать, порты, переменные окружения, — а система сама приводит всё к нужному виду.
Прикладной пример: команда управляет веб-приложением в Kubernetes. Вместо ручного изменения параметров на подах она хранит YAML-файлы всех сервисов в Git. Чтобы увеличить число копий, разработчик меняет цифру в файле, отправляет запрос на изменение, после проверки коллегой оно автоматически применяется. Если что-то пошло не так, откат — возврат к предыдущей версии файла.
Таким образом, config as code превращает настройку из таинственного искусства в инженерную дисциплину, делая систему понятной, контролируемой и надёжной.
Поделиться