Tentang Sesi Ini
Ringkasan & metadata
Sesi ini membahas cara mengubah infrastruktur yang dibuat secara manual lewat console AWS — sering disebut "ClickOps" (mengoperasikan cloud dengan klik demi klik) — menjadi Infrastructure as Code (IaC), yaitu infrastruktur yang didefinisikan sebagai berkas kode: Terraform, AWS CDK, atau CloudFormation. Inti pembahasannya adalah teknik reverse engineering: membedah resource yang sudah berjalan di akun Anda, lalu "menuliskannya kembali" menjadi kode — dengan bantuan Kiro, agen AI yang bisa memindai resource dan menghasilkan template secara otomatis.
Banyak tim memulai perjalanan cloud dengan ClickOps karena cepat dan intuitif. Masalahnya muncul belakangan: konfigurasi tidak tercatat, sulit direproduksi di lingkungan lain, dan rawan drift — kondisi ketika keadaan nyata di cloud tak lagi cocok dengan yang seharusnya. Sesi ini menawarkan jalan keluar yang praktis: bukan membangun ulang dari nol, melainkan mengangkat yang sudah ada menjadi kode, lalu mengelolanya secara disiplin lewat Git dan verifikasi state.
Kenapa penting untuk Anda? Jika tim Anda punya "infrastruktur warisan" yang dibangun manual dan kini takut disentuh karena tak ada yang tahu persis isinya — sesi ini adalah peta untuk merapikannya menjadi kode yang aman diubah dan diaudit.
Bahaya ClickOps & Janji IaC
Bahaya ClickOps
ClickOps adalah cara membangun infrastruktur dengan mengeklik tombol di console: buat VPC, tambah subnet, atur security group, luncurkan instance — semua dengan tangan. Untuk eksperimen awal ini nyaman, tetapi menyimpan tiga bahaya besar saat skala tumbuh:
- Tidak tercatat. Tak ada satu berkas pun yang menjelaskan "kenapa" dan "apa saja" yang dibuat. Pengetahuan ada di kepala satu-dua orang; saat mereka pergi, hilang pula.
- Sulit direproduksi. Meniru setup produksi menjadi staging berarti mengeklik ulang ratusan langkah — melelahkan dan rawan salah, sehingga lingkungan tak pernah benar-benar identik.
- Drift. Seseorang mengubah satu setelan lewat console "sebentar saja", lupa mencatatnya, dan kini kenyataan berbeda dari dokumentasi. Perubahan diam-diam ini sumber insiden yang sulit dilacak.
Infrastructure as Code (IaC) menjawab ketiganya: seluruh infrastruktur dijelaskan sebagai kode yang bisa dibaca, ditinjau, diberi versi, dan dijalankan ulang. Kode itu menjadi sumber kebenaran tunggal — dokumentasi yang selalu akurat karena ia sekaligus yang menjalankan infrastruktur.
IaC & perkakasnya
Berikut perkakas dan konsep inti yang dibahas di sesi, dengan fungsi ringkasnya:
Ketiga alat IaC (Terraform, CDK, CloudFormation) punya filosofi berbeda, tetapi tujuan sama: mendefinisikan infrastruktur sebagai kode. Kiro mempercepat perpindahan dari ClickOps ke salah satu alat itu dengan memindai resource eksisting dan menghasilkan draf kode-nya, sementara Git menyimpan sejarahnya dan drift detection menjaga agar kenyataan tetap sinkron dengan kode.
Analogi yang Mudah Dicerna
Memotret bangunan yang sudah berdiri jadi blueprint
Ibaratnya, infrastruktur ClickOps Anda adalah sebuah gedung yang sudah terlanjur berdiri — dibangun bertahap oleh banyak tukang, tanpa gambar arsitektur yang tersimpan. Gedungnya berfungsi, tetapi tak ada yang tahu persis di mana semua pipa dan kabel berada. Reverse engineering dengan Kiro ibarat memotret gedung itu dari segala sudut, lalu otomatis menghasilkan "blueprint" arsitekturnya.
Begitu blueprint (kode IaC) ada di tangan, Anda bisa membangun ulang gedung yang persis sama — di kota lain, kapan saja, tanpa menebak-nebak. Perubahan pun jadi aman: alih-alih membobol tembok langsung, Anda mengubah gambarnya dulu, meninjaunya bersama tim, baru mengeksekusi.
- Gedung terlanjur berdiri = infrastruktur hasil ClickOps yang sudah berjalan.
- Memotret dari segala sudut = Kiro memindai resource eksisting di akun AWS.
- Blueprint otomatis = template Terraform / CDK / CloudFormation yang dihasilkan.
- Membangun ulang persis di mana saja = reproduksibilitas antar-environment.
- Mengubah gambar dulu baru tembok = alur perubahan lewat kode & review, bukan klik langsung.
High-Level Architecture & Alur
High-Level Architecture (HLA)
Secara garis besar, proses memindahkan infrastruktur ClickOps ke IaC terlihat seperti ini: Kiro memindai resource yang berjalan di akun AWS, menghasilkan draf kode dalam format pilihan Anda (Terraform, CDK, atau CloudFormation), Anda meninjau dan menyimpannya di Git, lalu alat IaC melakukan import resource ke dalam state sehingga kode kini "menguasai" infrastruktur nyata — dan drift detection terus menjaga keduanya tetap sinkron.
Alur reverse engineering satu infrastruktur
Ketika Anda ingin mengangkat sebuah VPC dan isinya yang dibuat manual menjadi kode, inilah tahapannya:
- Pindai. Kiro menelusuri akun AWS dan mengidentifikasi resource beserta konfigurasi & ketergantungannya.
- Hasilkan kode. Kiro menyusun draf template (Terraform/CDK/CloudFormation) yang merepresentasikan resource tadi.
- Tinjau. Anda membaca, merapikan, memberi nama variabel, dan meng-commit kode ke Git.
- Import ke state. Alat IaC mendaftarkan resource nyata ke dalam state — tanpa membuat ulang, agar tak ada gangguan.
- Verifikasi. Jalankan
plan/diff; hasil idealnya "no changes" — tanda kode sudah cocok persis dengan kenyataan. - Kelola. Sejak kini semua perubahan lewat kode; drift detection memperingatkan bila ada yang mengubah lewat console.
Dari Konsep ke Bisnis Nyata
Contoh nyata (konteks Indonesia)
Agar tidak berhenti di teori, berikut tiga skenario penerapan yang khas di lapangan.
Merapikan infrastruktur warisan jadi kode
Sebuah perusahaan logistik punya akun AWS berisi puluhan resource yang dibangun manual selama bertahun-tahun — tak ada yang berani menyentuhnya karena tak ada dokumentasi. Dengan Kiro, tim memindai seluruh akun dan menghasilkan draf Terraform, lalu meng-import resource ke state tanpa membuat ulang. Kini infrastruktur "gelap" itu punya kode yang bisa dibaca, ditinjau di Git, dan diubah dengan aman — pengetahuan tak lagi tersandera di kepala satu orang.
Reproduksibilitas antar-environment (dev/staging/prod)
Startup fintech kesulitan menyamakan staging dengan produksi karena keduanya dibuat manual dan selalu ada selisih. Setelah produksi diangkat menjadi kode AWS CDK, mereka cukup memparameterkan kode itu untuk melahirkan dev, staging, dan prod yang identik. Bug "hanya muncul di produksi" berkurang drastis karena lingkungan kini benar-benar sama, dan environment baru bisa dibangun dalam hitungan menit.
Disaster recovery & audit
Penyedia layanan kesehatan wajib punya rencana pemulihan bencana dan jejak audit. Dengan infrastruktur sebagai kode (CloudFormation) yang tersimpan di Git, seluruh region cadangan bisa dibangkitkan ulang dari template yang sama saat terjadi gangguan. Setiap perubahan infrastruktur punya riwayat commit — siapa mengubah apa dan kapan — sehingga audit menjadi transparan, dan drift detection memastikan tak ada perubahan diam-diam yang lolos.
Ringkasan Visual (Geser)
Ringkasan visual
Enam kartu berikut merangkum inti sesi. Gunakan tombol atau tombol panah keyboard (← →) untuk berpindah.
Poin yang Bisa Dibawa Pulang
Poin yang bisa dibawa pulang
- ClickOps menumpuk utang teknis. Tidak tercatat, sulit direproduksi, dan rawan drift — masalah yang membesar seiring skala.
- IaC menjadikan kode sumber kebenaran. Terraform, CDK, atau CloudFormation membuat infrastruktur bisa ditinjau, diberi versi, dan dijalankan ulang.
- Kiro mempercepat perpindahan. Memindai resource eksisting dan menghasilkan draf kode — Anda tinggal meninjau, bukan menulis dari nol.
- Kuncinya verifikasi & disiplin. Import ke state, pastikan
plan"no changes", lalu kelola semua perubahan lewat Git & drift detection.