Главная Вики DevOps и автоматизация

Terraform и инфраструктура как код (IaC): почему серверы описывают в файлах

Инфраструктура как код (IaC, Infrastructure as Code) — это подход, при котором серверы, сети, базы данных и другие ресурсы описываются декларативно в текстовых файлах, а не настраиваются руками через панель. Terraform — самый распространённый инструмент IaC: вы пишете, какой должна быть инфраструктура, а он сам приводит реальное облако к этому состоянию.

Зачем это нужно бизнесу

Когда инфраструктуру настраивают руками — кликами в панели облака и командами на серверах — возникает несколько хронических проблем. Никто не помнит точно, как именно собрана продуктивная среда. Тестовый контур отличается от боевого, и баги «воспроизводятся только в проде». При уходе администратора знания уходят вместе с ним. А повторить всё с нуля на новой площадке — это недели работы и неизбежные ошибки.

IaC превращает инфраструктуру в код, который лежит в репозитории. Из этого следуют конкретные выгоды для бизнеса. Первое — воспроизводимость: одной командой разворачивается идентичная среда — для теста, для второго филиала, для аварийного восстановления. Второе — прозрачность и история: любое изменение проходит через систему контроля версий, видно кто, что и зачем менял, и любую правку можно откатить. Третье — снижение зависимости от конкретного человека: инфраструктура описана, а не живёт «в голове у админа».

Как это работает

В файлах Terraform вы описываете желаемое состояние: «нужно три сервера такой-то конфигурации, сеть с такими подсетями, балансировщик, база данных с резервированием». Дальше процесс предсказуем:

Ключевое отличие от скриптов — декларативность. Вы не пишете «выполни шаг 1, потом шаг 2», вы описываете результат: «должно быть вот так». Terraform сам вычисляет разницу и делает только то, что нужно. Запустите apply дважды — второй раз он ничего не тронет, потому что состояние уже соответствует описанию.

Terraform управляет ресурсами российских облаков (Yandex Cloud, VK Cloud, Selectel и др.) через их провайдеры, а донастройку внутри серверов (пакеты, конфиги, сервисы) обычно отдают Ansible — связка отлично работает вместе.

IaC в составе DevOps

IaC — один из столпов DevOps-подхода. Описание инфраструктуры лежит рядом с кодом приложения и проходит через ту же CI/CD-цепочку: изменение в инфраструктурных файлах автоматически проверяется и применяется через пайплайн. Это убирает ручные шаги, на которых обычно и случаются аварии.

Когда нужно компании

Что включает наша услуга

Связанные термины

Как проходит сам переезд в облако, читайте в статье блога «Миграция в облако: Yandex, VK, Selectel».

Связанные термины
Расчёт стоимости

Хотите оценить стоимость под свою инфраструктуру?

Откройте калькулятор, отметьте нужные услуги — получите ориентир за минуту. Финальная смета после обследования (±15%).

Открыть калькулятор Получить КП