Kenapa state lokal gagal buat tim
- Gak bisa dishare.
plan/previewtemen lu gak bisa liat state file lokal lu, jadi dia gak tau apa yang udah ada. - Gak ada locking. Dua orang jalanin
apply/updi waktu yang sama bisa bikin state korup atau resource keduplikat. - Gak ada history. Gak ada catatan siapa yang jalanin apa, atau cara buat rollback ke state snapshot sebelumnya.
- Gak durable. Satu laptop hilang, satu-satunya source of truth juga hilang.
Terraform: remote backend
Direkomendasiin buat pemula yang mau ke production: Terraform Cloud (HCP Terraform). Gratis buat tim kecil, nyimpen state secara remote, lock otomatis, dan nyimpen run history.tags, bukan name, kalau lu mau ini tetep jalan bareng pola terraform workspace new/select dari tutorial environments: name bikin konfigurasi lu nempel ke cuma satu HCP Terraform workspace, jadi gak ada apa-apa lagi buat di-switch sama terraform workspace new. Pake tags, tiap CLI workspace lokal ke-mapping ke HCP Terraform workspace-nya sendiri yang match.
Jalanin terraform login sekali, terus terraform init migrasiin state lokal yang udah ada ke cloud workspace secara otomatis.
Advanced: self-hosted backend yang S3-compatible
Advanced: self-hosted backend yang S3-compatible
Block
backend "s3" di Terraform jalan ke endpoint S3-compatible mana aja, gak cuma AWS. NEO Object Storage punya Biznet GIO sendiri itu S3-compatible, jadi state bisa diarahin ke bucket yang lu provision pake biznetgio_object_storage dan biznetgio_object_storage_bucket:Pulumi: state backend
Default-nya Pulumi Cloud, dan ini yang udah dipake quickstart tanpa konfigurasi tambahan; jalaninpulumi login tanpa argumen bakal login ke sana. Dia nyimpen state, lock otomatis, nyimpen history, dan ngatur enkripsi secret buat lu. Free tier-nya udah cukup buat tim kecil.
Advanced: self-hosted backend
Advanced: self-hosted backend
Pulumi juga bisa nyimpen state di folder lokal atau bucket S3-compatible, kepake kalau lu mau state-nya bener-bener gak lewat Pulumi Cloud:Self-managed backend juga butuh passphrase buat enkripsi secret, gantiin managed key punya Pulumi Cloud:Kalau passphrase-nya hilang, lu kehilangan kemampuan buat decrypt secret config values; stack-nya masih bisa diupdate, tapi lu gak bisa baca secret-nya balik.
Mindahin state antar backend
Dua tools bisa export dan re-import snapshot, ini cara migrasi tanpa harus mulai dari nol:Satu aturan yang lebih penting daripada backend mana yang lu pilih
Jangan pernah edit state file pake tangan. Kalau state sama kenyataan beda, betulin paketerraform import / pulumi import, atau sesuaiin konfigurasi lu biar match sama kenyataan, bukan buka file JSON-nya. Dan backend apapun yang lu pake, selalu jalanin plan/preview sebelum apply/up, biar ada yang liat diff-nya sebelum jadi kenyataan beneran, ini persis yang diautomasi sama tutorial CI/CD.
Langkah berikutnya
- Manage secrets the right way - masukin API token lu ke shared backend itu dan ke CI dengan aman