كيفية إنشاء أحمال العمل على الأجهزة الظاهرية الفورية

Azure Virtual Machines

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

فهم الأجهزة الظاهرية الموضعية

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

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

لا يوجد ضمان توفر. لا تحتوي الأجهزة الظاهرية الموضعية على أي ضمانات توفر. ليس لديهم اتفاقيات على مستوى الخدمة (SLAs). يمكن أن تفقد الأجهزة الظاهرية الموضعية إمكانية الوصول إلى سعة الحساب على الفور أو في أي وقت بعد التوزيع (الإخلاء). Spot VMs أرخص بسبب إمكانية الإخلاء. عندما يحتاج Azure إلى استعادة سعة الحساب، يتم إرسال إشعار إخلاء وإخلاء الجهاز الظاهري الموضعي. يوفر Azure إشعارا مسبقا لمدة 30 ثانية على الأقل قبل حدوث الإخلاء الفعلي. لمزيد من المعلومات، راجع المراقبة المستمرة للإخلاء في هذه المقالة.

فهم تسعير الجهاز الظاهري الموضعي

يمكن أن تكون الأجهزة الظاهرية الموضعية أرخص بنسبة تصل إلى 90 بالمائة من الأجهزة الظاهرية العادية (الدفع أولا بأول). يختلف الخصم بناء على الطلب وحجم الجهاز الظاهري ومنطقة التوزيع ونظام التشغيل. نوصي باستخدام أداة تسعير Azure Spot VM للحصول على تقدير لتوفير التكلفة. لمزيد من المعلومات، راجع:

يمكنك أيضا الاستعلام عن واجهة برمجة تطبيقات أسعار التجزئة في Azure للحصول برمجيا على التسعير الفوري لأي SKU ذات فائدة.

فهم أحمال العمل القابلة للمقاطعة

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

ميزات حمل العمل القابلة للمقاطعة ميزات حمل العمل العادية
ميزات قيود الوقت الدنيا أو بدون قيود زمنية
أولوية تنظيمية منخفضة
أوقات معالجة قصيرة
اتفاقيات مستوى الخدمة (SLAs)
متطلبات جلسات العمل الملصقة
أحمال العمل ذات الحالة

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

فهم الإخلاء

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

تحتوي الأجهزة الظاهرية الموضعية على خيارين للتكوين يؤثران على الإخلاء. هذه التكوينات هي "نوع الإخلاء" و"نهج الإخلاء" للجهاز الظاهري الموضعي. يمكنك تعيين هذه التكوينات عند إنشاء الجهاز الظاهري الموضعي. يحدد "نوع الإخلاء" شروط الإخلاء. يحدد "نهج الإخلاء" ما يفعله الإخلاء لجهازك الظاهري الموضعي. لنتناول كلا خياري التكوين.

نوع الإخلاء

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

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

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

نهج الإخلاء

يؤثر نهج الإخلاء الذي تم اختياره لجهاز ظاهري موضعي على تنسيقه. من خلال التزامن، نعني عملية التعامل مع الإخلاء. سنغطي التزامن بالتفصيل لاحقا. نهج الإخلاء هي "نهج الإيقاف/إلغاء التخصيص" و"حذف النهج".

نهج الإيقاف/إلغاء التخصيص: يكون نهج الإخلاء Stop/Deallocate هو الأفضل عندما يمكن لحمل العمل انتظار سعة الإصدار ضمن نفس الموقع ونوع الجهاز الظاهري. يوقف نهج Stop/Deallocate الجهاز الظاهري وينهي تأجيره بالأجهزة الأساسية. إيقاف الجهاز الظاهري الموضعي وإلغاء تخصيصه هو نفس إيقاف جهاز ظاهري عادي وإلغاء تخصيصه. يظل الجهاز الظاهري قابلا للوصول في Azure، ويمكنك إعادة تشغيل نفس الجهاز الظاهري لاحقا. مع نهج Stop/Deallocate، يفقد الجهاز الظاهري سعة الحوسبة وعناوين IP غير الثابتة. ومع ذلك، تظل أقراص بيانات الجهاز الظاهري ولا تزال تتحمل رسوما. يشغل الجهاز الظاهري أيضا الذاكرات الأساسية في الاشتراك. لا يمكن نقل الأجهزة الظاهرية من منطقتها أو منطقتها حتى عند إيقافها/إلغاء تخصيصها. لمزيد من المعلومات، راجع حالات طاقة الجهاز الظاهري والفوترة.

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

تصميم للتنسيق المرن

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

أدناه قمنا بتوضيح التوصيات لمساعدتك في تصميم تنسيق مرن لحمل العمل القابل للمقاطعة.

تصميم للسرعة

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

استخدام أحجام ومواقع أجهزة ظاهرية متعددة

نوصي بإنشاء تنسيق لاستخدام أنواع وأحجام أجهزة ظاهرية متعددة لزيادة المرونة. الهدف هو إعطاء خيارات التنسيق الخاصة بك لاستبدال جهاز ظاهري تم إخلائه. لدى Azure أنواع وأحجام أجهزة ظاهرية مختلفة توفر إمكانات مماثلة لنفس السعر تقريبا. يجب تصفية VMs min vCPUs/Cores و/أو الحد الأدنى من ذاكرة الوصول العشوائي، والحد الأقصى للسعر للعثور على أجهزة ظاهرية متعددة لديها القدرة على تشغيل حمل العمل الخاص بك وتناسب ميزانيتك. يحتوي كل نوع جهاز ظاهري على معدل إخلاء يتم التعبير عنه كنطاق نسبة مئوية (0-5٪، 5-10٪، 10-15٪، 15-20٪، 20+٪). يمكن أن تختلف معدلات الإخلاء عبر المناطق. قد تجد معدل إخلاء أفضل لنفس نوع الجهاز الظاهري في منطقة مختلفة. يمكنك العثور على معدلات الإخلاء لكل نوع جهاز ظاهري في المدخل ضمن علامة التبويب "الأساسيات". حدد ارتباطات "Size" ("View pricing history" أو "See all sizes"). يمكنك أيضا الحصول برمجيا على بيانات الجهاز الظاهري الموضعية باستخدام Azure Resource Graph. لمزيد من المعلومات، راجع:

استخدام نهج الإخلاء الأكثر مرونة

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

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

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

وثيقة تأمين عندما
حذف الحوسبة والبيانات المؤقتة
لا تريد الدفع مقابل أقراص البيانات
الحد الأدنى من الميزانية
متوقف/غير مخصص تحتاج إلى حجم جهاز ظاهري محدد
لا يمكن تغيير الموقع
عملية تثبيت تطبيق طويلة
وقت الانتظار غير المحدد
لا تحركه وفورات في التكاليف وحدها

المراقبة المستمرة للإخلاء

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

استخدام الأحداث المجدولة: نوصي باستخدام خدمة الأحداث المجدولة لكل جهاز ظاهري. يرسل Azure إشارات إلى الأجهزة الظاهرية عندما تتأثر بصيانة البنية الأساسية. تعتبر عمليات الإخلاء صيانة للبنية الأساسية. يرسل Preempt Azure الإشارة إلى جميع الأجهزة الظاهرية في 30 ثانية كحد أدنى قبل إخلائها. تتيح لك خدمة تسمى Schedule Events التقاط هذه Preempt الإشارة عن طريق الاستعلام عن نقطة نهاية في عنوان 169.254.169.254IP ثابت غير قابل للتوجيه.

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

أتمتة التزامن: بمجرد جمع Preempt الإشارة، يجب أن يعمل التنسيق الخاص بك على تلك الإشارة. نظرا لقيود الوقت، Preempt يجب أن تحاول الإشارة إيقاف تشغيل بأمان لحمل العمل الخاص بك وبدء عملية تلقائية تحل محل الجهاز الظاهري الموضعي. لمزيد من المعلومات، راجع:

إنشاء نظام توزيع

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

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

الاستعداد للإخلاء الفوري

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

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

التخطيط لعمليات إخلاء متزامنة متعددة

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

تصميم لإيقاف التشغيل بأمان

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

اختبار التنسيق

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

تصميم حمل عمل مكرر

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

استخدام فترة تجهيز التطبيق

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

Diagram of the workload lifecycle with an application warmup period

تكوين الهويات المدارة المعينة من قبل المستخدم

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

مع الهويات المدارة المعينة من قبل النظام، قد يحصل الجهاز الظاهري الموضعي الجديد على رمز وصول مختلف من معرف Microsoft Entra. إذا كنت بحاجة إلى استخدام الهويات المدارة المعينة من قبل النظام، نوصي بجعل أحمال العمل مرنة للاستجابات 403 Forbidden Error . سيحتاج التنسيق الخاص بك إلى الحصول على رموز مميزة من معرف Microsoft Entra مع الأذونات الصحيحة. لمزيد من المعلومات، راجع الهويات المدارة.

سيناريو مثال

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

Diagram of the example scenario architecture.

توضح الملاحظات التالية الجوانب الرئيسية للبنية:

  1. تعريف تطبيق الجهاز الظاهري: يتم إنشاء تعريف تطبيق الجهاز الظاهري في معرض حوسبة Azure. وهو يحدد اسم التطبيق والموقع ونظام التشغيل وبيانات التعريف. إصدار التطبيق هو إصدار رقمي لتعريف تطبيق الجهاز الظاهري. إصدار التطبيق هو إنشاء مثيل لتطبيق الجهاز الظاهري. يجب أن يكون في نفس المنطقة مثل الجهاز الظاهري الموضعي. يرتبط إصدار التطبيق بحزمة التطبيق المصدر في حساب التخزين.
  2. حساب التخزين: يخزن حساب التخزين حزمة التطبيق المصدر. في هذه البنية، إنه ملف tar مضغوط يسمى worker-0.1.0.tar.gz. يحتوي على ملفين. أحد الملفات هو orchestrate.sh البرنامج النصي bash الذي يقوم بتثبيت تطبيق عامل .NET.
  3. Spot VM: يتم نشر الجهاز الظاهري الموضعي. يجب أن يكون في نفس المنطقة مثل إصدار التطبيق. يتم تنزيله worker-0.1.0.tar.gz إلى الجهاز الظاهري بعد التوزيع. ينشر قالب bicep صورة Ubuntu على جهاز ظاهري لعائلة قياسي. تلبي هذه التكوينات احتياجات هذا التطبيق وهي ليست توصيات عامة لتطبيقاتك.
  4. قائمة انتظار التخزين: تحتوي الخدمة الأخرى التي تعمل في عامل .NET على منطق قائمة انتظار الرسائل. يمنح Microsoft Entra ID الجهاز الظاهري الموضعي حق الوصول إلى قائمة انتظار التخزين مع هوية معينة من قبل المستخدم باستخدام RBAC.
  5. تطبيق عامل .Net: يقوم البرنامج النصي orchestrate.sh بتثبيت تطبيق عامل .NET يقوم بتشغيل خدمتين في الخلفية. تقوم الخدمة الأولى بالاستعلامات عن نقطة نهاية Schedule Events وتبحث عن Preempt الإشارة وترسل هذه الإشارة إلى الخدمة الثانية. تعالج الخدمة الثانية الرسائل من قائمة انتظار التخزين وتستمع إلى Preempt الإشارة من الخدمة الأولى. عندما تتلقى الخدمة الثانية الإشارة، فإنها تقاطع معالجة قائمة انتظار التخزين وتبدأ في إيقاف التشغيل.
  6. نقطة نهاية الأحداث المجدولة للاستعلام: يتم إرسال طلب واجهة برمجة التطبيقات إلى عنوان IP ثابت غير قابل للتوجيه 169.254.169.254. يستعلم طلب واجهة برمجة التطبيقات عن نقطة نهاية الحدث المجدول لإشارات صيانة البنية الأساسية.
  7. Application Insights: تستخدم البنية Application Insights فقط لأغراض التعلم. إنه ليس مكونا أساسيا لتنسيق حمل العمل القابل للمقاطعة. لقد قمنا بتضمينه كطريقة للتحقق من صحة بيانات تتبع الاستخدام من تطبيق عامل .NET. لقد قمنا بتكوين تطبيق عامل .NET لإرسال بيانات تتبع الاستخدام إلى Application Insights. لمزيد من المعلومات، راجع تمكين المقاييس المباشرة من تطبيق .NET.

نشر هذا السيناريو

GitHub logo أنشأنا مستودع GitHub يسمى حمل العمل القابل للمقاطعة على الفور مع القوالب والبرامج النصية والإرشادات خطوة بخطوة لنشر هذه البنية. ستجد المزيد من التفاصيل التقنية حول التصميم والتحف الهندسية في هذا المستودع.

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

لمزيد من المعلومات حول Spot Virtual Machines، راجع Azure Spot Virtual Machines.