شراء حساب Microsoft Cloud: يعلمك كيفية استخدام Azure VMSS لتحقيق التوسع المرن في التطبيقات

Cloud 2026-06-05 阅读 10
cloud

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

في عصر السحابة الأصلية ، لا ينبغي لنا شراء الخوادم والبيئات يدويًا.

مجموعة مقياس الجهاز الظاهري Azure (VMSS)

ولد لحل نقطة الألم هذه. يمكن أن تتغير وفقا لتدفق الأعمال ،

يساعدك تلقائيًا على زيادة (شراء) أو تقليل عدد مثيلات الجهاز الظاهري

.

يأخذك هذا البرنامج التعليمي المتعمق اليوم من الصفر لبناء بنية تطبيق ويب فائقة الاستخدام مع القدرة على "التوسع التلقائي والمرن".

1. المفهوم الأساسي: ما هو VMSS والتوسع والتصغير المرن ؟

قبل القيام بذلك ، قمنا أولاً بتوضيح مفهومين متشددين باللغة العامية:

مجموعة مقياس الجهاز الظاهري (VMSS): ببساطة ، إنه "قالب آلة كاتبة". تحتاج فقط إلى تكوين نظام التشغيل وبيئة البرامج لجهاز ظاهري. يمكن لـ VMSS مساعدتك في استنساخ 5 أو 50 أو حتى 500 جهاز افتراضي متطابق في غضون دقائق.

التمدد الأفقي (التمدد الأفقي) والانكماش الأفقي (التمدد الأفقي): التوسع الرأسي هو استبدال وحدة المعالجة المركزية ثنائية النواة رباعية النوى (تتطلب إعادة تشغيل ، مع حد أعلى) ؛ التوسع الأفقي هو "قوة متعددة"-لا يمكن حمل واحد ، اثنان آخران تلقائيًا. اختفت حركة المرور ، ثم ارجعها تلقائيًا. هذا هو المرونة (Elasticity).

2. تصميم العمارة الأساسية

ما نريد بناؤه ليس مجموعة مقياس عارية ، ولكن هيكل بيئة إنتاج قياسي:

[حركة المرور على الإنترنت (HTTP/80)]

[موازن تحميل Azure]

(Load Balancer)

▼ ▼

[VMSS مثيل 1 ] [ VMSS مثيل 2 ] ... (زيادة أو طرح تلقائيا وفقا لوحدة المعالجة المركزية)

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

3. المرحلة الأولى: إنشاء وتكوين VMSS (بناء الأساس)

قم بتسجيل الدخول إلى Azure Portal ، ادخل في شريط البحث

أدخل

"مجموعة مقياس الجهاز الظاهري"

(Virtual Machine Scale Sets) ، انقر على "إنشاء".

1-المعلومات الأساسية

مجموعة الموارد: يوصى بإنشاء واحدة جديدة ، مثل MyVMSS-RG.

اسم مجموعة مقياس الجهاز الظاهري: مثل My-web-scale-set.

المنطقة: اختر المنطقة الأقرب إليك (مثل East Asia).

العمليات التجارية: اختر "Uniform". يمكن أن يضمن ذلك أن جميع الأجهزة المستنسخة متسقة تمامًا ، وهي الأنسب لتطبيقات الويب عديمة الحالة.

الصورة: هنا نأخذ Ubuntu Server 24.04 LTS كمثال (منطق تشغيل Windows هو نفسه تمامًا).

2-الحجم والمواصفات

الحجم: لا يزال يوصى بـ Standard_B1s أو Standard_B2s (التدريب الكافي وتوفير المال أولاً).

نوع التحقق: حدد "كلمة المرور" أو "مفتاح SSH". من أجل تسهيل التدريس ، نختار كلمة المرور هنا ، وننشئ اسم مستخدم (مثل azureuser) وكلمة مرور قوية.

3-تكوين الشبكة (خطوات حاسمة)

اسحب إلى قسم الشبكة وسترى خيار "موازنة التحميل".

تحقق من "استخدام موازن الحمل".

خيار موازن التحميل: حدد "موازن تحميل Azure".

اختيار موازن الحمل/جديد: اسم my-load-balancer.

اختر المسبح الخلفي/جديد: اسم pool my-backend.

💡لماذا تختار هذا ؟ بهذه الطريقة ، بغض النظر عن عدد الأجهزة الافتراضية التي تم إنشاؤها تلقائيًا بواسطة VMSS في المستقبل ، فإن Azure ستدخلها تلقائيًا في "التجمع الخلفي" ، وسيوزع موازن التحميل تلقائيًا حركة مرور وصول المستخدم ، ولا تحتاج إلى تكوين IP يدويًا.

4. المرحلة الثانية: استخدام البرامج النصية المخصصة لتحقيق "خارج الصندوق"

يساعدنا التجمع على نطاق واسع تلقائيًا في بناء الآلات ، لكن الجهاز الجديد فارغ. كيف يمكن للجهاز المستنسخ حديثًا تثبيت خدمات الويب تلقائيًا (مثل Nginx) وتشغيل تطبيقنا ؟

نحن بحاجة إلى الاستفادة

متقدم (Advanced)

في الخيارات

"ملحق البرنامج النصي المخصص (Custom Script Extension)"

.

في إنشاء صفحة

”متقدم“

في علامة التبويب ، ابحث عن "Custom Data" ، وقم بنشر البرنامج النصي التالي لتهيئة Linux في مربع النص:

باش

#! # /بن/باش

# تحديث النظام وتثبيت Nginx

Apt-get update -y

Apt-get install nginx -y

# إطلاق خدمة Nginx

Systemctl start nginx

Sys

Temctl enable nginx

# اكتب صفحة ويب لعرض اسم المضيف الحالي ديناميكيًا (حتى نتمكن من اختبار التأثير)

Echo "<h1>Hello from Azure VMSS! My Hostname is: $(hostname)</h1>" > /var/www/html/index.html

دور هذا البرنامج النصي هو:

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

5. المرحلة الثالثة: تكوين استراتيجية التوسيع والانكماش المرنة التلقائية

انقر على التبديل

”مقياس (Scaling)“

علامات التبويب. هذا هو المكان الذي تكمن فيه روح البرنامج التعليمي بأكمله.

الخيار الافتراضي هو "القياس اليدوي" ، نحتاج إلى تغييره

"Custom autoscale"

.

بعد ذلك ، نحتاج إلى تكوين مجموعة صارمة من "قواعد التوسع والانكماش":

1-تحديد نطاق الأمثلة

أقل عدد من الحالات (Minimum): 1 (عندما لا يزورها أحد ، احتفظ بجهاز واحد لتوفير المال).

أعلى عدد من الحالات (Maximum): 3 (منع الشفرة من الوقوع في حلقة ميتة ، أو عند مواجهة هجوم ضار ، يؤدي تشغيل الجهاز غير المحدود إلى انفجار بطاقة الائتمان ، قم بإعداد حد أعلى لحماية المحفظة).

عدد الحالات الافتراضية (Default): 1.

2-إضافة قاعدة التوسيع (قاعدة التوسيع)

انقر فوق "إضافة قاعدة" ، نريد أن نقول النظام عند إضافة الجهاز:

مصدر القيمة المترية: الموارد الحالية (VMSS).

تجميع الوقت: متوسط القيمة.

اسم القيمة المتري: وحدة المعالجة المركزية Percentage (استخدام وحدة المعالجة المركزية).

المشغل: أكبر من.

العتبة (Metric threshold): 70 (عندما يتجاوز متوسط استخدام وحدة المعالجة المركزية 70 ٪).

المدة (الدقيقة): 5 (استمر هذا الموقف لأكثر من 5 دقائق ، مما يشير إلى أنه ليس تقلبًا عابرًا ، ولا يمكن تحمله حقًا).

العملية: زيادة عدد.

عدد الأمثلة: 1 (1 آلة إضافية في كل مرة).

وقت التبريد (دقيقة): 5 (بعد إضافة آلة ، دع الرصاصة تطير لفترة من الوقت ، راقب لمدة 5 دقائق ، لا تضيف بسرعة كبيرة).

3. إضافة قاعدة الانكماش (Scale In Rule)

إذا قمت بإرجاع القرض ، أضف قاعدة أخرى تخبر النظام متى يجب عليك إعادة الجهاز لتوفير المال:

اسم القيمة المتري: وحدة المعالجة المركزية Percentage.

المشغل: أقل من.

العتبة: 30 (عندما يكون متوسط وحدة المعالجة المركزية في الحقل بأكمله أقل من 30 ٪).

العملية: تقليل عدد.

عدد الأمثلة: 1 (آلة واحدة لكل قطع

، حتى يتم تقليله إلى الحد الأدنى 1 وحدة).

بعد اكتمال التكوين ، انقر فوق

”عرض إنشاء“

، في انتظار اكتمال النشر.

6. معجزة التحقق: كيفية اختبار التوسع والانكماش التلقائي ؟

بعد النشر ، انتقل إلى مجموعة الموارد الخاصة بك وابحث عن ذلك

موازنة التحميل (my-load-balancer)

، نسخ "عنوان IP العام للواجهة الأمامية".

زيارة عادية: أدخل هذا IP في المتصفح ، يجب أن تكون قادرا على رؤية Hello from Azure VMSS! My Hostname is: my-web-scale-set_0. تم تحديثه عدة مرات وكانت الصفحة مستقرة مثل جبل تاي.

الضرب الاصطناعي (اختبار الضغط): نحتاج إلى ملء وحدة المعالجة المركزية لهذا الجهاز يدويًا. اتصل بمثيل الجهاز الظاهري الحالي من خلال SSH ، قم بتشغيل أمر اختبار ضغط وحدة المعالجة المركزية الكلاسيكي (أو قم بتثبيت أداة stress) في الجهاز: Bash # تثبيت أداة قياس الضغط sudo apt-get stall stress -y # دع وحدة المعالجة المركزية 4 تعمل بكامل طاقتها (حتى لو كان لديك نواة واحدة فقط ، سوف تملأ أيضًا بكل قوتها) stress-cpu 4-timeout 600

3-** شاهد المعجزات: **

بالعودة إلى صفحة VMSS لبوابة Azure ، انقر على ** "Run history" ** أو ** "Instances" ** على اليسار.

بعد حوالي 5 دقائق ، ستجد أن منحنى وحدة المعالجة المركزية في الرسم البياني يرتفع بشكل حاد. بعد ذلك مباشرة ، تم تحديث مثال جديد في قائمة المثيل: "my-web-scale-set_1" ، مع حالة "قيد الإنشاء"-> "قيد التشغيل".

4-** زيارة ثانية **:

قم بتحديث عنوان IP الخاص بموازنة التحميل في متصفحك. سوف تجد أنه في حين أن ما يظهر هو 'Hostname is: . .. _ 0 '، بعد فترة أصبح 'Hostname is: . .. _ 1 '.

** هذا يدل على أن معادل التحميل قد نجح في تحويل جزء من التدفق إلى الأخ المولود حديثًا! **

5-** الخروج التلقائي: **

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

---

##7. ملخص ودليل الحفر

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

* ** التصميم بدون حالة: ** آلة التوسيعة والانكماش المرنة هي "الحياة والموت". لا تفعل ذلك أبداً

قم بتضفي ملفات تحميل المستخدم وقواعد البيانات على القرص الصلب المحلي للجهاز الظاهري VMSS ، وإلا ستختفي عندما تتقلص السعة. يجب حفظ الملفات في Azure Blob Storage (تخزين الكائنات) ، ويجب حفظ البيانات في قواعد البيانات المستقلة مثل Azure SQL.

* ** تحديث المرآة: ** نحن نستخدم البرامج النصية لتركيب Nginx اليوم. إذا كان تطبيقك معقدًا ويعتمد كثيرًا ، فإن الطريقة الأفضل هي: قم بمطابقة جميع البيئة في VM عادي ، ثم قم بتعبئتها في صورة مخصصة ** ** ، دع VMSS يستنسخ مباشرة على أساس الصورة المخصصة الخاصة بك.

إذا كنت تتقن VMSS ، فلن تضطر أبدًا إلى التحديق في لوحة مرور الخادم في منتصف الليل ، ويمكنك بسهولة تسليم الاستخدام العالي إلى خوارزمية التشغيل الآلي لسحابة Microsoft!

1
← 返回新闻中心