[Видео] Паттерны в Terraform для борьбы с хаосом и ручной работой в крупных и долгих проектах

Казалось бы, разработчики Terraform предлагают достаточно удобные best practices для работы с AWS-инфраструктурой. Только есть нюанс.

Со временем количество окружений увеличивается, в каждом появляются особенности. Появляется почти копия стека приложений в соседнем регионе. И Terraform-код нужно аккуратно скопировать и отредактировать согласно новым требованиям или сделать снежинку.

Через год-другой папка с Terraform-кодом превращается в снежный ком: много похожих ресурсов, но каждый описан чуть-чуть по-другому. Когда появляется breaking change, то необходимо обновить значительное количество кода, проверить его на соответствие реальным ресурсам. Прибавим сюда постоянные попытки точечного рефакторинга, чтобы улучшить полученный хаос. В итоге получаем кучу кода, обслуживание которого обходится весьма дорого.

Доклад Макса — про паттерны размещения кода, нацеленные на упрощение автоматизации и дальнейшего развития. Внутри – рассказ о том, как работают такие паттерны и приведу примеры кода.

Надеемся, пригодится всем, кто работает или планирует работать с Terraform вдолгую.