Skip to main content

Project Bicep - Yeni Nesil ARM Şablonları - Bölüm 2

· 2 min read
Hasan Gural

Serinin ilk bölümünde temel gereksinimlerimizi ve Bicep kullanımının avantajları/getirdikleri hakkında konuştuk. Şimdi biraz daha detaya ineceğiz ve Azure Resource Manager Şablonu ile Bicep arasında değişken, kaynak, parameter tanımlama gibi konulara bakacağız. İlk örnek olarak parameter tanımlamanın farklılıklarından bahsetmek istiyorum. Azure Resource Manager şablonlarında parametrelerimiz çok önemli bir kriterdir. Parameterlere bazen environment tipini ( dev/test/prod) bununla beraber isim standardlarını oluşturabiliyor. Tabi bunun dışında farklı paramterlerde kullanabiliyoruz, özetle dağıtılacak olacak her servise göre değişebiliyor.

Örnek: Parametre tanımlamak ( Bicep > Azure Resource Manager Template )

param vmSize string = 'Standard_F4' // Declare params

{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmSize": {
"type": "string",
"defaultValue": "Standard_F4"
}
},
"functions": [],
"variables": {},
"resources": [],
"outputs": {}
}

Yukarıda gördüğünüz gibi gerçekten büyük bir farklılık var, hem söz dizimi özelinde olsun hemde basit ve anlaşılır olması açısından ilk görünüşte harika gözüküyor. Şimdi ise ilgili parametreyi nasıl kullanacağımızı anlayalım. Farklı bir örnek aşağıda bulunmaktadır.

Bu sefer yaptığım örnekte ise, resim içerisinde gördüğünüz sol tarafta Bicep dağıtım şablonu içerisinde iki adet parametremiz ve bir adet değişkenimiz bulunuyor. ‘Resource_Group_Name’ adlı variable içerisine ise parameterleri kullanarak bir resource group adı oluşturuyorum. Bu yaptığım işin aynısını sağ tarafta görebileceğiniz gibi Azure Resource Manager şablonunun da oldukça karmaşık hale geldiğini görebiliyorsunuz. İşte bu durum yeni başlayan için gerçekten oldukça zor oluyor. Fakat kendime adıma şunu söyleyebilirim alıştıktan sonra sevilmeyecek kadar da zor değil!. Örnekleri çoğaltmaya devam edelim,