Bagikan melalui


Apa itu Bicep?

Bicep adalah bahasa khusus domain yang menggunakan sintaksis deklaratif untuk menyebarkan sumber daya Azure. Dalam file Bicep, Anda menentukan infrastruktur yang ingin Anda sebarkan ke Azure lalu menggunakan file tersebut di seluruh siklus hidup pengembangan untuk berulang kali menyebarkan infrastruktur tersebut. Sumber daya Anda disebarkan secara konsisten.

Bicep menyediakan sintaks ringkas, keamanan jenis yang andal, dan dukungan untuk menggunakan kembali kode. Bicep menawarkan pengalaman penulisan terbaik untuk solusi infrastruktur sebagai kode di Azure.

Keuntungan Bicep

Bicep memberikan keuntungan berikut:

  • Dukungan untuk semua jenis sumber daya dan versi API: Bicep segera mendukung semua pratinjau dan versi GA untuk layanan Azure. Segera setelah penyedia sumber daya memperkenalkan jenis sumber daya baru dan versi API, Anda dapat menggunakannya dalam file Bicep Anda. Anda tidak perlu menunggu alat diperbarui sebelum menggunakan layanan baru.

  • Sintaks sederhana: Jika dibandingkan dengan templat JSON yang setara, file Bicep lebih ringkas dan lebih mudah dibaca. Bicep tidak memerlukan pengetahuan sebelumnya tentang bahasa pemrograman. Sintaks Bicep bersifat deklaratif dan menentukan sumber daya dan properti sumber daya mana yang ingin Anda sebarkan.

    Contoh berikut ini memperlihatkan perbedaan antara file Bicep dan templat JSON yang setara. Kedua contoh menyebarkan akun penyimpanan:

    param location string = resourceGroup().location
    param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
    
    resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

  • Pengalaman penulisan: Saat Anda menggunakan Ekstensi Bicep untuk VS Code untuk membuat file Bicep, Anda akan mendapatkan pengalaman menulis kelas satu. Editor menyediakan keamanan jenis yang kaya, IntelliSense, dan validasi sintaksis.

    Tangkapan layar penulisan file Bicep secara real time

    Anda juga dapat membuat file Bicep di Visual Studio dengan ekstensi Bicep untuk Visual Studio.

  • Hasil yang dapat diulang: Sebarkan infrastruktur Anda di seluruh siklus hidup pengembangan dengan yakin bahwa sumber daya Anda disebarkan secara konsisten. File Bicep idempoten, yang berarti Anda dapat menyebarkan file yang sama berkali-kali dan mendapatkan jenis sumber daya yang sama dalam keadaan yang sama. Anda dapat mengembangkan satu file yang mewakili status yang diinginkan alih-alih mengembangkan banyak file terpisah untuk mewakili pembaruan. Misalnya, file berikut membuat akun penyimpanan. Jika Anda menyebarkan templat ini dan akun penyimpanan saat properti yang ditentukan sudah ada, perubahan tidak dilakukan:

    param location string = resourceGroup().location
    
    resource mystore 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: 'mystorageaccount'
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
    }
    

  • Orkestrasi: Anda tidak perlu khawatir tentang kerumitan operasi pemesanan. Resource Manager mengatur penyebaran sumber daya yang saling bergantung sehingga dibuat dalam urutan yang benar. Jika memungkinkan, Resource Manager menyebarkan sumber daya secara paralel, yang membantu penyebaran Anda selesai lebih cepat daripada penyebaran serial. Anda menyebarkan file melalui satu daripada beberapa perintah imperatif.

    Diagram yang membandingkan penyebaran antara file Bicep dan infrastruktur sebagai kode yang tidak ada dalam templat.

  • Modularitas: Gunakan modul untuk mensegmentasi kode Bicep Anda ke dalam bagian yang dapat dikelola. Modul membantu Anda menggunakan kembali kode dan menyederhanakan pengembangan. Modul menyebarkan sekumpulan sumber daya terkait. Tambahkan modul ke file Bicep saat Anda perlu menyebarkan sumber daya tersebut.

  • Integrasi dengan layanan Azure: Bicep terintegrasi dengan layanan Azure seperti Azure Policy, spesifikasi templat, dan Azure Blueprints.

  • Perubahan pratinjau: Anda dapat menggunakan operasi bagaimana-jika untuk mempratinjau perubahan sebelum menyebarkan file Bicep. Operasi bagaimana-jika menunjukkan kepada Anda sumber daya mana yang akan dibuat, diperbarui, atau dihapus dan properti sumber daya apa pun yang akan diubah. Ini juga memeriksa status lingkungan Anda saat ini dan menghilangkan kebutuhan untuk mengelola status ini.

  • Tidak ada file status atau status untuk dikelola: Azure menyimpan semua status. Anda dapat berkolaborasi dengan orang lain dan yakin bahwa pembaruan Anda ditangani seperti yang diharapkan.

  • Tidak ada biaya dan sumber terbuka: Karena Bicep gratis, Anda tidak perlu membayar kemampuan premium. Dukungan Microsoft mendukungnya.

Memulai

Untuk memulai dengan Bicep:

  1. Pasang alat. Untuk informasi selengkapnya, lihat Menyiapkan lingkungan pengembangan dan penyebaran Bicep atau menggunakan repositori devcontainer/Codespaces VISUAL Code untuk mendapatkan lingkungan penulisan yang telah dikonfigurasi sebelumnya.
  2. Selesaikan modul Mulai Cepat dan Pelajari untuk Bicep.

Untuk mendekompilasi templat Resource Manager yang ada ke Bicep, lihat Mendekompilasi JSON templat ARM ke Bicep. Anda dapat menggunakan Bicep Playground untuk melihat Bicep dan setara, JSON, berdampingan.

Untuk mempelajari sumber daya yang tersedia dalam file Bicep Anda, lihat Referensi sumber daya Bicep.

Anda dapat menemukan contoh Bicep di repositori Bicep GitHub.

Tentang bahasa

Bicep tidak dimaksudkan sebagai bahasa pemrograman umum untuk menulis aplikasi. File Bicep mendeklarasikan sumber daya Azure dan properti sumber daya tanpa menulis urutan perintah pemrograman untuk membuatnya.

Untuk melacak status pekerjaan Bicep, lihat Repositori proyek Bicep.

Untuk mempelajari tentang Bicep, tonton video berikut:

Anda dapat menggunakan Bicep alih-alih JSON untuk mengembangkan templat Resource Manager. Sintaks JSON untuk membuat templat Resource Manager dapat berupa verbose dan memerlukan ekspresi yang rumit. Sintaks Bicep mengurangi kerumitan tersebut dan meningkatkan pengalaman pengembangan. Bicep adalah abstraksi transparan atas templat JSON Resource Manager yang tidak kehilangan kemampuan templat JSON. Selama penyebaran, Bicep CLI mengonversi file Bicep menjadi templat JSON Resource Manager.

Jenis sumber daya, versi API, dan properti yang valid dalam templat Resource Manager valid dalam file Bicep.

Bicep menawarkan sintaks yang lebih mudah dan lebih ringkas jika dibandingkan dengan JSON yang setara. Anda tidak menggunakan ekspresi kurung [...]. Sebagai gantinya, Anda langsung memanggil fungsi dan mendapatkan nilai dari parameter dan variabel. Anda memberikan nama simbolis kepada setiap sumber daya yang disebarkan, sehingga memudahkan referensi sumber daya itu di template Anda.

Untuk perbandingan penuh terkait sintaksis, lihat Membandingkan JSON dan Bicep terkait template.

Bicep secara otomatis mengelola dependensi antar sumber daya. Anda dapat menghindari pengaturan dependsOn saat nama simbolis sumber daya digunakan dalam deklarasi sumber daya lain.

Struktur file Bicep lebih fleksibel daripada templat JSON. Anda dapat mendeklarasikan parameter, variabel, dan output di mana saja dalam file. Di JSON, Anda harus mendeklarasikan semua parameter, variabel, dan output dalam bagian template yang sesuai.

Dapatkan dukungan

Berikut adalah langkah-langkah untuk membuka tiket dukungan untuk masalah terkait templat Azure Resource Manager (ARM):

  1. Buka portal Microsoft Azure.

  2. Pilih ikon Dukungan + Pemecahan Masalah dari sudut kanan atas.

  3. Di Jelaskan masalah secara singkat, masukkan templat ARM, lalu pilih Buka.

  4. Di Layanan mana Anda mengalami masalah?, pilih Portal di bawah Pemantauan & Manajemen, lalu pilih Berikutnya.

  5. Pilih langganan, lalu pilih Berikutnya.

  6. Pilih Masalah dengan templat ARM, lalu pilih Berikutnya.

    Cuplikan layar meminta dukungan templat ARM.

Langkah berikutnya

Untuk memulai, lihat Mulai Cepat.

Untuk jawaban dari pertanyaan umum, lihat Tanya jawab umum untuk Bicep.