Mengenal platform managed IaC seperti Terraform Cloud, Spacelift, env0, dan Scalr: remote execution, VCS integration, state management terkelola, private module registry, policy enforcement, serta kapan organisasi sebaiknya mengadopsinya.

Setelah di episode 13 sebelumnya kita membangun pipeline CI/CD sendiri — menulis workflow GitHub Actions dan GitLab CI untuk fmt, lint, security scan, plan, hingga apply dengan approval gate — pada episode kali ini kita akan membahas alternatif yang semakin populer di organisasi besar: managed IaC platforms seperti Terraform Cloud (sekarang bernama HCP Terraform), Spacelift, env0, dan Scalr.
Di episode 13, kalian mungkin menyadari bahwa membangun pipeline IaC yang benar membutuhkan banyak komponen: konfigurasi OIDC, workflow plan/apply terpisah, environment protection, artifact plan, hingga state backend dengan locking. Itu semua adalah pekerjaan infrastruktur yang harus dirawat oleh tim kalian sendiri. Pertanyaannya sekarang: apakah kita perlu membangun dan merawat semua itu, atau adakah yang bisa mengelolanya untuk kita?
Platform managed IaC menjawab pertanyaan itu dengan mengambil alih komponen-komponen tersebut menjadi layanan terkelola: runner eksekusi remote, integrasi VCS bawaan, state management dengan enkripsi & locking, registry modul privat, hingga policy enforcement. Mengapa topik ini penting di dunia nyata? Karena begitu sebuah organisasi memiliki banyak tim dan banyak stack Terraform, biaya memelihara pipeline self-managed menjadi lebih besar daripada biaya berlangganan platform — dan platform tersebut juga menambahkan safety net (RBAC, audit log, policy) yang sulit dibangun sendiri dengan kualitas yang sama.
Mari kita jujur sebentar: segala sesuatu yang dibangun di episode 13 memang benar dan berfungsi. Namun jika kalian bekerja di organisasi dengan 10 tim yang masing-masing mengelola 5 stack infrastruktur, total ada 50 pipeline yang harus dirawat. Setiap pipeline butuh konfigurasi, versi, monitoring, dan orang yang bertanggung jawab. Di titik itu, tim platform engineering mulai bertanya: "mengapa kita membangun ulang roda yang sama 50 kali?"
Perbandingan tiga model eksekusi Terraform:
| Aspek | Local (Laptop) | Self-Managed CI/CD | Managed IaC Platform |
|---|---|---|---|
| Runner eksekusi | Laptop developer | Agent/runner milik tim | Remote runners terkelola |
| State storage | Local file | Backend yang dirawat sendiri (S3+DynamoDB) | State terkelola + enkripsi + locking |
| Integrasi VCS | Manual | Workflow buatan sendiri | Bawaan (GitHub/GitLab/Bitbucket) |
| Approval & RBAC | Tidak ada | Environment protection manual | Policy + role bawaan |
| Audit trail | Tidak ada | Log pipeline | Audit log lengkap |
| Biaya perawatan | Nol (tapi sangat berisiko) | Tinggi (komponen banyak) | Langganan, perawatan nol |
| Cocok untuk | Latihan / solo | Tim yang ingin kontrol penuh | Organisasi multi-tim / enterprise |
Note
Penting untuk dipahami: platform managed IaC bukan pengganti Terraform atau Terragrunt — mereka adalah lapisan pengelola di atas Terraform. Kode HCL yang kalian tulis tetap identik; yang berubah adalah di mana ia dieksekusi, bagaimana disetujui, dan bagaimana state serta policy dikelola.
Meski tiap platform punya keunikan, lima fitur berikut adalah tulang punggung yang dimiliki hampir semua platform managed IaC:
| Fitur | Fungsi | Dampak Nyata |
|---|---|---|
| Remote Execution Runners | Eksekusi plan/apply terjadi di runner terkelola, bukan laptop | Menghentikan "apply dari laptop"; env konsisten |
| VCS Integration | Terhubung ke GitHub/GitLab; trigger run otomatis per commit/PR | Plan otomatis di setiap perubahan, posting ke PR |
| State Management | State disimpan, dienkripsi, dan di-lock oleh platform | Tidak perlu S3+DynamoDB, backup & versioning otomatis |
| Private Module Registry | Hosting modul internal dengan versioning & dokumentasi | Berbagi modul antar tim tanpa registry publik |
| Policy Enforcement | Aturan (PaC) yang memblokir run yang melanggar | Mencegah miskonfigurasi sebelum apply |
Masing-masing fitur ini pada dasarnya adalah sesuatu yang kita bangun manual di episode-episode sebelumnya, dikemas menjadi fitur bawaan yang terintegrasi. Itulah mengapa adopsi platform ini sering disebut sebagai "membeli waktu kembali" bagi tim platform.
Berikut perbandingan empat platform utama yang perlu kalian kenal:
| Platform | Vendor | Fitur Khas | Policy Engine | Model Harga |
|---|---|---|---|---|
| HCP Terraform (Terraform Cloud) | HashiCorp | Terintegrasi penuh dengan ekosistem Terraform, Sentinel & OPA bawaan, terintegrasi Vault | Sentinel, OPA | Free (small scale) + per-user / per-run tier |
| Spacelift | Spacelift.io | Support Terraform, OpenTofu, Pulumi, CloudFormation; policy OPA; workflow sangat fleksibel | OPA/Rego | Per-stack / per-concurrency |
| env0 | env0 | UI self-service untuk developer, cost estimation, environment templating | OPA + Regula | Per-environment / per-user |
| Scalr | Scalr | Multi-tenant cost control, policy RBAC, integrasi SAML/SSO enterprise | OPA (custom) | Per-active-user |
Empat platform ini bersaing di tiga sumbu utama: kedalaman ekosistem Terraform (HCP Terraform unggul karena dibuat vendor yang sama), fleksibilitas multi-tool (Spacelift dan env0 mendukung lebih dari sekadar Terraform), dan kontrol biaya enterprise (Scalr dan env0 menonjol). Tidak ada yang "paling baik" secara absolut — semuanya bergantung kebutuhan organisasi, yang akan kita bahas di bagian skenario adopsi.
Untuk memahami bagaimana platform ini bekerja, mari kita bedah alur kerja paling umum: VCS-driven workflow di HCP Terraform. Konsepnya sama di semua platform.
Begitu kalian menghubungkan repository (misal GitHub) ke workspace, setiap kejadian berikut akan memicu run:
1. Developer push commit / buka PR → run "Plan" otomatis di remote runner
2. Plan selesai → hasil terposting di PR (status + diff)
3. Reviewer setujui PR → PR di-merge ke main
4. Merge ke main → run "Plan" untuk main, lalu menunggu
5. Engineer klik "Confirm & Apply" → run "Apply" dieksekusi di remote runner
6. State ter-update + audit log → seluruh history tersimpan di platformSetiap run memiliki stages yang bisa dilihat seperti pipeline mini:
| Stage | Aktivitas | Output |
|---|---|---|
| Plan | Refresh state → membaca config terbaru → menghitung perubahan | File plan + perkiraan cost |
| Apply (setelah approval) | Mengeksekusi perubahan ke cloud secara aktual | Resource ter-update + state baru |
Tip
Perhatikan bahwa alur VCS-driven ini adalah implementasi siap pakai dari apa yang kita bangun manual di episode 13: plan otomatis di PR, approval manusia sebelum apply, dan state yang terkunci. Platform ini menghapus hampir seluruh beban penulisan workflow YAML yang tadi kita pelajari — kalian cukup konfigurasi, bukan memelihara kode pipeline.
cloud BlockBagaimana Terraform tahu bahwa ia harus berjalan di platform, bukan di lokal? Jawabannya adalah blok cloud pada konfigurasi:
terraform {
cloud {
organization = "mycompany-infra"
workspaces {
project = "platform"
name = "prod-vpc"
}
}
}Begitu blok ini ada, menjalankan terraform init akan mengubah perilaku Terraform:
prod-vpc di cloud.terraform plan dan terraform apply yang dijalankan dari CLI akan men-delegate eksekusi ke remote runner di platform.terraform plan bahkan bisa dipicu dari laptop tanpa kredensial cloud sama sekali — hasilnya dikirim balik sebagai log.$ terraform init
Initializing HCP Terraform...
Initializing provider plugins...
- Finding latest version of hashicorp/aws...
Successfully configured the backend "cloud"! HCP Terraform will
automatically manage this state file and enable locking.Warning
Perhatikan pesan di atas: "HCP Terraform will automatically manage this state file." Ini berarti state pindah ke platform — bukan lagi di bucket S3 milik kalian. Pastikan kebijakan organisasi memperbolehkan state (yang berisi data sensitif) tinggal di penyedia pihak ketiga, atau pilih platform self-hosted jika regulasi mengharuskannya.
Salah satu fitur yang paling berharga dari platform managed adalah policy enforcement — penerapan Policy as Code yang akan kita bahas mendalam di episode 16. Bayangkan alurnya:
# (contoh sederhana, bahasa policy disederhanakan)
policy "no_public_s3" {
source = <<-EOF
deny[msg] {
resource := terraform.resources[s3_bucket]
resource.config.acl == "public-read"
msg := "S3 bucket tidak boleh public-read"
}
EOF
}Saat sebuah run menghasilkan resource yang melanggar policy, platform akan memblokir apply secara otomatis — sebelum perubahan mencapai cloud. Ini adalah lapisan keamanan yang biasanya paling mahal untuk dibangun sendiri dengan kualitas tinggi, karena policy dievaluasi di setiap run tanpa bisa di-skip oleh engineer.
| Layer Pengaman | Eksekusi di Self-Managed | Eksekusi di Platform Managed |
|---|---|---|
| Code review di PR | Ada (review manusia) | Ada (integrasi VCS) |
| Plan yang direview | Ada | Ada + posting otomatis ke PR |
| Policy enforcement | Perlu diintegrasikan manual (OPA/Checkov) | Bawaan (Sentinel/OPA) di setiap run |
| RBAC & approval | Environment protection manual | RBAC + approval workflow bawaan |
Important
Integrasi Checkov/Trivy di pipeline episode 13 adalah static scan — memeriksa kode sebelum apply. Policy engine di platform (Sentinel/OPA) adalah runtime guard — memeriksa hasil plan aktual terhadap kebijakan organisasi. Keduanya saling melengkapi, bukan pengganti. Platform yang baik memungkinkan kalian menjalankan keduanya.
Supaya tidak abstrak, mari kita lihat satu skenario adopsi yang realistis.
Studi kasus: PT Maju Teknologi, 8 tim, 40 stack Terraform.
backend "s3" diganti dengan blok cloud (menyisakan hanya beberapa untuk data yang ter-regulasi). 40 stack dimigrasikan ke 40 workspace terorganisir dalam project per tim. Pipeline GitHub Actions dipangkas — yang tersisa hanya bootstrap dan task non-Terraform.Tip
Pola migrasi yang dianjurkan: mulai dengan satu tim dan satu stack (misal stack non-kritis), ukur dampaknya, lalu perluas. Jangan memigrasikan 40 stack sekaligus di minggu pertama — platform juga butuh periode "dipercaya". Gunakan terraform init -migrate-state saat berpindah dari backend lama ke workspace baru, persis pola yang kita pelajari di episode 5.
Agar keputusan kalian matang, mari rangkum kelebihan dan hal yang perlu dipertimbangkan:
| Kelebihan | Pertimbangan / Kekurangan |
|---|---|
| State, runner, dan pipeline terkelola penuh | Biaya langganan bulanan (scaling per user/run) |
| Policy + RBAC + audit bawaan | Data (state) tinggal di penyedia pihak ketiga |
| Integrasi VCS & approval out-of-the-box | Ketergantungan pada vendor (vendor lock-in) |
| Self-service untuk developer | Konfigurasi awal (organisasi, project, workspace) butuh waktu |
| Menghilangkan "apply dari laptop" secara teknis | Untuk tim yang sangat kecil, bisa terasa berlebihan |
| Private module registry bawaan | Opsional: perlu tim/owner yang mengelola standar |
Note
Rule of thumb yang banyak dipakai praktisi: di bawah ~5 stack & 1–2 tim, self-managed CI/CD (episode 13) masih cukup dan lebih murah. Di atas itu — banyak tim, kebutuhan policy terpusat, dan tuntutan audit — managed IaC platform mulai jauh lebih murah dalam total cost of ownership, karena waktu tim platform sangat berharga.
| Kesalahan | Gejala | Solusi |
|---|---|---|
| Memakai cloud block tanpa menyadari state pindah | Data sensitif di vendor tanpa persetujuan | Audit dulu, pilih platform yang cocok regulasi |
| Tidak memanfaatkan policy engine | Safety net platform tidak aktif | Aktifkan policy default + tulis policy organisasi |
| Migrasi 40 stack sekaligus | Kebingungan & insiden di hari pertama | Mulai dari stack non-kritis, bertahap |
Lupa terraform init -migrate-state | State lama tidak ikut → resource jadi orphan | Gunakan flag migrate saat berpindah backend |
| Menghapus pipeline CI/CD lama sepenuhnya | Kehilangan integrasi tool non-Terraform | Gabungkan: platform untuk Terraform, CI/CD untuk sisanya |
| Membiarkan semua orang jadi admin workspace | Approval & RBAC tidak bermakna | Terapkan role minimal: developer plan, owner apply |
Pada episode 14 ini kita telah membahas bagaimana managed IaC platforms — HCP Terraform, Spacelift, env0, dan Scalr — mengambil alih komponen-komponen yang kita bangun manual di episode 13: remote execution, integrasi VCS, state management terkelola, private module registry, dan policy enforcement. Kita juga melihat bahwa alur VCS-driven di platform ini sebenarnya adalah implementasi siap pakai dari prinsip "tidak ada apply dari laptop" dengan approval gate, yang sebelumnya harus kita susun sendiri dalam workflow YAML.
Poin kunci yang perlu kalian bawa pulang:
cloud memindahkan state dan eksekusi ke platform; pahami implikasinya terhadap keamanan data.Di episode 15 selanjutnya, kita akan menyelami topik yang selama beberapa episode terakhir terus menyinggung — Secret Management & State Security — membahas mengapa state file menyimpan rahasia dalam plaintext, bagaimana mengamankannya dengan enkripsi & IAM, dan bagaimana mengambil secrets dari HashiCorp Vault, AWS Secrets Manager, atau SOPS dengan sensitive = true. Pastikan tetap semangat!