Профессиональная конференция по интеграции процессов разработки, тестирования и эксплуатации
30 сентября
и 1 октября 2019
Москва, Инфопространство

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

Доклад принят в программу конференции
Максим Кострикин
Ixtens

DevOps Team Lead в Ixtens. Начинал с сетевого админа в пятом общежитии НГУ 20 лет назад, сейчас с командой поддерживают инфраструктуру в AWS для крупного ecommerce.

Тезисы

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

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

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

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

Управление конфигурацией
,
Непрерывное развертывание и деплой
,
Devops / другое
Подготовительное задание

Будет полезно посмотреть доклад Антона Бабенко http://www.highload.ru/moscow/2018/abstracts/3762

Другие доклады секции Инфраструктура как код