Описание инфраструктуры в Terraform на будущееDevOps и эксплуатация
Антон Бабенко много лет работает программистом и техлидом и проводит большую часть своего времени, управляя различными проектами, связанными с Terraform, AWS, terraform-aws-modules, modules.tf и другими. Один из наиболее успешных его проектов — тот, где он управляет коллекцией проверенных Terraform-модулей для AWS, которые были скачаны более миллиона раз. Он также является организатором встреч пользовательских групп по темам AWS, DevOps, HashiCorp в Норвегии.
https://twitter.com/antonbabenko
https://medium.com/@anton.babenko
Многие знают и используют Terraform в повседневной работе, но для него до сих пор не сформировались лучшие практики. Каждой команде приходится изобретать свои подходы, методы.
Ваша инфраструктура почти наверняка начинается просто: несколько ресурсов + несколько разработчиков. Со временем она растёт во всевозможные стороны. Вы находите способы сгруппировать ресурсы в Terraform-модули, организовать код по папкам, и что здесь вообще может пойти не так? (известные последние слова)
Проходит время, и вы чувствуете, что ваша инфраструктура — это ваш новый питомец, но почему? Вас беспокоят необъяснимые изменения в инфраструктуре, вы боитесь прикасаться к инфраструктуре и коду — в итоге вы задерживаете новый функционал или снижаете качество…
После трёх лет управления на Github коллекцией community-модулей Terraform для AWS и долгосрочном поддержании Terraform в продакшене, я готов поделиться своим опытом: как писать TF-модули, чтобы не было больно в будущем.
К концу доклада участники будут лучше знакомы с принципами управления ресурсами в Terraform, лучшими практиками, связанными с модулями в Terraform, и некоторыми принципами непрерывной интеграции, связанными с управлением инфраструктурой.