Azure Resource Manager ve Azure ARM şablonlarını açıklama

Tamamlandı

Azure Resource Manager (ARM), Azure için dağıtım ve yönetim hizmetidir. Azure hesabınızda kaynak oluşturma, güncelleştirme ve silme işlemlerini gerçekleştirmenizi sağlayan bir yönetim katmanı sunar. Azure kaynaklarınız ile herhangi bir şey yaptığınız her durumda ARM devreye girilir.

Kullanıcı Azure araçlarından, API'lerinden veya SDK'larından herhangi birinden istek gönderdiğinde ARM isteği alır. ARM isteğin kimliğini doğrular ve yetkisini alır. Ardından ARM, isteği Azure hizmetine gönderir ve bu işlem istenen eylemi uygular. Tüm istekler aynı API aracılığıyla işlenmek için tüm farklı araçlarda tutarlı sonuçlar ve özellikler görürsünüz.

Azure Resource Manager avantajları

Azure Resource Manager ile şunları yapabilirsiniz:

  • Altyapınızı yönetmek için betikler yerine bildirim temelli şablonlar kullanın. Resource Manager şablonu, Azure'a dağıtmak istediğiniz kaynakları tanımladığınız bir JSON dosyasıdır.
  • Çözümünüze ait kaynakları ayrı ayrı işlemek yerine tümünü grup olarak birlikte dağıtın, yönetin ve izleyin.
  • Çözümünüzü geliştirme yaşam döngüsü boyunca yeniden dağıtın ve kaynaklarınızın tutarlı bir durumda dağıtıldığından güvenin.
  • Kaynaklar arasındaki bağımlılıkları tanımlayıp doğru sırada dağıtılmalarını sağlayın.
  • Yönetim platformuna yerel olarak tümleştirilmiş olan RBAC ile tüm hizmetler için erişim denetimi sağlayın.
  • Aboneliğinizdeki tüm kaynakları mantıksal olarak düzenlemek için kaynaklara etiket uygulayın.
  • Aynı etiketi paylaşan bir grup kaynak ile ilgili maliyetleri görüntüleyerek kuruluşunuzun faturalama süreçlerini kolaylaştırın.

Aşağıdaki videoda Azure Resource Manager'a genel bir bakış sunulmaktadır.

Kod olarak altyapı

Kod olarak altyapı, altyapınızı kod satırları olarak yönettiğiniz bir kavramdır. Giriş düzeyinde, kaynaklarınızı yönetmek ve yapılandırmak için Azure Cloud Shell, Azure PowerShell veya Azure CLI kullanma gibi işlemlerdir. Bulutta daha rahat ettikçe, tekrarlanabilir şablonlar ve yapılandırmalar kullanarak tüm dağıtımları yönetmek için kod kavramı olarak altyapıyı kullanabilirsiniz. ARM şablonları ve Bicep, ortamınızı korumak için Azure Resource Manager ile kod olarak altyapı kullanmanın iki örneğidir.

ARM şablonları

ARM şablonlarını kullanarak, kullanmak istediğiniz kaynakları bildirim temelli bir JSON biçiminde açıklayabilirsiniz. ARM şablonuyla, herhangi bir kod çalıştırilmeden önce dağıtım kodu doğrulanır. Bu, kaynakların doğru şekilde oluşturulmasını ve bağlanmasını sağlar. Sonrasında şablon, bu kaynakları paralel bir şekilde oluşturur. Başka bir deyişle aynı kaynaktan 50 örnek oluşturmanız gerekiyorsa bunların 50 tanesi de aynı anda oluşturulur.

Sonuç olarak geliştiricinin, DevOps veya BT uzmanının tek yapması gereken ARM şablonunda her bir kaynağın istenen durumunu ve yapılandırmasını tanımlamaktır. Şablon geri kalan işleri halleder. Şablonlar, kaynak kurulumundan önce veya sonra PowerShell ve Bash betiği de yürütebilir.

ARM şablonlarını kullanmanın avantajları

ARM şablonları, Azure kaynaklarını dağıtmayı planlarken birçok avantaj sağlar. Bu avantajlardan bazıları şunlardır:

  • Bildirim temelli söz dizimi: ARM şablonları, azure altyapısının tamamını bildirimli olarak oluşturmanıza ve dağıtmanıza olanak sağlar. Bildirim temelli söz dizimi, dağıtmak istediklerinizi bildirdiğiniz ancak kaynakları dağıtmak için gerçek programlama komutlarını ve sırasını yazmanız gerekmeyecek anlamına gelir.
  • Yinelenebilir sonuçlar: Altyapınızı geliştirme yaşam döngüsü boyunca tekrar tekrar dağıtın ve kaynaklarınızın tutarlı bir şekilde dağıtıldığından eminim. Tüm ortamların aynı olduğunu bilerek birden çok geliştirme/test ortamı dağıtmak için aynı ARM şablonunu kullanabilirsiniz.
  • Düzenleme: İşlemleri sıralamanın karmaşıklıkları konusunda endişelenmeniz gerekmez. Azure Resource Manager birbirine bağlı kaynakların dağıtımını düzenler, böylece doğru sırada oluşturulurlar. Mümkün olduğunda Azure Resource Manager kaynakları paralel olarak dağıtır, böylece dağıtımlarınız seri dağıtımlardan daha hızlı tamamlanır. Şablonu birden çok kesinlik temelli komut yerine tek bir komutla dağıtırsınız.
  • Modüler dosyalar: Şablonlarınızı daha küçük, yeniden kullanılabilir bileşenlere bölebilir ve dağıtım zamanında birbirine bağlayabilirsiniz. Bir şablonu başka bir şablonun içine de iç içe yerleştirebilirsiniz. Örneğin, bir VM yığını için bir şablon oluşturabilir ve ardından bu şablonu ortamların tamamını dağıtan şablonların içine iç içe yerleştirebilirsiniz ve bu VM yığını sürekli olarak ortam şablonlarının her birine dağıtılır.
  • Genişletilebilirlik: Dağıtım betikleriyle şablonlarınıza PowerShell veya Bash betikleri ekleyebilirsiniz. Dağıtım betikleri, dağıtım sırasında kaynak ayarlama yeteneğinizi genişletir. Betik şablona eklenebilir veya bir dış kaynakta depolanabilir ve şablonda başvurulabilir. Dağıtım betikleri, uçtan uca ortam kurulumunuzu tek bir ARM şablonunda tamamlamanızı sağlar.

Bicep

Bicep, Azure kaynaklarını dağıtmak için bildirim temelli söz dizimi kullanan bir dildir. Bicep dosyası altyapıyı ve yapılandırmayı tanımlar. Ardından ARM, bu ortamı Bicep dosyanıza göre dağıtır. JSON dilinde yazılmış arm şablonuna benzer olsa da, Bicep dosyaları daha basit, daha kısa bir stil kullanma eğilimindedir.

Bicep'in bazı avantajları şunlardır:

  • 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. Bir kaynak sağlayıcısı yeni kaynak türlerini ve API sürümlerini kullanıma sunar sunmaz bunları Bicep dosyanızda kullanabilirsiniz. Yeni hizmetleri kullanmadan önce araçların güncelleştirilmesini beklemeniz gerekmez.
  • Basit söz dizimi: Eşdeğer JSON şablonuyla karşılaştırıldığında, Bicep dosyaları daha kısadır ve daha kolay okunur. Bicep, programlama dilleri hakkında daha önce bilgi sahibi olmayı gerektirmez. Bicep söz dizimi bildirim temellidir ve dağıtmak istediğiniz kaynakları ve kaynak özelliklerini belirtir.
  • Yinelenebilir sonuçlar: Altyapınızı geliştirme yaşam döngüsü boyunca tekrar tekrar dağıtın ve kaynaklarınızın tutarlı bir şekilde dağıtıldığından eminim. Bicep dosyaları bir kez etkili olur, yani aynı dosyayı birçok kez dağıtabilir ve aynı kaynak türlerini aynı durumda alabilirsiniz. Güncelleştirmeleri temsil eden çok sayıda ayrı dosya geliştirmek yerine istenen durumu temsil eden bir dosya geliştirebilirsiniz.
  • Düzenleme: İşlemleri sıralamanın karmaşıklıkları konusunda endişelenmeniz gerekmez. Resource Manager, birbirine bağlı kaynakların doğru sırada oluşturulması için dağıtımını düzenler. Mümkün olduğunda Resource Manager, dağıtımlarınızın seri dağıtımlardan daha hızlı bitmesi için kaynakları paralel olarak dağıtır. Dosyayı birden çok kesinlik temelli komut yerine tek bir komutla dağıtırsınız.
  • Modülerlik: Modülleri kullanarak Bicep kodunuzu yönetilebilir parçalara ayırabilirsiniz. Modül, bir dizi ilgili kaynak dağıtır. Modüller kodu yeniden kullanmanıza ve geliştirmeyi basitleştirmenize olanak tanır. Bu kaynakları dağıtmanız gerektiğinde modülü bir Bicep dosyasına ekleyin.