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 dikerahkan secara konsisten.

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

Manfaat Bisep

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 menggunakan 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 tipe yang kaya, IntelliSense, dan validasi sintaks.

    Tangkapan layar saat menulis berkas 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-file Bicep bersifat idempoten, yang berarti Anda dapat meng-deploy file yang sama berkali-kali dan mendapatkan jenis dan keadaan sumber daya 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. Azure 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 menerapkan file melalui satu perintah daripada beberapa perintah imperatif.

    Sebuah diagram yang membandingkan penyebaran antara file Bicep dan infrastruktur sebagai kode yang tidak menggunakan 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.

  • Pratinjau perubahan: Anda dapat menggunakan operasi what-if untuk mempratinjau perubahan sebelum menerapkan file Bicep. Operasi 'what-if' menunjukkan kepada Anda mana sumber daya 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 status atau berkas 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 membayar kemampuan premium. Dukungan Microsoft mendukungnya.

Mulai sekarang

Untuk memulai dengan Bicep:

  1. Pasang alat. Untuk informasi selengkapnya, lihat untuk melihat Menyiapkan lingkungan pengembangan serta penyebaran Bicep, atau gunakan repositori devcontainer/Codespaces VS Code untuk mendapatkan lingkungan penulisan yang telah dikonfigurasi sebelumnya.

  2. Selesaikan modul Panduan Cepat dan modul Pembelajaran untuk Bicep.

Untuk mendekompilasi templat Resource Manager yang ada ke Bicep, lihat Mendekompilasi templat JSON Azure Resource Manager ke Bicep. Anda dapat menggunakan Bicep Playground untuk melihat Bicep dan JSON secara 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 juga valid pada file Bicep.

Bicep menawarkan sintaks yang lebih mudah dan lebih ringkas daripada 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 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.

Kontribusi untuk Bicep

Bicep adalah proyek sumber terbuka. Itu berarti Anda dapat berkontribusi pada pengembangan Bicep, dan berpartisipasi dalam komunitas Bicep yang lebih luas. Jenis kontribusi meliputi:

  • Templat Pemasangan Cepat Azure. Anda dapat berkontribusi contoh file Bicep dan templat ARM ke repositori Templat Mulai Cepat Azure. Untuk informasi selengkapnya, lihat panduan kontribusi Templat Mulai Cepat Azure.
  • Dokumentasi. Dokumentasi Bicep juga terbuka untuk kontribusi dari pengguna. Untuk informasi selengkapnya, lihat ringkasan panduan kontributor kami.
  • Potongan. Apakah Anda memiliki cuplikan favorit yang menurut Anda akan diuntungkan oleh komunitas? Anda dapat menambahkannya ke kumpulan cuplikan ekstensi Visual Studio Code. Untuk informasi selengkapnya, lihat Berkontribusi pada Bicep.
  • Perubahan kode. Jika Anda seorang pengembang dan memiliki ide yang ingin Anda lihat dalam bahasa Bicep atau alat-alatnya, Anda dapat berkontribusi dengan membuat pull request. Untuk informasi selengkapnya, lihat Berkontribusi pada Bicep.

Langkah berikutnya