استخدام البنية الأساسية كتعلم برمجي لتحديث مناطق Azure المنتقل إليها

توضح هذه المقالة فوائد استخدام البنية الأساسية كتعلم برمجي (IaC) لتحديث مناطق هبوط Azure. تحتاج المؤسسات إلى تحديث مناطقها المنتقل إليها أثناء عملها للتأكد من صحة التكوينات والاستجابة للحاجة إلى التغييرات.

يمكن ل IaC إدارة دورة الحياة بأكملها، ويتفوق في إدارة الموارد التي ينشرها. يجب أن تخطط المؤسسات لنشر مناطق Azure المنتقل إليها باستخدام IaC. يتطلب التخطيط لمحاذاة الموارد الموجودة غير IaC مع موارد IaC المدعومة بإدارة الحالة. تحتاج إلى تعيين الموارد الموجودة إلى الحالة المطلوبة.

لمزيد من المعلومات، راجع تحديث منطقة Azure المنتقل إليها.

كيفية عمل البنية الأساسية كتعلم برمجي

يشير IaC إلى الممارسة والأدوات لإدارة دورة حياة موارد البنية الأساسية باستخدام ملفات التعريف القابلة للقراءة الآلية. تتم كتابة تعريف البنية الأساسية وإصدارها وتوزيعها من خلال البنية الأساسية لبرنامج ربط العمليات التجارية، ثم تصبح جزءا من توزيع أحمال العمل.

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

لذلك، إذا كان لديك بنية أساسية كتعريف تعليمة برمجية لمورد Azure، يمكنك تشغيل هذا التعريف بقدر ما تريد، وينشئ تغييرا فقط إذا:

  • يتغير التعريف لإضافة موارد جديدة أو إزالة الموارد التي تم نشرها مسبقا أو تعديل الموارد التي تم نشرها مسبقا.
  • ينجرف المورد المنشور من التكوين لإعادة تعيين التكوين إلى التكوين المحدد.

يمكنك استخدام IaC لاستعادة الحالة عن طريق إزالة الموارد التي لم تعد مطلوبة وإدارة دورة حياة الموارد من خلال العديد من التغييرات.

ملاحظة

تختلف الميكانيكا المحددة لإزالة الموارد باستخدام IaC. على سبيل المثال، يتطلب Azure Bicep استخدام complete نوع توزيع لمعالجة موارد خارج النطاق. يعمل هذا الأمر فقط في نطاقات محددة. بالنسبة إلى Terraform، تحتوي الموارد على وسيطة lifecycle تعريف توفر إرشادات حول كيفية تعامل Terraform مع الموارد.

بالنسبة لمناطق هبوط Azure، هناك خياران رئيسيان للبنية الأساسية كتعلم برمجي:

فوائد تحديث ALZ مع البنية الأساسية كتعلم برمجي

تصف المزايا التالية سبب استخدام البنية الأساسية كتعلم برمجي لإجراء تحديثات المنطقة المنتقل إليها.

تقليل الجهد

يتطلب الأمر جهدا أقل لاستخدام البنية الأساسية كتعلم برمجي لإجراء التحديثات مقارنة بإجراء تغييرات يدوية. يساعد توزيع IaC على الإجابة عن الأسئلة التالية:

  • كيف يتم تكوين الموارد اليوم؟
  • كيف سيتم تكوينه بواسطة هذا التحديث؟
  • ما التغييرات التي سيتم إجراؤها لجعله يتماشى مع هذا التحديث؟

عند تشغيل بنية أساسية كجهة أدوات التعليمات البرمجية، يمكن أن تنتج مقارنة أو قراءة "تفاضلية" للتغييرات. راجع هذه القراءة قبل تنفيذ التغييرات على البيئة.

يمكن لمجموعة الأدوات تجميع المعلومات للتغيير بدلا من عامل تشغيل أو مهندس.

تقليل الخطأ

نظرا للطبيعة البرمجية لعمليات التوزيع، تقلل البنية الأساسية كتعلم برمجي من الخطأ البشري أثناء إجراء التغييرات. يغير فقط ما تم تعريفه، ولديه خيارات معاينة، لذلك يقلل من الانقطاعات التي تحدث بسبب التغييرات الفاشلة أو غير المكتملة. كما أنها حسنت خيارات الاختبار.

التحكم في الإصدار والمحفوظات

يتم دعم البنية الأساسية كنشر التعليمات البرمجية بواسطة ملف تعريف، بحيث يمكنك استخدام التحكم بالمصادر لإدارة إصدارات التعريفات الخاصة بك. اعتمادا على أسلوب IaC الذي تستخدمه، يمكنك الرجوع إلى عمليات التوزيع في Azure ل Bicep أو ملف الحالة الخاص بك ل Terraform لمراجعة محفوظات عمليات التوزيع السابقة.

عند استخدام ممارسات التحكم بالمصادر، فإنه ينشئ فرعا جديدا من IaC لإضافة التغييرات والمراجعات. يلتقط سجل الفرع في نظام التحكم بالمصادر التكرارات والتغييرات. يمكنك استخدامه لتوزيع التغييرات في بيئة اختبار حتى تصبح جاهزا لدمج التغييرات ونشرها في الإنتاج. لمزيد من المعلومات، راجع نهج الاختبار لمناطق هبوط Azure. خلال هذه الدورة، تسجل سجلات التوزيع الإصدار المستخدم والموارد التي يتم نشرها، والتي توفر محفوظات مرئية للغاية.

استخدم أساليب الاختبار هذه مع Bicep لأغراض الاختبار العامة.

للحصول على معلومات حول إجراء الاختبارات، مثل اختبارات التكامل واختبارات الوحدة واختبارات إصدار الكناري واختبارات إدخال الخطأ، راجع اختبار التطبيق وبيئة Azure. باستخدام هذه الأساليب، يمكنك إجراء الاختبار قبل نشر التعليمات البرمجية، ويمكنك الاختبار في بيئات غير إنتاجية من الفرع الخاص بك.

بيئات الاختبار

عمليات توزيع IaC قابلة للتكرار، بحيث يمكنك استخدام نفس التعريف لنشر بيئة ثانية (أو أكثر) استنادا إلى التوزيع. هذه الطريقة قيمة لاختبار التغييرات.

على سبيل المثال، إذا كنت تريد استبدال جدار حماية Azure باستخدام Premium SKU، يمكنك نشر بيئة اختبار والتحقق من صحة التغييرات دون تغيير الإنتاج.

التقاط انحرافات التكوين

يوفر IaC خيارا فريدا لالتقاط انحرافات التكوين أثناء التحديثات. يلتقط التوزيع التغييرات في ملف التعريف ويعرض المثيلات التي يختلف فيها تكوين المورد عن التعريف.

يمكن أن تساعدك تحديثات المنطقة المنتقل إليها باستخدام IaC في التقاط انحراف التكوين هذا والسماح لك بتحديث التعليمات البرمجية بشكل مناسب أو معالجة هذه التكوينات الخاطئة عبر التحديث أو معالجتها بطريقة أخرى.

عند إجراء تغيير على الموارد عبر المدخل أو CLI أو أسلوب غير IaC، يتم تنفيذ التغيير. في المرة التالية التي تقوم فيها بتشغيل توزيع من خلال IaC، فإنه يشير إلى المقارنة بين الحالة المعرفة بالتعليمات البرمجية والحالة الفعلية في المدخل باستخدام وظائف what-if أو الخطة. استخدم هذا الأسلوب لتحديد ما إذا تم تعديل بيئة خارج ملف التعليمات البرمجية.

بعد تحديد عدم المحاذاة، يمكنك تشغيل IaC لمحاولة محاذاة التوزيع مع التعريف. استخدم هذا الأسلوب لتحديد المشكلات ومعالجة السيناريوهات اعتمادا على طبيعة المشكلات وطبيعة التشغيل وكيفية إجراء التغييرات. على سبيل المثال، يحاول Terraform استعادة الأساس إلى الموارد التي نشرها، ويزيل Complete نشر الوضع في Bicep الموارد في مجموعة موارد ليست جزءا من التعريف. تكتشف هذه الأدوات انحراف التكوين وتصلحه، ولكنها قد لا تعالج جميع المشكلات.

لمزيد من المعلومات، راجع التغييرات خارج النطاق واكتشاف وإدارة الانحراف باستخدام Terraform.

التغييرات المحددة في المدخل مرهقة لتنفيذها مرة أخرى إلى IaC. يجب تحديث التعليمات البرمجية لمطابقة الحالة الحالية، والتي غالبا ما تتضمن مراجعة كل تغيير مورد وتحديث معلماته لمطابقة تكوين "كما هو".

إذا كنت تستخدم IaC لإدارة المنطقة المنتقل إليها أو الموارد الأخرى، يجب عليك فقط إجراء تغييرات خارج IaC كجزء من حالة طوارئ. اتخاذ الاحتياطات مع الحسابات التي لديها حق الوصول لإجراء تغييرات مباشرة، مثل إدارة الهويات المتميزة.

راجع الممارسات العامة للأتمتة والأمان في المقالات التالية:

الخطوات التالية

استكشف مقدمة لأدوات IaC في المقالات التالية: