Azure Bicep Şablonlarına Giriş
Altyapıyı doğrudan bir bulut portalında veya hatta bir tür CLI aracılığıyla sağlamanın dışında, Kod Olarak Altyapı (IaC), bildirimsel, verimli ve öğretici bir şekilde altyapıyı buluta dağıtmak için bir yöntem sunar. Bicep, Azure kaynaklarını dağıtmak için muadili ARM şablonlarına göre erişilebilir ve anlaşılması daha kolay bir şablon oluşturma dilidir. ARM şablonlarının JSON’da yazıldığı ve okunmasının ve yazılmasının zor olabileceği durumlarda, Bicep dilinin hem şablonları okumak hem de oluşturmak için daha basit bir sözdizimi vardır. Bununla birlikte, Bicep şablonları hala ayrılmaz bir şekilde ARM şablonlarına bağlıdır.
Kaynakları Azure’a dağıtmanın ve sağlamanın çeşitli yolları vardır. Popüler bir yöntem Portal’dır. Ya aynı kaynakları tüm bağımlılıklarıyla yeniden dağıtmanız gerekiyorsa, ancak yalnızca bazı küçük ayrıntıları değiştirmeniz gerekiyorsa? Bunu portalda tekrar yapmak çok manuel bir işlemdir, potansiyel olarak zaman alıcıdır ve sürekli olarak tekrarlanması zordur (örneğin, ikinci VM’nin adını yazarken hata yapabilirsiniz). Portalı kullanarak dağıtmanın sorunu, aynı kaynakları yeniden dağıtmanın pek yardımcı olmamasıdır. İşte burada Kod Olarak Altyapı (IaC) devreye giriyor. IaC, bu boşluğu iyi bir şekilde kapatan, dosyaları veya şablonları kullanarak kaynakların yönetilmesine ve sağlanmasına yardımcı olan bir süreçtir. dağıtmak istediğiniz kaynaklar. Bunun nasıl yapıldığını belirtmeniz gerekmez – Azure bununla ilgilenir. Tek yapmanız gereken, hangi kaynakları dağıtmak istediğinizi ve bu kaynaklar için özel gereksinimlerinizi beyan etmektir.
Bicep, kaynakları Azure’a tutarlı ve bildirime dayalı olarak dağıtmak için şablon yazmayı kolaylaştırmayı amaçlayan Microsoft’un yeni bir dilidir. Bicep, Kaynak Yöneticisi şablonlarıyla sahip olduğunuz yazma deneyimini basitleştirir. Azure Resource Manager şablonlarının JSON’da yazıldığı yerde, Bicep şablonları, Bicep adlı etki alanına özgü yeni bir dilde yazılır.
ARM ve Bicep arasındaki ilişki
Bicep şablonları (ve ARM şablonları), Microsoft tarafından oluşturulan Bicep dilinde yazılmış Kod Olarak Altyapı (IaC) örnekleridir. Bu çok büyük faydalar sağlar:
- Microsoft’tan yeni hizmetler için anında destek: Microsoft, yeni hizmetler ve kaynaklar için Azure Resource Manager şablonlarını çıktıkları anda destekleyecektir. Bu, yeni Microsoft hizmetleri için hemen destek alamayacak rakip IaC’lere göre bir avantaj sunar. Ayrıca, Bicep şablonlarının ARM şablonlarıyla aynı faydayı sağladığı anlamına gelir.
- Microsoft tarafından ele alınan sorunların yol haritası: Github’daki Bicep deposuna açık kaynak katkısı, IaC ile ilgili herhangi bir sorunla birlikte açık sorunların yanı sıra çözümler sunmayı kolaylaştırır. Hata düzeltmeleri ve Sorunlar, Microsoft tarafından yapılan güncellemeler aracılığıyla çözülebilir.
- Otomatik bağımlılık yönetimi: Bicep, kaynaklar arasındaki bağımlılıkları dinamik olarak algılayarak şablon yazmayı daha da kolaylaştırabilir.
Bir Bicep şablonunun dağıtımı sırasında Azure, Bicep şablonunu arka planda bir Azure Resource Manager şablonuna dönüştürür, bu işlem transpilasyon olarak bilinir. Bu otomatik bir işlem olduğundan, arka planda oluşturulan ara ARM şablonu hakkında endişelenmenize gerek yoktur.
Bicep şablonunun daha kolay anlaşılabilmesi için ana bölümlerinin dökümü aşağıdadır:
- param – Bunlar, aynı kaynakların farklı dağıtımları için tipik olarak değişen değerler için kullanılan Parametrelerdir. Örneğin, dağıtımlar arasında farklı VM SKU boyutları seçebilirsiniz. Böylece vmSku’yu bir dağıtım için B serisi olacak şekilde ayarlayabilir ve başka bir dağıtım için SKU boyutunu değiştirebilirsiniz. Bu parametrelere şablonun kaynaklar ve çıktı bölümlerinde atıfta bulunursunuz ve bunlar genellikle Bicep şablonunun üst kısmında yer alır.
- var – Şablon boyunca kullanılan karmaşık ifadeler olduğunda değişkenler kullanılır. Her ihtiyaç duyduğunuzda ifadenin tamamına başvurmaktansa değişkene başvurmak daha kolaydır. Tipik bir örnek, birden çok değeri birleştirmek (veya daha teknik olarak, birleştirmek).
- resource– Bunlar, Azure’un dağıtmasını istediğiniz kaynakların listesi ve her kaynağın özel bilgileridir (kaynak adı, dağıtım konumu vb.). Alanlara genellikle önceki bölümlerde oluşturduğunuz parametrelere ve değişkenlere başvurursunuz.
- output – Bu bölüm, dağıtımdan sonra kullanabilmeniz için Azure’un şablondan bir veri parçasını kaldırmasını istediğinizde kullanışlıdır. Bu çıktıları diğer sistemlere ve süreçlere aktarabilmeniz dışında, birçok kodlama dilindeki yazdırma işlevine çok benzer. Örneğin, oluşturduğunuz web uygulamasının DNS adına ihtiyacınız olduğunu varsayalım. Azure, dağıtım şablonunuzdan kaynağı oluşturduktan sonra bu adı size geri aktarmak için çıktıları kullanabilirsiniz.
ARM şablonlarında olduğu gibi, sağlanmasını istediğiniz kaynakları şablonun kaynak bölümünde beyan edersiniz. Kaynakları Bicep dosyalarına yazmak ARM şablonlarından daha kolaydır.