🏗️ Infrastructure as Code
Что такое IaC, преимущества Terraform и альтернативы
🏗️ Что такое Infrastructure as Code (IaC)?
Управление инфраструктурой через код. Преимущества: versioning (Git), repeatability, automation, drift detection. Декларативный (Terraform, Pulumi) vs Императивный (Ansible, scripts). Terraform — декларативный: вы описываете «Что нужно», Terraform знает «Как» это сделать.
⚔️ Terraform vs Альтернативы
Terraform — cloud-agnostic, HCL, state management, 3000+ providers. AWS CloudFormation — только AWS, JSON/YAML. Pulumi — реальные языки программирования (Python, TS). Ansible — configuration management + IaC. CDK — AWS-specific, языки программирования.
🌐 Terraform Use Cases
Развёртывание multi-cloud инфраструктуры. Инфраструктура приложений (VPC, EC2, RDS). Создание кластеров Kubernetes. Управление DNS и CDN. Управление SaaS-провайдерами (GitHub, Datadog).
📊 Сравнение IaC-инструментов
| Tool | Подход | Язык | Cloud Support | Основной Use Case |
|---|---|---|---|---|
| Terraform | Declarative | HCL | Multi-cloud | Infrastructure provisioning |
| AWS CloudFormation | Declarative | JSON/YAML | AWS only | AWS-native IaC |
| Pulumi | Declarative | Python/TS/Go | Multi-cloud | Programmers prefer code |
| Ansible | Imperative | YAML | Multi-cloud | Config management + IaC |
| AWS CDK | Declarative | Python/TS/Java | AWS only | Developers, generates CFn |
💡 Ключевые моменты
- IaC: инфраструктура как код (версионирование, автоматизация)
- Terraform: декларативный, cloud-agnostic
- HCL (HashiCorp Configuration Language)
- 3000+ providers: AWS, GCP, Azure, GitHub...
- State file: актуальное состояние реальной инфраструктуры
🎯 Советы для экзамена
- Декларативный = «Что нужно» (desired state). Императивный = «Как сделать» (step-by-step commands)
- Terraform «drift detection»: если реальная инфра отличается от state, `plan` покажет расхождения
- HCL — HashiCorp Configuration Language, похож на JSON, но читаемый для человека
- Terraform Cloud vs Terraform Enterprise: Cloud = SaaS, Enterprise = self-hosted
- Open Tofu — open-source форк Terraform (после изменения лицензии BSL)
⚠️ Частые ошибки
- Путать Ansible с Terraform: Ansible — configuration management, Terraform — infrastructure provisioning
- Считать Pulumi императивным: Pulumi использует языки программирования, но работает по декларативной модели desired state
- Считать CloudFormation мощнее Terraform — CloudFormation только для AWS, Terraform multi-cloud
🧠 Для запоминания: "Terraform = Tell what, not how" — декларативный. "HCAP" = HashiCorp Configuration (HCL), cloud-Agnostic, 3000+ Providers
Проверьте себя по теме «Infrastructure as Code»
Бесплатные интерактивные тесты, пробный экзамен и полные уроки — на платформе CertMaster.
Начать бесплатно →