Все статьи

DevOps · 12 октября 2026 · 2 мин чтения

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

Задайте себе один вопрос: если основной сервер сегодня ночью исчезнет, сколько времени займёт собрать точно такой же? Если ответ начинается со слов «ну, сначала надо вспомнить, как он был настроен», инфраструктура как код для вас.

Идея

Инфраструктура как код (Infrastructure as Code, IaC) означает, что серверы, сети и их настройки описываются в текстовых файлах, а не настраиваются кликами в веб-консолях. Файлы лежат в Git, изменения проходят ревью, и по этим же файлам окружение можно пересобрать в любой момент. У инфраструктуры появляются история, документация и кнопка «отменить».

Terraform: создаём инфраструктуру

Terraform описывает, что должно существовать в облаке или на платформе виртуализации: виртуальные машины, сети, правила межсетевого экрана, DNS-записи, хранилища. Вы описываете желаемое состояние, Terraform сравнивает его с реальностью и показывает план изменений перед применением. Он работает с AWS, Azure, Google Cloud, Hetzner, DigitalOcean, Cloudflare, Yandex Cloud и сотнями других провайдеров.

resource "aws_lightsail_instance" "web" {
  name              = "web-1"
  availability_zone = "eu-central-1a"
  blueprint_id      = "ubuntu_24_04"
  bundle_id         = "small_3_0"
}

OpenTofu это открытый форк Terraform с тем же языком, хороший вариант, если для вас важна лицензия.

Ansible: настраиваем то, что на нём работает

Ansible описывает, как должен быть настроен сервер: пакеты, пользователи, настройки SSH, межсетевой экран, Docker, файлы приложения. Он подключается по SSH, не требует агента и применяет один и тот же плейбук к одному серверу или к сотне. Повторный запуск меняет только то, что отклонилось от нужного состояния.

- hosts: web
  become: true
  tasks:
    - name: Install Docker
      apt:
        name: docker.io
        state: present
        update_cache: true

Как они работают вместе

  1. Terraform создаёт сервер, сеть и DNS.
  2. Ansible устанавливает и настраивает программы.
  3. CI/CD-пайплайн разворачивает приложение.

Всё это код в одном репозитории. Новое тестовое окружение или замена сервера после аварии сводится к запуску нескольких команд.

Реалистичный первый проект

Не пытайтесь перевести всё сразу. Хороший первый шаг для небольшой компании:

Обычно это укладывается в 20-40 инженерных часов и сразу снимает риск «никто не знает, как собран этот сервер».

Когда это не нужно

Если вы пользуетесь только облачными сервисами и своих серверов нет, IaC даст мало. Если сервер один и меняется редко, на первое время хватит хорошей документации и надёжных бэкапов. IaC окупается, как только появляются несколько окружений, частые изменения или бизнес, который не может днями ждать восстановления.

Инфраструктура как код входит в наш тариф DevOps Growth. Вместе с CI/CD она превращает вашу инфраструктуру в то, что можно пересобрать за минуты.

Ещё статьи

DevOps · 2 мин чтенияЧто такое CI/CD и когда небольшой команде нужен DevOpsПонятное объяснение CI/CD для владельцев бизнеса и небольших команд разработки: что автоматизирует пайплайн, сколько стоит внедрение и признаки, что пора заниматься DevOps.Читать статьюСайты · 2 мин чтенияОбслуживание сайта на WordPress: чек-лист на неделю, месяц и кварталЧто нужно делать с сайтом на WordPress после запуска: ежедневные бэкапы и мониторинг, безопасное обновление плагинов, проверка форм, SSL, скорости и признаки взлома.Читать статьюИнфраструктура · 2 мин чтенияПравило резервного копирования 3-2-1 на практике: как убедиться, что бэкап восстановитсяПравило 3-2-1 и 3-2-1-1-0, неизменяемые копии против шифровальщиков, что бэкапить, RPO и RTO, и ежеквартальный тест восстановления в пять шагов.Читать статью