Figure 1. Ilustrasi konsep Infrastructure as Code  (https://digital-power.com/en/inspiration/5-reasons-to-use-infrastructure-as-code-iac/)

Bayangkan kamu punya server, database, dan jaringan cloud yang semuanya harus disetup manual. Satu konfigurasi salah, seluruh sistem bisa kacau. Dulu, sysadmin menghabiskan waktu berjam-jam hanya untuk memastikan setiap server identik seperti merapikan taman besar satu per satu tanpa peta.

Kini, dunia sudah berubah. Dengan Infrastructure as Code (IaC), kita bisa “menulis” infrastruktur seperti menulis program: menggunakan kode, version control, dan otomatisasi. Kalau dulu server diatur lewat klik-klik di dashboard, sekarang cukup lewat Git dan YAML.

 

Apa Itu Infrastructure as Code?

Infrastructure as Code (IaC) adalah pendekatan di mana pengelolaan infrastruktur (server, jaringan, dan resource cloud) dilakukan dengan kode yang bisa dijalankan dan disimpan di repositori. Tujuannya: membuat konfigurasi infrastruktur konsisten, otomatis, dan bisa direplikasi kapan pun. Kalau diibaratkan, IaC itu seperti resep masakan digital. Daripada “ngira-ngira” bahan di dapur, kamu tulis resepnya di file YAML, lalu jalankan kapan saja untuk hasil yang sama.

Beberapa bahasa atau tool populer untuk IaC antara lain:

  1. YAML & HCL (HashiCorp Configuration Language)
  2. wTerraform (oleh HashiCorp)
  3. AWS CloudFormation
  4. Ansible (menggunakan YAML playbook)
  5. Pulumi (menggunakan TypeScript atau Python)

 

Git dan YAML: Dua Sahabat Infrastruktur Modern

Di dunia IaC, Git berperan sebagai penyimpan versi infrastruktur. Semua perubahan menambah server, mengganti IP, memperbarui konfigurasi dilakukan lewat commit seperti saat mengubah kode program. Inilah yang disebut GitOps, paradigma baru di mana operasi sistem mengikuti praktik software development.

Sementara itu, YAML (Yet Another Markup Language) menjadi format utama untuk mendeskripsikan infrastruktur. Ia mudah dibaca manusia dan bisa dijalankan oleh mesin. Misalnya, satu file deployment.yaml di Kubernetes bisa menentukan berapa banyak container yang dijalankan dan bagaimana perilakunya.

Figure 2. Contoh sederhana konfigurasi YAML untuk deployment (Sumber: Dokumentasi Penulis)

 

Satu file ini sudah cukup untuk membuat tiga container webapp yang identik.
Itulah kekuatan sederhana tapi revolusioner dari IaC.

 

GitOps dan Otomatisasi Pipeline

Ketika Git digunakan sebagai pusat manajemen infrastruktur, muncullah praktik GitOps cara baru mengelola sistem melalui pull request dan CI/CD pipeline. Setiap perubahan di repositori akan otomatis memicu pipeline untuk membangun dan memperbarui infrastruktur sesuai kode terbaru. Dengan GitOps, infrastruktur menjadi seperti kode hidup yang selalu sinkron dengan dokumentasinya. Jika terjadi kesalahan, cukup rollback ke commit sebelumnya.

Figure 3. Alur kerja Infrastructure as Code dengan Git dan pipeline otomatis
(https://blog.sparkfabrik.com/en/infrastructure-as-code-what-is-it-and-its-benefits)

Manfaat Infrastruktur sebagai Kode

Aspek Sebelum IaC Dengan IaC
Konfigurasi Manual, rawan kesalahan Otomatis, terversi di Git
Skalabilitas Sulit menambah server cepat Bisa replikasi otomatis
Audit & Keamanan Tidak terdokumentasi Semua perubahan tercatat
Kolaborasi Bergantung individu Bisa lewat pull request
Disaster Recovery Proses panjang Bisa rebuild otomatis

Dengan pendekatan ini, tim DevOps bisa men-deploy seluruh infrastruktur dalam hitungan menit, bukan jam atau hari. Lebih penting lagi, IaC membawa filosofi baru: infrastruktur sebagai sesuatu yang hidup dan bisa dirawat lewat kode.

 

Infrastruktur yang Dirawat, Bukan Dikerjakan Ulang

Infrastructure as Code mengubah cara kita melihat infrastruktur: bukan lagi tumpukan server yang harus diurus manual, tapi organisme digital yang bisa dipelihara lewat versi kode. Dengan Git sebagai arsip, YAML sebagai bahasa, dan pipeline otomatis sebagai tangan digital, IaC membuat dunia infrastruktur jadi lebih teratur, transparan, dan bisa diulang kapan pun. Karena pada akhirnya, merawat infrastruktur bukan lagi soal memelihara server tapi menjaga keseimbangan antara manusia, kode, dan mesin.

 

Penulis:
Emmanuel Daniel Widhiarto, S.Kom – FDP Scholar

Referensi

  1. Digital Power. (2024). 5 Reasons to Use Infrastructure as Code (IaC). https://digital-power.com/en/inspiration/5-reasons-to-use-infrastructure-as-code-iac/
  2. HashiCorp. (2023). What is Infrastructure as Code? https://www.hashicorp.com/resources/what-is-infrastructure-as-code
  3. SparkFabrik. (2023). Infrastructure as Code: What It Is and Its Benefits. https://blog.sparkfabrik.com/en/infrastructure-as-code-what-is-it-and-its-benefits
  4. Terraform Documentation. (2024). Configuration Language (HCL). https://developer.hashicorp.com/terraform/language
  5. Kubernetes Documentation. (2024). Deployments. https://kubernetes.io/docs/concepts/workloads/controllers/deployment/