🏗️ Infrastructure as Code
IaC nima, Terraform afzalliklari va alternativlar
🏗️ Infrastructure as Code (IaC) nima?
Infratuzilmani kod orqali boshqarish. Afzalliklari: versioning (Git), repeatability, automation, drift detection. Deklarativ (Terraform, Pulumi) vs Imperativ (Ansible, scripts). Terraform — deklarativ: "Nima kerak" ni yozasiz, Terraform "Qanday" qilishni biladi.
⚔️ Terraform vs Alternativlar
Terraform — cloud-agnostic, HCL, state management, 3000+ providers. AWS CloudFormation — faqat AWS, JSON/YAML. Pulumi — real programming languages (Python, TS). Ansible — configuration management + IaC. CDK — AWS-specific, programming languages.
🌐 Terraform Use Cases
Multi-cloud infrastructure provisioning. Application infrastructure (VPC, EC2, RDS). Kubernetes cluster yaratish. DNS va CDN boshqarish. SaaS provider (GitHub, Datadog) boshqarish.
📊 IaC Toollar Taqqoslash
| Tool | Yondashuv | Til | Cloud Support | Asosiy 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 |
💡 Asosiy nuqtalar
- IaC: infratuzilma kod sifatida (versionlash, avtomatlashtirish)
- Terraform: deklarativ, cloud-agnostic
- HCL (HashiCorp Configuration Language)
- 3000+ providers: AWS, GCP, Azure, GitHub...
- State file: real infratuzilma holati
🎯 Imtihon maslahatlari
- Deklarativ = "Nima kerak" (desired state). Imperativ = "Qanday qilish" (step-by-step commands)
- Terraform "drift detection": real infra va state farq qilsa `plan` ko'rsatadi
- HCL — HashiCorp Configuration Language, JSON ga o'xshash lekin odam o'qiy oladigan
- Terraform Cloud vs Terraform Enterprise: Cloud = SaaS, Enterprise = self-hosted
- Open Tofu — Terraform open-source fork (BSL license o'zgarishidan keyin)
⚠️ Ko'p adashadigan
- Ansible = Terraform deb o'ylash: Ansible configuration management, Terraform infrastructure provisioning
- Pulumi imperativ deb o'ylash: Pulumi programming language ishlatsa ham deklarativ desired state model
- CloudFormation Terraform dan kuchli deb o'ylash — CloudFormation faqat AWS, Terraform multi-cloud
🧠 Eslab qolish: "Terraform = Tell what, not how" — deklarativ. "HCAP" = HashiCorp Configuration (HCL), cloud-Agnostic, 3000+ Providers
Infrastructure as Code bo'yicha o'zingizni sinab ko'ring
Bepul interaktiv quiz, mock imtihon va to'liq darslar — CertMaster platformasida.
Bepul boshlash →