Apa itu Bicep?

Bicep adalah bahasa pemrogram khusus domain (DSL) yang menggunakan sintaks deklaratif untuk menyebarkan sumber daya Azure. Dalam file Bicep, Anda menentukan infrastruktur yang ingin Anda sebarkan ke Azure, lalu gunakan file itu sepanjang siklus hidup pengembangan untuk menyebarkan infrastruktur Anda berulang kali. Sumber daya Anda digunakan secara konsisten.

Bicep menyediakan sintaks yang ringkas, keamanan tipe yang andal, dan dukungan untuk penggunaan 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@2021-06-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 validasi keamanan jenis intellisense, dan sintaksis yang kaya.

    Contoh penulisan file Bicep

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

  • Hasil yang dapat diulang: Berulang kali menyebarkan infrastruktur Anda sepanjang siklus hidup pengembangan dan memiliki keyakinan sumber daya Anda digunakan secara konsisten. File Bicep merupakan idempoten, yang berarti Anda dapat menyebarkan file yang sama berkali-kali dan mendapatkan jenis sumber daya yang sama dalam kondisi yang sama. Anda dapat mengembangkan satu file yang mewakili kondisi yang diinginkan, daripada mengembangkan banyak tfile terpisah untuk mewakili pembaruan.

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

    Perbandingan penyebaran Bicep

  • Modularitas: Anda dapat memecah kode Bicep menjadi bagian yang dapat dikelola dengan menggunakan modul. Modul ini menyebarkan sekumpulan sumber daya terkait. Modul memungkinkan Anda menggunakan kembali kode dan menyederhanakan pengembangan. Tambahkan modul ke file Bicep kapan saja Anda perlu menyebarkan sumber daya tersebut.

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

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

  • Tidak ada file status atau kondisi untuk dikelola: Semuanya disimpan di Azure. Pengguna dapat berkolaborasi dan percaya bahwa pembaruan mereka ditangani seperti yang diharapkan.

  • Tidak ada biaya dan sumber terbuka: Bicep benar-benar gratis. Anda tidak perlu membayar untuk mendapatkan kemampuan premium. Ini juga didukung oleh dukungan Microsoft.

Mulai

Untuk memulai dengan Bicep:

  1. Pasang alat. Lihat Menyiapkan pengembangan Bicep dan lingkungan penyebaran. Atau, Anda dapat menggunakan repositori Devcontainer/Codespaces Visual Studio Code untuk mendapatkan lingkungan penulisan yang telah dikonfigurasi sebelumnya.
  2. Selesaikan mulai cepat dan modul Microsoft Learn untuk Bicep.

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

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

Contoh Bicep dapat ditemukan di repositori GitHub Bicep

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 membuat sumber daya.

Untuk melacak status pekerjaan Bicep, lihat Repositori proyek Bicep.

Untuk mempelajari Bicep, lihat video berikut.

Anda dapat menggunakan Bicep alih-alih JSON untuk mengembangkan template Azure Resource Manager (template ARM). Sintaksis JSON untuk membuat template ARM dapat menjadi sangat panjang dan memerlukan ekspresi rumit. Sintaks Bicep mengurangi kerumitan tersebut dan meningkatkan pengalaman pengembangan. Bicep adalah abstraksi yang transparan di templat ARM JSON dan tidak kehilangan kemampuan templat JSON apa pun. Saat penyebaran, CLI Bicep mengonversi file Bicep menjadi JSON templat ARM.

Jenis sumber daya, versi API, dan properti yang valid dalam template ARM valid dalam file Bicep.

Bicep menawarkan sintaksis yang lebih mudah dan lebih ringkas jika dibandingkan dengan JSON yang setara. Anda tidak menggunakan ekspresi kurung [...]. Sebaliknya, 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 template 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.

Langkah berikutnya

Memulai dengan Mulai Cepat.

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