Bicep nedir?
Bicep, Azure kaynaklarını dağıtmak için bildirime bağlı söz dizimi kullanan etki alanına özgü bir dildir (DSL). Kısa söz dizimi, güvenilir tür güvenliği ve kodun yeniden kullanımı için destek sağlar. Bicep'in Azure'daki kod olarak altyapı çözümleriniz için en iyi yazma deneyimini sunduğuna inanıyoruz.
Uygulama şablonlarınızı (ARM şablonları) geliştirmek için JSON Azure Resource Manager Bicep kullanabilirsiniz. ARM şablonu oluşturmak için JSON söz dizimi ayrıntılı olabilir ve karmaşık ifadeler gerektirir. Bicep söz dizimi bu karmaşıklığı azaltır ve geliştirme deneyimini iyiler. Bicep, ARM şablonu JSON üzerinde saydam bir soyutlamadır ve JSON şablonu özelliklerini kaybetmez. Dağıtım sırasında Bicep CLI, bicep dosyasını ARM şablonu JSON'a dönüştürür.
Bicep, uygulama yazmak için genel bir programlama dili olarak amaçlanan bir dil değildir. Bicep dosyası, kaynak oluşturmak için bir dizi programlama komutu yazmadan Azure kaynaklarını ve kaynak özelliklerini belirtir.
ARM şablonunda geçerli olan kaynak türleri, API sürümleri ve özellikler Bicep dosyasında geçerlidir.
Bicep işi durumunu izlemek için bicep proje deposuna bakın.
Bicep hakkında bilgi edinmek için aşağıdaki videoya bakın.
başlarken
Bicep ile başlamak için:
- Araçları yükleyin. Bkz. Bicep geliştirme ve dağıtım ortamlarını ayarlama. Veya önceden yapılandırılmış bir yazma VS Code almak için Devcontainer/Codespaces VS Code'yi kullanabilirsiniz.
- Hızlı başlangıç ve Microsoft Learn Bicep modüllerini tamamlama.
Mevcut ARM şablonunu Bicep'e derlemek için bkz. ARM şablonu JSON'u Bicep'e derleme.
Bicep dosyanız için kullanılabilir kaynaklar hakkında bilgi edinmek için bkz. Bicep kaynak başvurusu
Bicep örnekleri BicepGitHub bulunabilir.
Bicep'in diğer araçlara göre avantajları
Bicep, diğer seçeneklere göre aşağıdaki avantajları sağlar:
- Tüm kaynak türleri ve API sürümleri için destek: Bicep, Azure hizmetleri için tüm önizleme ve GA sürümlerini hemen destekler. Kaynak sağlayıcısı yeni kaynak türlerini ve API sürümlerini tanıtır tanıtmaz bunları Bicep dosyanız içinde kullanabilirsiniz. Yeni hizmetleri kullanmadan önce araçların güncelleştirilmiş olması için beklemeye gerek yok.
- Basit söz dizimi: Eşdeğer JSON şablonuyla karşılaştırıldığında, Bicep dosyaları daha kısa ve daha kolay okunur. Bicep, programlama dilleri hakkında daha önce bilgi sahibi olmak için gerekli değildir. Bicep söz dizimi bildirimlidir ve hangi kaynakları ve kaynak özelliklerini dağıtmak istediğinizi belirtir.
- Yazma deneyimi: Bicep VS Code oluşturmak için VS Code'yi kullanarak birinci sınıf bir yazma deneyimi elde edin. Düzenleyici zengin tür güvenliği, intellisense ve söz dizimi doğrulaması sağlar.
- Modülerlik: modüllerini kullanarak Bicep kodunuzu yönetilebilir parçalara dönüştürebilirsiniz. Modül, bir dizi ilgili kaynağı dağıtır. Modüller kodu yeniden kullanmanıza ve geliştirmeyi basitleştirmeye olanak sağlar. Bu kaynakları dağıtmanız gereken her zaman modülü bir Bicep dosyasına ekleyin.
- Azure hizmetleriyle tümleştirme: Bicep, Azure İlkesi, şablon özellikleri ve Blueprints gibi Azure hizmetleriyle tümleştirilmiştir.
- Yönetecek durum veya durum dosyası yok: Tüm eyaletler Azure'da depolanır. Kullanıcılar işbirliğine sahip olabilir ve güncelleştirmelerinin beklendiği gibi işleneceği konusunda güvene sahip olabilir. Şablon dağıtmadan önce değişiklikleri önizlemek için what-if (what-if) işlemi kullanın.
- Ücretsiz ve açık kaynak: Bicep tamamen ücretsizdir. Premium özellikler için ödeme yapmak zorunda değilsiniz. Microsoft desteği tarafından da de desteklenen bir destektir.
Bicep geliştirmeleri
Bicep, eşdeğer JSON ile karşılaştırıldığında daha kolay ve daha kısa bir söz dizimi sunar. Köşeli ayraçlı ifadeler [...] kullanmazsiniz. Bunun yerine işlevleri doğrudan çağırarak parametrelerden ve değişkenlerden değerler elde edersiniz. Dağıtılan her kaynağa sembolik bir ad verirsiniz ve bu da şablonda bu kaynağa başvurulmanızı kolaylaştırır.
Örneğin, aşağıdaki JSON kaynak özelliğinden bir çıkış değeri döndürür.
"outputs": {
"hostname": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses', variables('publicIPAddressName'))).dnsSettings.fqdn]"
},
}
Bicep'te eşdeğer çıkış ifadesini yazmak daha kolaydır. Aşağıdaki örnek, şablon içinde tanımlanan bir kaynak için sembolik publicIP adını kullanarak aynı özelliği döndürür:
output hostname string = publicIP.properties.dnsSettings.fqdn
Söz dizimlerinin tam karşılaştırması için bkz. Şablonlar için JSON ve Bicep karşılaştırması.
Bicep, kaynaklar arasındaki bağımlılıkları otomatik olarak yönetir. Bir kaynağın sembolik dependsOn adı başka bir kaynak bildiriminde kullanılırken ayarının önüne geçebilirsiniz.
Bicep dosyasının yapısı, JSON şablonundan daha esnektir. Parametreleri, değişkenleri ve çıkışları dosyanın herhangi bir yerinde bildirebilirsiniz. JSON'da, şablonun ilgili bölümlerindeki tüm parametreleri, değişkenleri ve çıkışları bildirebilirsiniz.
SSS
Neden var olan bir dil kullanmak yerine yeni bir dil oluşturun?
Bicep'i yeni bir dil yerine mevcut ARM şablonu dilinin düzeltmesi olarak düşünebilirsiniz. Söz dizimi değişmiştir ancak temel işlevsellik ve çalışma zamanı aynı kalır.
Bicep'i geliştirmeden önce var olan bir programlama dilini kullanmayı göz önünde bulundurmıştık. Hedef kitlemizin başka bir dille çalışmaya başlamadan Bicep'i öğrenmeyi daha kolay bularak karar verdik.
Neden enerjinizi Terraform'a veya diğer üçüncü taraf Kod Olarak Altyapı tekliflere odaklayacağız?
Farklı kullanıcılar farklı yapılandırma dillerini ve araçlarını tercih eder. Tüm bu araçların Azure'da harika bir deneyim sağlamalarını sağlamak istiyorum. Bicep bu çabanın bir parçası.
Terraform'ı kullanmaktan memnunsanız geçiş yapmak için bir neden yoktur. Microsoft, Terraform'un Azure'da en iyisi olduğundan emin olmak için kararlıdır.
ARM şablonlarını seçen müşteriler için Bicep'in yazma deneyimini iyileştirmiş olduğuna inanıyoruz. Bicep, kod olarak altyapıyı benimsememiş müşteriler için geçişe de yardımcı olur.
Bu üretim kullanımı için hazır mı?
Evet. Sürüm 0.3'den başlayarak Bicep, Microsoft destek planları tarafından de destekleni. Bicep, ARM Şablonları ile neler başarabilirsiniz ile eşlik içerir. Şu anda planladığımız bir yeni değişiklik yoktur, ancak gelecekte yeni değişiklikler oluşturmamız gerekiyor olabilir.
Bicep yalnızca Azure için mi?
Şu anda Bicep'in Azure'ın ötesine genişletip genişletmeyi planlayamayacağız. Azure'a tam olarak destek olmak ve dağıtım deneyimini iyileştirmek istiyoruz.
Bu hedefe varma için Azure dışındaki bazı API'lerle çalışmanız gerekir. Bu senaryolar için genişletilebilirlik noktaları sağlamayı bekliyoruz.
Mevcut ARM şablonlarıma ne olur?
Her zaman olduğu gibi çalışmaya devam eder. Herhangi bir değişiklik yapmak zorunda değilsiniz. Temel alınan ARM şablonu JSON dilini desteklemeye devam edeceğiz. Bicep dosyaları JSON'a derlenmiş ve bu JSON dağıtım için Azure'a gönderilir.
Hazır olduğunda JSON dosyalarını Bicep'e derleyebilirsiniz.
Bicep'i kullanarak Azure Stack Hub?
Evet, bicep'i Azure Stack Hub dağıtımlar için kullanabilirsiniz, ancak Bicep'in henüz Azure Stack Hub. Hızlı Başlangıç Şablonu'nun Azure Stack Hub bir dizi örneği GitHub görüntüebilirsiniz.
Sonraki adımlar
Kullanmaya başlayın hızlı başlangıç ile birlikte.