- Kini kita hidup di era ketika server bisa di-deploy hanya dengan beberapa klik di konsol AWS, dan beragam infrastruktur bisa dibangun dengan satu baris perintah
- IaC
- Mengelola dan melakukan provisioning infrastruktur dengan kode
- Jaringan, server, storage, dan lainnya yang kita inginkan semuanya disimpan dan dikelola dalam bentuk kode
- Dengan begitu, kode dapat dibagikan, diuji, dan digunakan ulang sehingga infrastruktur bisa dikelola dengan lebih produktif
- Terraform
- Terraform adalah alat paling terkenal di antara solusi IaC
- Tidak hanya cloud seperti AWS, GCP, dan Azure, tetapi juga solusi internal perusahaan dapat dikelola
- Menggunakan pendekatan deklaratif yang mendefinisikan hasil akhir yang diinginkan, sehingga hasilnya mudah diprediksi
- Meski kodenya digunakan ulang, hasil yang sama tetap terjamin
- Dengan menjalankan
terraform plan, dibuat rencana rinci tentang bagaimana resource akan dibuat di AWS
- Penerapan aktual dilakukan melalui
terraform apply
- Informasi resource yang dibuat oleh Terraform dikelola dalam file JSON bernama
tfstate
- Cara penggunaan Terraform
- Menyediakan fungsi untuk membuat resource berdasarkan input pengguna melalui berbagai keyword, lalu menampilkan hasil eksekusi di CLI
- Provider
- Plugin yang mengimplementasikan jenis resource
- Cari provider untuk platform dan layanan cloud yang digunakan seperti AWS atau GCP, tambahkan ke konfigurasi, lalu gunakan resource terkait untuk melakukan provisioning infrastruktur
- Module
- Konfigurasi Terraform kecil yang dapat digunakan ulang untuk mengelola kelompok resource terkait seolah-olah merupakan satu resource tunggal
- Modul buatan orang lain juga bisa dimanfaatkan dengan bebas untuk mengelola banyak resource secara efisien dengan sedikit kode
- Modul yang sama dapat dipanggil berkali-kali dengan konfigurasi yang berbeda
- Resource
- Keyword yang menjelaskan satu atau lebih objek infrastruktur, seperti komponen tingkat tinggi berupa jaringan virtual, instance komputasi, atau record DNS
- Variable
- Variabel input digunakan untuk menentukan properti resource tanpa mengubah source code modul
- Mirip dengan parameter fungsi dalam bahasa pemrograman
- Melalui variabel input, modul dapat dibagikan dan digunakan ulang dengan lebih fleksibel
- Output
- Nilai output dapat menghasilkan informasi infrastruktur yang digunakan di command line, dan dapat mengekspos informasi ke konfigurasi Terraform lain yang akan menggunakannya
- Mirip dengan nilai return dalam bahasa pemrograman
Belum ada komentar.