Wiki
DevOps

IaC — что это простыми словами

IaC (Infrastructure as Code) — управление инфрой через код. Terraform, Pulumi, CloudFormation. Версионирование, PR-ревью, воспроизводимость. Основа cloud-native.

Infrastructure as Code (IaC) — подход к управлению инфраструктурой через декларативный код (HCL, YAML, TypeScript), а не ручные клики в веб-панели. Файлы кода в Git → PR review → apply → инфраструктура создана.

Плюсы: (1) воспроизводимость — одинаковая инфра в staging/prod из одного кода, (2) версионирование — знаете, кто когда что менял, (3) peer review — коллега смотрит diff перед apply, (4) rollback — git revert + apply, (5) сокращение bus-factor — знание в коде, не в голове DevOps'а, (6) дешевле масштабирование — 100 VPS одной командой.

Инструменты: Terraform (HashiCorp, самый популярный, HCL), OpenTofu (форк 2023 после лицензионных изменений Terraform), Pulumi (TypeScript/Python/Go — обычный ЯП), AWS CloudFormation (только AWS), CDK (обёртка Pulumi-стиля от AWS), Ansible (procedural, не declarative — на грани IaC).

Практика: даже для одного VPS полезно — вместо "кликнул в UI, забыл" → 20 строк Terraform + git. Через год вспомнить, как настроен файрвол, — одной командой `terraform plan`. У нас есть Terraform-провайдер `cloudhost` — гайд с примером конфига: /docs/api-terraform-provider.

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

Terraform или Pulumi?
Terraform — стандарт, огромная экосистема провайдеров. Pulumi — TypeScript-фанатам и для сложной логики. Выбор — по вкусу команды.
IaC для single VPS — оверкилл?
Нет, 20 строк HCL — не сложнее чем ручные клики. Ценность растёт с каждым следующим сервером.

Смотрите также