Ну окей, давай по фактам, что может быть сложного в Terraform? По сути своей, он представляет собой несколько команд бинаря, несложный язык для объявления переменных, набор файлов-описаний и файлы state, где хранится состояние стенда.
Всё остальное это методы определённого провайдера. В понимание "Сеньор" терраформ входит: Хранение state так, чтобы могли пользоваться несколько людей, написание модулей (Они же шаблоны (Они же функции)), использование variables и разделение сущностей по разным файлам. Всё. Что я упустил?
Упустил, куча провайдеров и пользоваться правильно, чтобы не делать в 500к местах изменения с добавлением инстанса. Это не просто всё, без опыта ты будешь писать говно которое сложно писать и поддерживать. Сказать терраформ на среднем уровне, это минимум полгода без перыва. Это как знаю ансибл, а пихать везде баш, юзать темплейты без переменных (просто как файл) и тд...