Мурадов Юрий
Автор статьи
Мурадов Юрий Analyst SkillStat
Опубликовано 7 апреля 2026 г.
Обновлено 3 июня 2026 г.

Terraform: что это, как работает и чем отличается от Ansible

Terraform берут там, где инфраструктуру нужно не собирать руками, а менять через код, review и понятный процесс. Обычно это облака, платформенные команды и несколько сред, которые должны оставаться похожими друг на друга.

Коротко о навыке

Terraform — инструмент для подхода infrastructure as code. Он описывает облачные и локальные ресурсы в конфигурации, сравнивает желаемое состояние с текущим и предлагает план изменений перед применением. Поэтому рабочий уровень здесь начинается не с команд, а с дисциплины вокруг состояния Terraform, ревью и безопасного применения изменений. Terraform хорош там, где инфраструктуру нужно создавать одинаково, повторять по средам и менять через понятный процесс. Он помогает держать историю изменений, видеть расхождение со средой и не собирать окружение руками каждый раз заново. Сильный специалист понимает, где проходит граница между конфигурацией, провайдером, модулем и чужой ответственностью.

Что такое Terraform

Что это

Инструмент IaC для описания и изменения инфраструктуры через код.

Где нужен

В облаках, платформенных командах, DevOps и там, где среды нужно повторять без ручного труда.

Что даёт

Помогает проводить изменения инфраструктуры предсказуемо и через ревью.

Почему Terraform ценят в команде

Он делает изменения инфраструктуры повторяемыми и удобными для ревью. Это особенно важно, когда одну и ту же среду поддерживает не один человек.

Что он не заменяет

Terraform не равен конфигурации сервера и не снимает нужду в Ansible или другом инструменте настройки. Он закрывает другой слой ответственности.

Где чаще всего ошибаются

В состоянии Terraform, правах доступа, ручных правках среды и плохой структуре модулей. Там одна неточность может испортить весь следующий план изменений.

Механика / Работа

Как Terraform проходит от кода к инфраструктуре

Рабочий цикл Terraform всегда один: конфигурация, инициализация, план, состояние и применение изменений.

Шаг 01
Слой

Пишется конфигурация

Смысл

Инженер описывает провайдеры, ресурсы, переменные, выходные значения и зависимости.

Шаг 02
Слой

Terraform инициализируется

Смысл

Скачиваются провайдеры, читается место хранения состояние и готовится рабочая директория.

Шаг 03
Слой

Состояние показывает текущее знание

Смысл

Terraform понимает, какие реальные объекты уже связаны с конфигурацией.

Шаг 04
Слой

План изменений сравнивает состояния

Смысл

Инструмент показывает, что нужно создать, изменить, заменить или удалить.

Шаг 05
Слой

Apply применяет изменения

Смысл

Terraform вызывает API провайдеров и обновляет состояние.

Шаг 06
Слой

Review фиксирует историю

Смысл

Команда хранит изменения в коде и обсуждает опасные правки до применения.

Навык / Применение

Где используется Terraform

Terraform нужен там, где инфраструктура уже не должна жить в ручных кликах и разовых инструкциях. Он особенно полезен, когда одно и то же окружение надо поднимать повторяемо, проверяемо и с понятной историей изменений.

Сценарий 01

Облачные ресурсы

Сети, виртуальные машины, базы, балансировщики, DNS и другие облачные ресурсы через единый рабочий процесс.

Сценарий 02

Несколько сред

Dev, предрелизное окружение и prod, которые надо держать похожими и управляемыми.

Сценарий 03

Командное ревью

Изменения инфраструктуры через pull request, план и согласование до применения.

Сценарий 04

Переиспользование

Повторяемые модули для типовых сетей, сервисов и стандартных окружений.

По направлениям

Terraform заметен в 4 направлениях рынка с долей выше 5%.

Направление Контекст Доля Вакансии
Инфраструктура
Диагностика БД и служебные рабочие запросы.
74.5%
947
Разработка
Схема БД, запросы приложения и разбор производительности.
6.5%
82
Данные и ML
Трансформации, ETL и подготовка датасетов.
5.2%
66
Безопасность
Часть спроса по навыку сосредоточена в этом направлении.
5.1%
65
Направления показывают, в каких частях IT-рынка навык заметен чаще всего, без разбивки по ролям.
Инструмент / Возможности

Что нужно уметь в Terraform

Практический Terraform начинается с контроля изменений, а не с красивых `.tf`-файлов.

Писать HCL

Описывать ресурсы, переменные, выходные значения, locals и зависимости.

Читать план изменений

Замечать удаления, замены, изменения по умолчанию и неожиданные правки.

Хранить состояние

Использовать удалённое состояние, блокировки и безопасный доступ.

Строить модули

Выделять повторяемые части без чрезмерной абстракции.

Разбирать расхождение

Сравнивать конфигурацию, состояние и реальную инфраструктуру после ручных изменений.

Сравнение / Контекст

Terraform простыми словами

Terraform стоит рядом с Ansible, Pulumi и Terragrunt, но отвечает за свой слой работы с инфраструктурой.

Terraform и Ansible

Terraform чаще создаёт инфраструктуру, Ansible чаще настраивает уже созданные системы.

Terraform и CloudFormation

CloudFormation жёстче привязан к AWS, Terraform удобнее там, где важна мультиплатформенность.

Terraform и ручные клики

Ручной путь быстрее один раз, Terraform выигрывает на повторяемости и review.

Terraform и shell scripts

Скрипты делают действия, Terraform держит состояние и показывает план изменений.

Данные / Стек

Из чего состоит Terraform-проект

У Terraform несколько важных источников правды сразу: конфигурация, состояние Terraform, версия провайдера, переменные и реальное состояние облака. Ошибка может прийти из любого слоя. Например, кто-то поменял ресурс вручную, устарело состояние или обновился провайдер. Поэтому хороший инженер смотрит не только на код. Он проверяет, что показывает план изменений, где лежит состояние и какие последствия будут у применения в конкретной среде.

Конфигурации

Ресурсы, переменные, выходные значения, locals, место хранения состояние и модули.

Провайдеры

Плагины, через которые Terraform управляет облаком, платформой или сервисом.

Состояние

Файл состояния, связывающий код с реальными объектами.

План изменений

Предварительное описание изменений, которое команда должна прочитать до применение.

Сравнение / Инструменты

Terraform, Ansible, Pulumi и Terragrunt

Соседние инструменты надо сравнивать по роли: кто создаёт ресурс, кто его настраивает и кто хранит историю изменений.

Инструмент За что отвечает Когда нужен Граница

Terraform

Provisioning и управление жизненным циклом инфраструктуры через код.

Когда ресурсы надо создавать, менять и повторять по средам предсказуемо.

Не заменяет автоматически конфигурацию хостов и не прощает хаос вокруг состояния Terraform.

Ansible

Конфигурация уже созданных машин, пакетов, файлов и ролей.

Когда инфраструктура уже есть и её нужно настраивать и поддерживать.

Не даёт ту же модель состояния и планирования инфраструктурных изменений, что Terraform.

CloudFormation

Нативный AWS-инструмент для описания инфраструктуры.

Когда весь стек живёт внутри AWS и команде хватает его экосистемы.

Меньше подходит для мультиоблачных и смешанных контуров.

Shell scripts

Разовые или узкие автоматизации отдельных действий.

Когда нужно быстро выполнить конкретную операцию без сложного жизненного цикла.

Скрипты плохо держат состояние, review и повторяемость среды.

Карьера / Роли

Кому нужен Terraform

Terraform переносится между ролями: DevOps-инженер, SRE-инженер, Системный администратор. В одном треке этот навык может быть основным рабочим инструментом, а в другом - сильным прикладным усилителем основной специализации.

Роли с навыком

DevOps-инженер держит 286% вакансий по навыку.

Роль Вакансии Медиана
DevOps-инженер
715
SRE-инженер
101
Системный администратор
58
Инженер данных
37
DevSecOps-инженер
37
Platform Engineer
28
Тимлид
24
Инженер по безопасности
23

Ещё 7 ролей используют Terraform

Практика / Задачи

Частые задачи с Terraform

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

Задача 01
Задача

Описать ресурс

Что делает специалист

Создать конфигурацию для сети, машины, базы или роли доступа.

Задача 02
Задача

Прочитать план изменений

Что делает специалист

Понять, какие изменения будут применены и нет ли опасного удаления.

Задача 03
Задача

Настроить удалённое состояние

Что делает специалист

Перенести состояние в безопасное общее место с блокировкой.

Задача 04
Задача

Собрать модуль

Что делает специалист

Выделить повторяемую часть инфраструктуры и задать понятные параметры.

Задача 05
Задача

Импортировать ресурс

Что делает специалист

Связать существующий объект с Terraform без пересоздания.

Задача 06
Задача

Разобрать расхождение

Что делает специалист

Найти расхождение между конфигурацией, состояние и реальной инфраструктурой.

Практика / Ошибки

Ошибки новичков

Ошибка 01

Не читать план изменений

Самая опасная привычка — применять изменения, не поняв, что будет удалено или заменено.

Ошибка 02

Хранить состояние локально для команды

Локальный состояние легко потерять, испортить или применить параллельно.

Ошибка 03

Править ресурсы вручную

Ручные изменения создают расхождение и ломают доверие к конфигурации.

Ошибка 04

Делать модули слишком общими

Модуль на все случаи становится сложнее, чем явная конфигурация.

Ошибка 05

Путать Terraform и Ansible

Terraform управляет ресурсами, Ansible чаще управляет настройкой внутри уже созданных машин.

Рынок / Контекст

Почему Terraform востребован

Terraform востребован там, где инфраструктура уже стала частью инженерного процесса и вышла за рамки задач одного администратора. Его ценят платформенные команды, DevOps, SRE и инженеры серверной части, которым нужно держать несколько сред похожими и предсказуемыми. Здесь важен не один синтаксис HCL. Важнее уметь читать план изменений, держать состояние Terraform в порядке и безопасно менять реальную среду. Особенно это видно в облаках, Kubernetes-контурах и проектах с частыми релизами, где ручная ошибка стоит дорого и быстро бьёт по всей команде. Там повторяемость окружений становится ежедневной задачей. И от этого зависит скорость выпуска.

Сокращает ручную работу

Terraform востребован там, где инструмент реально ускоряет повторяемые задачи команды, а не существует отдельной теорией.

Встроен в рабочий процесс

Спрос держится дольше, когда навык нужен не эпизодически, а как часть ежедневного цикла разработки, проверки или доставки.

Закреплён в зрелом стеке

Terraform чаще ищут там, где процесс уже стандартизирован и без этого инструмента команда теряет скорость и предсказуемость.

Сигнал рынка
Стабильный спрос

Terraform формирует устойчивый спрос внутри своего рабочего сегмента.

Рынок / Спрос

Спрос на Terraform на рынке

Terraform сохраняет устойчивый прикладной спрос на рынке: 250 активных вакансий, #74 по рынку, 3.2% IT-вакансий. Ниже показано число открытых вакансий на конец каждого месяца: это исторический ряд по состоянию на конец месяца, а не текущий срез рынка на сегодня.

Сила спроса
Стабильный спрос
250
активных вакансий сейчас

#74 по рынку • 3.2% IT-вакансий

Месяц к месяцу
321
июнь 2026

Без изменения к предыдущему месяцу.

Доход / Уровни

Сколько платят специалистам с Terraform

Заработок здесь растёт вместе с ответственностью за состояние среды. Базовый уровень — написать конфигурацию и поднять тестовый ресурс. Выше оплачивают тех, кто держит удалённое состояние, строит модули, читает план изменений и умеет...

Медиана рынка
Ограниченная точность
275 000
₽ / месяц

38 активных вакансий с зарплатой • покрытие 14.6% зарплатной выборки

Коридор по грейдам
publishable уровни

Коридор появится с publishable-грейдами.

Основной уровень
Senior
по структуре рынка

Senior - основной уровень рынка (56%)

Вход / Старт

Порог входа

Сейчас на рынке 6 активных junior-вакансий с Terraform. Это 3% всех вакансий по навыку, поэтому для старта важнее всего смотреть на реальный объём junior-окна и на стек, который рынок ждёт рядом.

Junior-вакансии сейчас
6
активных вакансий

3% всех вакансий по навыку • Senior / Junior 18.7x

Доля junior
3%
% всех вакансий по навыку

Окно входа узкое: рынок чаще нанимает с опытом.

Что нужно на старте

Стартовый стек

21
навыков в медианной вакансии

Медианная вакансия с Terraform ожидает около 21 навыков в стеке. Это широкий стартовый набор: рынок обычно ищет не один изолированный инструмент, а рабочую комбинацию соседних навыков.

Чаще всего требуют вместе

навыки из junior-вакансий, где встречается Terraform

Навык Junior-вакансии
Связи / Навыки

Навыки в связке с Terraform

Terraform редко живёт изолированно: чаще всего рынок видит его рядом с Kubernetes, Ansible, Linux. Самая плотная связка сейчас - Kubernetes: оба навыка встречаются вместе в 88% вакансий.

Главная связка: Kubernetes • 88% вакансий. Показываем общерыночные связки Terraform: не junior-минимум из блока выше, а навыки, которые чаще всего встречаются рядом с ним в одной вакансии.

Рабочий стек вокруг Terraform

навыки, которые рынок чаще всего видит рядом в одной вакансии

Навык Зачем рядом Доля
Одна из самых плотных рыночных связок рядом с Terraform.
88%
Часто встречается рядом с Terraform в одном рабочем сценарии.
80%
Часто встречается рядом с Terraform в одном рабочем сценарии.
76%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
76%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
70%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
67%

Связки, которые усиливают доход

не базовый минимум, а более сильные комбинации стека

1
CI/CD
n = 31
+13% 310 000 ₽
Обучение / Маршрут

Как изучить Terraform

Изучать Terraform лучше на безопасной тестовой среде. Начните с одного провайдера и одного простого ресурса. Затем разберите план изменений, применение и состояние Terraform, а не только создание объекта. После этого специально вызовите расхождение среды и посмотрите, как Terraform его обнаруживает. Следующий шаг — модули, удалённое состояние и сравнение с Ansible на одном сценарии. Ещё полезно один раз посмотреть, как выглядит плохой план с неожиданной заменой ресурса. Полезно и один раз импортировать существующий ресурс, чтобы увидеть границу между кодом и живой средой там. Такой путь быстрее учит ответственности, чем длинный обзор синтаксиса.

Этап 01
Фокус

База

Что изучать

Провайдеры, ресурсы, переменные, инициализация, план и применение.

Этап 02
Фокус

Рабочая практика

Что изучать

Состояние, удалённое хранилище, расхождение среды, outputs и ревью изменений.

Этап 03
Фокус

Командный уровень

Что изучать

Модули, переиспользование, окружения, права доступа и история изменений.

Этап 04
Фокус

Зрелый контур

Что изучать

Импорт, безопасные замены, слои ответственности и связка с CI/CD.

Практика / Первый запуск

С чего начать Terraform

Начинать лучше с одного безопасного ресурса в тестовой среде. Создайте объект, посмотрите план изменений и примените его. Затем специально вызовите расхождение среды ручной правкой. После этого разберите состояние Terraform и посмотрите, что именно он хранит о ресурсе. Следующий шаг — вынести кусок конфигурации в модуль и сравнить Terraform с Ansible на одном сценарии. Так быстрее видно, что навык живёт в управлении изменениями, ревью и повторяемости, а не в самом факте создания объекта. Это сразу делает пользу инструмента очень предметной для команды.

Шаг 01

Опишите один ресурс

Напишите HCL-конфигурацию и подключите провайдера.

Шаг 02

Запустите init и план изменений

Посмотрите, что Terraform собирается сделать.

Шаг 03

Примените изменение

Выполните применение и изучите состояние.

Шаг 04

Измените параметр

Сравните план изменений: будет update, замена или delete.

Шаг 05

Перенесите состояние

Настройте удалённое хранение состояния и блокировки для командной работы.

Старт / Документация

Официальные ресурсы и быстрый старт

Для инструментов вроде Terraform на одной странице полезно держать и объяснение роли на рынке, и быстрые переходы к официальным ресурсам.

Не путать с

Terraform — рабочий инструмент или платформа, а не вся инженерная практика целиком.

Первый практический шаг

Лучший вход в Terraform — один живой рабочий процесс, где видно не интерфейс, а реальное поведение инструмента.

Что открыть дальше

После короткого объяснения переходите к официальной документации, одному туториалу и одному живому примеру по Terraform.

Будущее / Роль

Перспективы Terraform

Перспективы Terraform завязаны не только на текущем спросе, но и на том, как навык встраивается в новые платформы, инструменты и рабочие контуры.

Сигнал 01

IaC останется нормой инфраструктуры

Ручное создание ресурсов плохо масштабируется и плохо проверяется.

Сигнал 02

Будет важнее управление правилами

Политики, ревью, права, состояние и контроль модулей станут не менее важны, чем синтаксис HCL.

Сигнал 03

Инструменты помогут писать код, но не отвечать за применение

Автогенерация конфигураций не снимает ответственность за план изменений и последствия изменения.

Частые вопросы

Вопросы и ответы

Что такое Terraform простыми словами?

Это инструмент, который описывает инфраструктуру в коде и потом меняет среду по этому описанию. Он не просто создаёт ресурс, а сравнивает желаемое состояние с текущим, показывает план и только потом применяет изменения. За счёт этого инфраструктуру проще повторять и проверять в команде.

Зачем нужно состояние Terraform?

Состояние Terraform хранит связь между кодом и реальными объектами в облаке или другой платформе. Без него Terraform не поймёт, что уже создано, что надо поменять и что случилось с ресурсом после ручной правки. Поэтому состояние Terraform — не техническая мелочь, а часть безопасности и командной работы.

Чем Terraform отличается от Ansible?

Terraform чаще отвечает за создание и изменение самих ресурсов: сетей, VM, баз, DNS и других объектов. Ansible чаще настраивает уже созданные машины и сервисы: пакеты, конфиги, роли и команды. Эти инструменты часто живут рядом, но решают разные классы задач.

Что показывает plan?

Plan показывает, какие изменения Terraform собирается сделать, если вы запустите apply. Это шанс увидеть опасную замену ресурса, лишнее удаление или неожиданное изменение до того, как пострадает среда. Поэтому читать plan нужно внимательно, а не как формальность перед кнопкой запуска.

Какая ошибка встречается чаще всего?

Чаще всего проблемы начинаются вокруг состояния Terraform и ручных правок среды. Кто-то меняет объект в облаке напрямую, код и состояние расходятся, а следующий apply предлагает неожиданный результат. Вторая частая ошибка — слишком ранняя или хаотичная нарезка на модули без ясной границы ответственности.

Как лучше начинать учить Terraform?

Начните с одного безопасного ресурса в тестовой среде. Создайте его, измените параметр, посмотрите plan и потом руками вызовите drift. После этого разберите состояние Terraform и удалённое хранилище состояния. Такой путь лучше учит реальной работе, чем длинный обзор HCL без связи с живой средой.