Apa itu Infrastructure as Code (IaC)?
Di masa lalu, jika seorang engineer ingin membuat 3 server baru, satu jaringan VPC, dan Load Balancer di penyedia cloud (seperti AWS atau GCP), mereka harus:
- Membuka browser dan login ke konsol web cloud provider.
- Mengklik menu VPC, mengisi subnet secara manual.
- Mengklik tombol “Launch Instance” berkali-kali.
- Mencatat IP address dan setting firewall satu per satu.
Proses manual ini lambat, rentan salah klik (human-error), dan sangat sulit untuk diduplikasi ke lingkungan lain.
Infrastructure as Code (IaC) adalah pendekatan untuk mendefinisikan, menyediakan (provisioning), dan mengelola infrastruktur pusat data menggunakan berkas kode konfigurasi deklaratif.
Dibuat oleh HashiCorp pada tahun 2014, Terraform adalah alat IaC terpopuler di dunia. Terraform menggunakan bahasa khusus bernama HashiCorp Configuration Language (HCL).
2. Apa itu OpenTofu?
Pada Agustus 2023, HashiCorp mengubah lisensi software Terraform dari open-source murni (MPL 2.0) menjadi lisensi bisnis BSL (Business Source License).
Menanggapi perubahan ini, komunitas open-source global bersama Linux Foundation membuat fork independen bernama OpenTofu. OpenTofu adalah alternatif open-source 100% yang sepenuhnya kompatibel dengan sintaks, berkas .tf, dan ekosistem provider Terraform yang sudah ada.
Sering kali pemula bingung kapan harus menggunakan Terraform dan kapan harus menggunakan Ansible. Keduanya saling melengkapi:
Kombinasi Terbaik di Industri:
Gunakan Terraform untuk membuat 3 VM dan jaringan VPC di AWS → lalu gunakan Ansible untuk menginstal Docker dan aplikasi di dalam ke-3 VM tersebut!
- Provider: Plugin yang menghubungkan Terraform dengan API platform target (contoh: AWS Provider, Google Cloud Provider, Proxmox Provider, Kubernetes Provider).
- State File (
terraform.tfstate): File basis data internal tempat Terraform merekam ID nyata dan status sumber daya cloud yang sudah pernah ia buat.
- Siklus Eksekusi Terraform (The Core Workflow):
terraform init: Mengunduh plugin provider yang dibutuhkan.
terraform plan: Menampilkan simulasi preview perubahan (apa saja yang akan dibuat, diubah, atau dihapus).
terraform apply: Mengeksekusi pembuatan infrastruktur nyata ke cloud provider.
terraform destroy: Menghapus seluruh infrastruktur yang telah dibuat untuk menghentikan tagihan cloud.
Last modified on October 26, 2026