Terraform
Terraform — это инструмент для управления инфраструктурой через код (Infrastructure as Code). Вместо того чтобы кликать по консоли AWS и вручную настраивать серверы, базы данных и сети, вы описываете всё это в текстовых файлах. Terraform читает эти файлы и создаёт инфраструктуру автоматически.
Зачем это нужно? Представьте: у вас 3 окружения — dev, staging, production. Без Terraform вы настраиваете каждое вручную, и через полгода они неизбежно расходятся: «на проде работает, а на стейджинге — нет». С Terraform все окружения создаются из одного и того же кода. Одинаковые, воспроизводимые, версионируемые.
Terraform работает с любым облаком: AWS, Google Cloud, Azure, Yandex Cloud, DigitalOcean. Он создаёт серверы, базы данных, DNS-записи, балансировщики, VPN — всё, что предоставляет облачный провайдер. При этом Terraform отслеживает текущее состояние и применяет только разницу: если нужно добавить один сервер — он добавит один, не трогая остальные.
Terraform хранит состояние инфраструктуры в state-файле. Это критичный файл — он позволяет Terraform понимать, что уже создано, а что нужно создать или удалить. Команды хранят state в облаке (S3, GCS) для совместной работы.
Ключевые преимущества
- Инфраструктура описывается кодом — версионируется в Git
- Поддержка всех облаков: AWS, GCP, Azure, Yandex Cloud
- Воспроизводимые окружения: dev = staging = production
- Применяет только разницу — не пересоздаёт всё заново
- State-файл отслеживает текущее состояние инфраструктуры
Примеры
Создание production-окружения для SaaS: 3 сервера, PostgreSQL RDS, Redis, S3-бакет, CloudFront CDN — всё одной командой terraform apply. Клонирование окружения для нового клиента за 10 минут вместо 2 дней ручной настройки. Аудит инфраструктуры: вся конфигурация в Git, видно кто и когда что менял.
Когда это нужно
Terraform нужен, когда: инфраструктура в облаке (AWS, GCP, YC), больше 2-3 серверов, несколько окружений (dev/staging/prod), команда из нескольких DevOps-инженеров, нужно быстро воспроизводить инфраструктуру для новых клиентов или проектов.
Связанные термины
Частые вопросы
Terraform vs Ansible — в чём разница?
Terraform создаёт инфраструктуру: серверы, сети, базы данных. Ansible настраивает то, что уже создано: устанавливает пакеты, копирует конфиги, запускает сервисы. Они не конкурируют, а дополняют друг друга: Terraform создал сервер → Ansible настроил его.
Можно ли использовать Terraform для небольших проектов?
Можно, но для одного сервера с Docker — overkill. Terraform начинает окупаться при 3+ серверах или когда нужно несколько окружений. Для маленьких проектов проще Docker Compose + ручная настройка VPS.
Читайте также
IT-консалтинг
Помогаем бизнесу принимать технологические решения. Аудит IT-ландшафта, выбор технологий, цифровая стратегия, оптимизация IT-бюджета.
DevOps и облако
Настраиваем CI/CD, контейнеризацию, мониторинг и облачную инфраструктуру. Ваши релизы становятся быстрее, надёжнее и безопаснее.
DevOps
DevOps: что это, зачем нужен бизнесу. Как DevOps ускоряет разработку и снижает затраты. Простое объяснение.
Docker
Docker: контейнеризация приложений. Что это, зачем нужен бизнесу. Простое объяснение без технического жаргона.
Kubernetes
Kubernetes (K8s): что это, зачем нужен, как работает. Оркестрация контейнеров, автомасштабирование, когда внедрять.
Готовы начать проект?
Расскажите о задаче — мы предложим решение, сроки и стоимость. Первая консультация бесплатна.
30 минут · Бесплатно · Без обязательств