Logo Universitas Teknokrat Indonesia

Dari Nol ke Otomatisasi: Panduan Praktis Membuat Infrastruktur Azure dengan Bicep

Kategori: Teknologi
Gambar untuk Dari Nol ke Otomatisasi: Panduan Praktis Membuat Infrastruktur Azure dengan Bicep

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:

  1. 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.
  2. Visual Studio Code: Ini adalah editor kode terbaik untuk Bicep.
  3. 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.
  4. Masuk ke Azure: Buka terminal atau command prompt, lalu masuk ke akun Azure Anda dengan perintah berikut:Bashaz login Ikuti 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 snippetparam location string = 'westus' param storageAccountName string
  • Variabel: Digunakan untuk menyimpan nilai yang dihitung atau dikonfigurasi di dalam file.Code snippetvar uniqueStorageName = toLower('${storageAccountName}${uniqueString(resourceGroup().id)}')
  • Sumber Daya: Ini adalah inti dari file Bicep. Anda mendefinisikan sumber daya Azure yang akan dibuat.Code snippetresource 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 snippetoutput 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.

  1. Buat Direktori Proyek: Buat folder baru, misalnya azure-bicep-project.
  2. Buat File Bicep: Di dalam folder tersebut, buat file baru dengan nama main.bicep dan buka dengan Visual Studio Code.
  3. 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.

  1. Buat Grup Sumber Daya: Semua sumber daya di Azure harus berada di dalam resource group. Buat grup sumber daya baru untuk proyek Anda:Bashaz group create --name bicep-demo-rg --location eastus
  2. Lakukan Deployment: Gunakan Azure CLI untuk melakukan deployment. Anda harus memberikan nilai untuk parameter storageAccountName yang 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.
  3. 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).

  1. Ubah File Bicep: Buka kembali file main.bicep dan ubah nilai sku.name dari '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' } // ...
  2. 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.Bashaz deployment group create --resource-group bicep-demo-rg --template-file main.bicep --parameters storageAccountName=bicepdemostorage12345 Proses 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).

  1. Ubah main.bicep: Tambahkan kode berikut di bawah sumber daya storageAccount.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
  2. 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=bicepdemoregistry12345 Bicep 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