هل تحتاج إلى بناء البنية التحتية في Azure؟ هل نظرت إلى قوالب ARM وتفكر، واو، يبدو معقدا؟ لأن العديد من الأشخاص اشتكوا من صعوبة بناء قوالب ARM، قامت مايكروسوفت بتطوير طبقة تجريد تسمى Azure Bicep.
في هذا البرنامج التعليمي، ستتعلم كيفية البدء من الصفر. ستتعلم كيفية القيام بكل شيء بدءًا من إعداد بيئة التطوير إلى نشر القالب الأول الخاص بك باستخدام Bicep!
لنبدأ!
المتطلبات الأولية
سيكون هذا البرنامج التعليمي عرضًا توضيحيًا عمليًا. إذا كنت ترغب في متابعة البرنامج التعليمي، تأكد من وجود ما يلي:
- Windows 10 – ستعمل معظم العروض التوضيحية في هذا البرنامج التعليمي على أنظمة تشغيل أخرى ولكن جميع العروض التوضيحية ستستخدم Windows 10.
- Visual Studio Code – سيتم استخدام الإصدار 1.60.2 في هذا البرنامج التعليمي.
- مجموعة موارد Azure للنشر – سيتم استخدام مجموعة موارد تسمى ATA في هذا البرنامج التعليمي.
ما هو Azure Bicep؟
Bicep هو لغة مخصصة لنطاق محدد تجعل بناء قوالب ARM أسهل. يمكن اعتبار Bicep طبقة تجريد فوق قوالب ARM. تستخدم ARM JSON ويمكن أن تصبح معقدة، خاصة للنشرات الكبيرة.
قررت Microsoft إنشاء Bicep لتقليل التعقيدات وتحسين تجربة التطوير. إنها ليست لغة جديدة؛ اعتبرها تحسينًا لقوالب ARM JSON.
إعداد بيئة تطوير Bicep
لبدء تطوير قوالب Bicep ، تحتاج إلى إعداد بيئة تساعدك على تحقيق أفضل النتائج. للقيام بذلك ، لديك بعض الأدوات التي يمكنك استخدامها. لنقم أولاً بإعداد البيئة التي تحتاجها بما في ذلك ملحق VS Code Bicep ، أداة Bicep CLI وحزم Azure PowerShell اختياريًا.
تثبيت ملحق VS Code Bicep
يعتبر VS Code أداة تطوير رائعة لإنشاء قوالب Bicep. وعلى هذا النحو، توفر Microsoft امتدادًا لـ VS Code للمساعدة في تسهيل إنشاء قوالب Bicep. لنبدأ في إنشاء بيئة تطوير من خلال تحضير VS Code.
افتح Visual Studio Code وانقر فوق زر الامتدادات.

في شريط البحث، اكتب “bicep”. يجب أن ترى امتدادًا واحدًا لـ Bicep يظهر. عند حدوث هذا، انقر على تثبيت. بعد لحظات قليلة، سيقوم VS Code بتثبيت امتداد Bicep.

على الرغم من أن القسم التالي سيقدم لك قالب Bicep للنسخ/اللصق، فمن المؤكد أنه ستكون لديك أوقات تحتاج فيها إلى إنشاء قوالب Bicep من البداية. يأتي امتداد Bicep في VS Code مفيدًا هنا بشكل خاص بسبب ميزاته Intellisense.
لاحظ أنه إذا فتحت ملفًا بامتداد .bicep في VS Code، فسيحاول VS Code توفير اختصارات لك. على سبيل المثال، يمكنك إنشاء موارد Azure باستخدام الكلمة الأساسية resource
في قالب Bicep. باستخدام امتداد Bicep المثبت، يفهم VS Code ذلك.

تحديد إحدى خيارات القائمة المقدمة يقوم تلقائيًا بإنشاء قالب للتعبئة بدلاً من الحاجة إلى تذكر الصيغة الدقيقة في كل مرة.

الفترة (.
) هي اختصار مفيد آخر عند إنشاء قوالب Bicep. عند كتابة هذا في قسم الخصائص، على سبيل المثال، ستظهر لك جميع الخصائص المتاحة لحساب تخزين.

تثبيت Bicep CLI
بمجرد إنشاءها ، يجب عليك استدعاء قوالب Bicep عبر Bicep CLI. قبل محاولة تثبيت Bicep CLI ، تحقق أولاً مما إذا كان قد تم تثبيته بالفعل. اعتمادًا على إصدار Azure CLI الذي قمت بتثبيته ، قد يكون لديك Bicep CLI بالفعل. للتحقق ، افتح وحدة التحكم PowerShell أو الطرفية وتحقق من إصدار Bicep CLI.
إذا كان لديك Bicep CLI مثبتًا ، ستظهر تصريحًا بالإصدار ، كما هو موضح أدناه.

إذا رأيت رسالة خطأ حول عدم العثور على Bicep CLI ، قم بتشغيل الفرعية install
لتثبيت Bicep CLI.
سوف ترى الآن الإخراج كما هو موضح أدناه. يؤكد أن Bicep CLI قد تم تثبيته بنجاح وجاهز للاستخدام.

كطريقة بديلة للتثبيت ، يمكنك أيضًا تثبيت Bicep CLI عبر مثبت Bicep لنظام التشغيل Windows.
إنشاء قالب Bicep لنشر حساب تخزين
يمكنك نشر بعض الموارد المعقدة في Azure باستخدام Bicep ولكن دعنا نبدأ ببطء. للقالب الأول الخاص بك في Bicep، دعنا ننشئ حساب تخزين Azure بسيط يمكنك استخدامه للنشر في Azure باستخدام كل من Azure CLI و PowerShell في الجزء التالي.
١. قم بفتح VS Code وإنشاء ملف جديد باسم main.bicep. لا يلزم أن تسمي الملف بالضبط كما هو موضح هنا ولكن اتباع أسلوب Terraform في تسمية القالب الرئيسي بامتداد .bicep هو شائع.
٢. قم بنسخ ولصق قالب Bicep التالي في الملف واحفظه. يحتوي هذا القالب على سمات مختلفة تشكل قالب Bicep.
سترى أولاً بعض السمات المشتركة في جميع قوالب Bicep:
- معرف المورد (
resource myStorage
) – يخبر Bicep بإنشاء مورد جديد بالاسمmyStorage
. يحدد هذا الاسم المورد المحدد داخل قالب Bicep. هذا الاسم ليس اسم المورد الذي يتم إنشاؤه في Azure. Microsoft.Storage/storageAccounts@2019-06-01
– يحدد نوعًا يتكون من مزود الموردMicrosoft.Storage
ونوع المورد (storageAccounts
) وإصدار الواجهة البرمجية(2019-06-01)
المستخدم.name
– اسم المورد كما يظهر في Azure (تنتبه إلى قواعد وقيود تسمية موارد Azure.)location
– المنطقة في Azure لإنشاء المورد فيها.
سترى أيضًا بعض السمات الخاصة بنوع المورد storageAccounts
:
-
SKU
– نوع SKU لحساب التخزين (Standard_LRS
) كما هو محدد في الخاصيةname
. -
kind
– نوع حساب التخزين (StorageV2). -
properties
– خصائص متنوعة تخص المورد والتي ليس لها قسم خاص بها مثلaccessTier
في هذا المثال. هذه الخصائص متطابقة مع ما تجده في قوالب ARM.
نشر قالب Bicep باستخدام PowerShell
كما ذكرنا سابقًا، يمكنك نشر قوالب Bicep بإحدى الطريقتين؛ عبر Azure CLI ووحدة Azure PowerShell. دعنا نبدأ أولاً بنشر قالب Bicep باستخدام PowerShell.
تأكد من أن لديك وحدة Azure PowerShell مثبتة وأنك مصادق على Azure قبل بدء هذا القسم.
يتطابق نشر موارد Azure باستخدام قوالب Bicep تمامًا مع نشر قوالب ARM. لقد قامت Microsoft بإضافة دعم للغة Bicep إلى العديد من أوامر PowerShell ARM الموجودة، مثل New-AzResourceGroupDeployment.
في نافذة PowerShell الخاصة بك، قم بتنشيط نشر مجموعة موارد جديدة عبر أمر New-AzResourceGroupDeployment
باستخدام مسار قالب Bicep و ResourceGroupName
للنشر إليه. ستلاحظ أنه يمكنك استخدام قالب Bicep بنفس الطريقة التي يمكنك بها استخدام قالب ARM.
إذا كان النشر ناجحًا، يجب أن ترى الإخراج التالي في جلسة PowerShell الخاصة بك، حيث يظهر الخاصية ProvisioningState كناجحة. هذا كل شيء!

للتحقق من نجاح إنشاء المورد، قم بتسجيل الدخول إلى بوابة Azure، انتقل إلى مجموعة الموارد الخاصة بك، وسترى داخل تلك المجموعة محتوى حساب تخزين تم إنشاؤه حديثًا.

إذا كنت تتابع وقمت بإنشاء حساب تخزين كعرض توضيحي، لا تنسَ إزالته! لاحظ أن ResourceName
يتطابق مع name
المقدم في قالب Bicep.
سوف ترى الإخراج التالي الآن.

نشر قالب Bicep باستخدام Azure CLI
لاستكمال هذا البرنامج التعليمي، دعنا نغطي الآن نشر قالب Bicep الذي تم بناؤه حديثًا باستخدام Azure CLI.
تأكد من أن لديك Azure CLI الإصدار v2.2.0+ مثبتًا وأنك قمت بتسجيل الدخول قبل بدء هذا القسم.
مع PowerShell أو غيرها من الطرفيات مفتوحة، قم بتنفيذ نشر ARM باستخدام الأمر az deployment group create
. يقوم هذا الأمر بتنفيذ نشر ARM تمامًا كما هو الحال مع PowerShell. تأكد من تحديد resource-group
للنشر إليه بالإضافة إلى القالب Bicep الذي تم إنشاؤه مسبقًا من خلال معلمة template-file
.
إذا رأيت provisioningState كـ Succeeded، كما هو موضح أدناه، فقد قرأت ARM القالب Bicep ونفذت جميع التعليمات بنجاح!


لا تنسى تنظيف المورد باستخدام
az resource delete -g ATA -n ata2021bicepdiskstorage --resource-type "Microsoft.Storage/storageAccounts"
الاستنتاج
الآن لقد قمت بإنشاء بيئة تطوير لـ Azure Bicep وأنشأت موردًا في Azure، ما هو خطوتك التالية؟ ربما تلقي نظرة على ما تقدمه Microsoft Learn حول Bicep؟
ربما تقديم عرض توضيحي لزملائك عن كيفية مساعدة Bicep لمنظمتك؟