Lewati ke isi

Infrastructure as Code

Infrastructure as Code (IaC) adalah praktik mengelola dan menyediakan infrastruktur melalui file konfigurasi yang dapat dibaca mesin, bukan melalui proses manual atau interaktif.

Nama Deskripsi Dokumentasi Tutorial
Ansible Alat otomasi open-source yang umum digunakan untuk manajemen konfigurasi dan otomasi infrastruktur. Docs Getting Started
AWS CDK Kerangka kerja open-source untuk mendefinisikan infrastruktur cloud menggunakan bahasa pemrograman dan menyediakannya melalui AWS CloudFormation. Docs CDK Workshop
Chef Platform open-source untuk manajemen konfigurasi dan otomasi infrastruktur. Docs Chef Tutorials
Pulumi Platform Infrastructure as Code yang memungkinkan pendefinisian sumber daya cloud menggunakan bahasa pemrograman umum. Docs Getting Started
Terraform Alat untuk menyediakan dan mengelola sumber daya infrastruktur di seluruh penyedia cloud dan pusat data. Docs Terraform Tutorials
OpenTofu Fork open-source Terraform yang digerakkan komunitas, kompatibel dengan konfigurasi dan penyedia Terraform yang ada. Docs
Azure ARM / Bicep Alat Infrastructure as Code Azure bawaan untuk mendefinisikan dan mendeploy sumber daya Azure menggunakan template deklaratif. Docs Bicep Getting Started
Google Cloud Deployment Manager Layanan Infrastructure as Code Google Cloud bawaan untuk mendefinisikan dan mendeploy sumber daya menggunakan template deklaratif. Docs Getting Started
AWS CloudFormation Layanan Infrastructure as Code AWS bawaan untuk memodelkan dan menyediakan sumber daya menggunakan template deklaratif. Docs Getting Started

Perbandingan Alat

Deklaratif vs Imperatif

  • Deklaratif - Mendefinisikan kondisi akhir yang diinginkan (Terraform, Pulumi, AWS CDK, Azure ARM / Bicep, Google Cloud Deployment Manager)
  • Imperatif - Mendefinisikan langkah-langkah yang diperlukan untuk mencapai kondisi (Ansible, Chef)

Dukungan Bahasa

  • HCL - Terraform, OpenTofu
  • YAML - Ansible
  • JSON / YAML - AWS CloudFormation
  • YAML (config) / Python, Jinja2 (template) - Google Cloud Deployment Manager
  • Bicep / JSON - Azure ARM, Bicep
  • Bahasa Pemrograman - Pulumi (Python, TypeScript, Go, C#), AWS CDK (TypeScript, Python, Java, C#)
  • Ruby - Chef

Dukungan Penyedia Cloud

  • Multi-cloud - Terraform, Pulumi, Ansible
  • Berfokus AWS - AWS CDK, CloudFormation
  • Berfokus Azure - Azure ARM, Bicep
  • Berfokus Google - Google Cloud Deployment Manager
  • Tidak terikat penyedia - Chef, Ansible

Punya saran, tambahan, praktik terbaik, atau referensi? Silakan berkontribusi untuk membantu orang lain belajar!

Alat & Perangkat Lunak Manajemen Multi-cloud