Di era komputasi awan, pendekatan Infrastructure as Code (IaC) telah menjadi standar emas untuk mengelola sumber daya. Daripada mengklik manual di portal Azure, kita menulis kode yang mendefinisikan infrastruktur kita. Hal ini memastikan konsistensi, mengurangi kesalahan manusia, dan memungkinkan deployment yang dapat diulang. Untuk Azure, alat IaC resmi dari Microsoft adalah Bicep.
Bicep adalah bahasa yang dirancang khusus untuk menyederhanakan deployment sumber daya Azure. Jika Anda merasa template ARM berbasis JSON terlalu rumit, Bicep adalah solusi yang Anda cari. Panduan ini akan membawa Anda dari nol, langkah demi langkah, untuk membuat dan mengotomatisasi deployment infrastruktur Azure sederhana menggunakan Bicep.
Baca juga :JavaScript Bukan Hanya untuk Website: Mengapa Bahasa Ini Menggerakkan Aplikasi Modern dan AI
Langkah 1: Memasang Alat yang Dibutuhkan
Sebelum memulai, pastikan Anda memiliki semua alat yang diperlukan:
- Azure CLI: Instal Azure Command-Line Interface. Ini adalah alat baris perintah yang akan kita gunakan untuk berinteraksi dengan Azure. Anda dapat mengunduhnya dari situs resmi Microsoft.
- Visual Studio Code: Ini adalah editor kode terbaik untuk Bicep.
- Ekstensi Bicep untuk VS Code: Buka Visual Studio Code, pergi ke tab ekstensi, dan cari "Bicep". Pasang ekstensi yang dibuat oleh Microsoft. Ekstensi ini menyediakan fitur syntax highlighting, autocompletion, dan validasi yang sangat membantu.
- Masuk ke Azure: Buka terminal atau command prompt, lalu masuk ke akun Azure Anda dengan perintah berikut:Bash
az loginIkuti instruksi yang muncul di layar untuk masuk.
Langkah 2: Memahami Struktur Dasar Bicep
Bicep adalah bahasa deklaratif. Anda hanya perlu menyatakan sumber daya yang Anda inginkan, dan Bicep akan mencari tahu cara membuatnya. Setiap file Bicep (.bicep) terdiri dari beberapa komponen dasar:
- Parameter: Digunakan untuk menerima input, seperti nama sumber daya atau lokasi. Ini membuat template Anda dapat digunakan kembali.Code snippet
param location string = 'westus' param storageAccountName string - Variabel: Digunakan untuk menyimpan nilai yang dihitung atau dikonfigurasi di dalam file.Code snippet
var uniqueStorageName = toLower('${storageAccountName}${uniqueString(resourceGroup().id)}') - Sumber Daya: Ini adalah inti dari file Bicep. Anda mendefinisikan sumber daya Azure yang akan dibuat.Code snippet
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = { name: uniqueStorageName location: location sku: { name: 'Standard_LRS' } kind: 'StorageV2' } - Output: Digunakan untuk mengembalikan nilai dari template setelah deployment selesai, seperti URL atau kunci koneksi.Code snippet
output storageAccountUrl string = storageAccount.properties.primaryEndpoints.blob
Langkah 3: Proyek Pertama Anda — Membuat Akun Penyimpanan
Mari kita buat proyek sederhana untuk mengotomatisasi deployment sebuah akun penyimpanan (Storage Account) di Azure. Akun penyimpanan adalah tempat Anda menyimpan data seperti file, blob, atau tabel.
- Buat Direktori Proyek: Buat folder baru, misalnya
azure-bicep-project. - Buat File Bicep: Di dalam folder tersebut, buat file baru dengan nama
main.bicepdan buka dengan Visual Studio Code. - Tambahkan Kode: Salin dan tempel kode Bicep berikut ke dalam file
main.bicep.
Code snippet
// main.bicep
// ===================================
// Parameter untuk input template
// ===================================
param location string = 'eastus'
param storageAccountName string
// ===================================
// Sumber daya yang akan dibuat
// ===================================
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
// ===================================
// Output dari deployment
// ===================================
output storageAccountUrl string = storageAccount.properties.primaryEndpoints.blob
Kode ini sangat jelas: ia mendefinisikan dua parameter input, satu sumber daya akun penyimpanan, dan satu output. Ekstensi VS Code akan membantu Anda dengan autocompletion saat Anda mengetik.
Langkah 4: Melakukan Deployment
Sekarang saatnya menguji template Bicep Anda. Di terminal, navigasi ke direktori proyek Anda (azure-bicep-project) dan ikuti langkah-langkah di bawah.
- Buat Grup Sumber Daya: Semua sumber daya di Azure harus berada di dalam resource group. Buat grup sumber daya baru untuk proyek Anda:Bash
az group create --name bicep-demo-rg --location eastus - Lakukan Deployment: Gunakan Azure CLI untuk melakukan deployment. Anda harus memberikan nilai untuk parameter
storageAccountNameyang kita definisikan. Nama akun penyimpanan harus unik di seluruh Azure, jadi tambahkan string acak atau unik di akhirnya.Bashaz deployment group create --resource-group bicep-demo-rg --template-file main.bicep --parameters storageAccountName=bicepdemostorage12345--resource-group: Nama grup sumber daya target.--template-file: Menunjuk ke file Bicep Anda.--parameters: Mengirimkan nilai untuk parameter yang diperlukan.
- Verifikasi Deployment: Azure akan memproses permintaan Anda, dan Anda akan melihat output di terminal yang menunjukkan status deployment. Anda juga bisa masuk ke portal Azure, navigasi ke resource group
bicep-demo-rg, dan Anda akan melihat akun penyimpanan yang baru saja Anda buat. Output yang Anda definisikan di Bicep juga akan terlihat di detail deployment.
Langkah 5: Mengubah dan Memperbarui Infrastruktur
Salah satu kekuatan IaC adalah kemampuan untuk dengan mudah memperbarui infrastruktur. Mari kita ubah template kita untuk membuat akun penyimpanan lebih tangguh dengan mengganti SKU-nya menjadi Standard_GRS (Geo-Redundant Storage).
- Ubah File Bicep: Buka kembali file
main.bicepdan ubah nilaisku.namedari'Standard_LRS'menjadi'Standard_GRS'.Code snippet// ... resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = { name: storageAccountName location: location sku: { name: 'Standard_GRS' // Ganti dari LRS ke GRS } kind: 'StorageV2' } // ... - Jalankan Ulang Deployment: Jalankan perintah deployment yang sama. Bicep dan Azure Resource Manager akan mendeteksi perubahan, dan hanya akan memperbarui properti yang diubah pada sumber daya yang sudah ada, tanpa perlu menghapus dan membuat ulang akun penyimpanan.Bash
az deployment group create --resource-group bicep-demo-rg --template-file main.bicep --parameters storageAccountName=bicepdemostorage12345Proses ini disebut idempotency—Anda bisa menjalankan skrip yang sama berulang kali, dan hasilnya akan selalu sama, baik itu membuat sumber daya baru atau memperbarui yang sudah ada.
Langkah 6: Menambahkan Sumber Daya Lain
Mari kita tambahkan satu sumber daya lagi untuk melihat bagaimana Bicep menangani ketergantungan. Kita akan menambahkan sebuah Container Registry (tempat untuk menyimpan citra Docker).
- Ubah
main.bicep: Tambahkan kode berikut di bawah sumber dayastorageAccount.Code snippet// ... param acrName string resource acr 'Microsoft.ContainerRegistry/registries@2021-09-01' = { name: acrName location: location sku: { name: 'Basic' } } // Output untuk Container Registry output acrLoginServer string = acr.properties.loginServer - Jalankan Deployment Lagi: Sekarang, template kita membutuhkan parameter baru (
acrName). Jalankan perintah deployment dengan parameter baru tersebut.Bashaz deployment group create --resource-group bicep-demo-rg --template-file main.bicep --parameters storageAccountName=bicepdemostorage12345 acrName=bicepdemoregistry12345Bicep secara otomatis memahami bahwa kedua sumber daya ini tidak memiliki dependensi satu sama lain dan dapat di-deploy secara paralel, jika memungkinkan.
Baca juga : Workshop Inovasi Robot Mobile dan Alat Pintar Deteksi Kebencanaan di SMA Negeri 2 Tulang Bawang Tengah
Kesimpulan
Selamat! Anda telah berhasil membangun, memperbarui, dan mengotomatisasi deployment infrastruktur Azure menggunakan Bicep. Dari panduan sederhana ini, Anda telah melihat bagaimana Bicep menyederhanakan proses yang sering dianggap rumit. Sintaksnya yang bersih, fitur autocompletion yang cerdas, dan kemampuannya untuk mengelola ketergantungan secara otomatis, semuanya berkontribusi pada pengalaman Infrastructure as Code yang jauh lebih menyenangkan dan efisien.
Ini hanyalah awal. Bicep memiliki banyak fitur canggih lainnya, seperti modularitas, perulangan, dan kondisi, yang akan memungkinkan Anda untuk mengotomatisasi infrastruktur yang jauh lebih kompleks. Dengan fondasi ini, Anda siap untuk membawa deployment Azure Anda ke level selanjutnya.
Penulis : Naysila pramuditha azh zahra