0Pricing
Cloud & IT Cert Prep · درس

التوسع التلقائي والنطاقات المخصصة

هيّئ قواعد التوسع الأفقي استنادًا إلى مقاييس وحدة المعالجة المركزية وقائمة انتظار HTTP، واربط نطاقًا مخصصًا بتطبيق الويب، واربط شهادة App Service المُدارة المجانية.

التوسع التلقائي والنطاقات المخصصة درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

أهمية التوسع التلقائي

يضبط التوسع التلقائي عدد مثيلات App Service التي تشغّل تطبيقكم تلقائيًا استنادًا إلى الطلب الفعلي في الوقت الحقيقي. ومن دون التوسع التلقائي، يتعين عليكم توفير الموارد اللازمة لحمل الذروة ودفع تكلفة السعة غير المستخدمة خلال ساعات انخفاض الطلب. أما مع التوسع التلقائي، فيضيف Azure مثيلات عندما يرتفع الحمل ويزيلها عندما ينخفض، مما يحسّن الأداء والتكلفة معًا. يتطلب التوسع التلقائي المستوى Standard أو ما فوقه.

التوسيع الأفقي مقابل التوسيع العمودي

يوفر Azure بُعدين للتوسيع. يضيف التوسيع الأفقي (التوسيع الأفقي) مثيلات متطابقة إضافية من تطبيقكم لتوزيع الحمل — وهذا ما يفعله التوسع التلقائي أساسًا. أما التوسيع العمودي (التوسيع الرأسي) فينقل التطبيق إلى حجم VM أكبر يحتوي على المزيد من CPU وRAM، وذلك بتغيير SKU لخطة App Service. ويُفضّل التوسيع الأفقي لتحقيق المرونة؛ إذ يمكن لعدة مثيلات تحمّل حالات التعطل الفردية، بينما يواجه التوسيع العمودي حدودًا عتادية.

# Scale out to 5 instances manually
az appservice plan update \
  --name MyAppServicePlan \
  --resource-group MyRG \
  --number-of-workers 5

# Scale up: change the SKU tier
az appservice plan update \
  --name MyAppServicePlan \
  --resource-group MyRG \
  --sku P2V3

قواعد وملفات تعريف التوسع التلقائي

يُضبط التوسع التلقائي في Azure من خلال إعدادات التوسع التلقائي المرفقة بخطة App Service. ويحتوي إعداد التوسع التلقائي على ملف تعريف واحد أو أكثر (منتظم أو بتاريخ ثابت أو متكرر)، ويحتوي كل ملف على قواعد. تعمل قاعدة التوسيع الأفقي عندما يتجاوز مقياس ما حدًا معينًا (مثل CPU > 70%)، بينما تعمل قاعدة التقليص الأفقي عندما ينخفض المقياس إلى ما دون حد أدنى (مثل CPU < 30%). احرصوا دائمًا على تعريف قواعد للتوسيع الأفقي والتقليص الأفقي لتجنب النمو غير المنضبط أو التكلفة المفرطة.

# Create an autoscale setting with CPU-based rules
az monitor autoscale create \
  --name MyAutoscale \
  --resource-group MyRG \
  --resource MyAppServicePlan \
  --resource-type Microsoft.Web/serverfarms \
  --min-count 2 \
  --max-count 10 \
  --count 2

# Add scale-out rule: CPU > 70% for 5 minutes
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale out 2 \
  --condition 'CpuPercentage > 70 avg 5m'

التوسع التلقائي المستند إلى جدول زمني

يتيح التوسع التلقائي المستند إلى جدول زمني (ملفات التعريف المتكررة) التوسع المسبق استعدادًا لأنماط حركة المرور المتوقعة. فعلى سبيل المثال، يمكن التوسع إلى 10 مثيلات في كل يوم من أيام الأسبوع عند الساعة 08:00، ثم العودة إلى مثيلين عند الساعة 18:00. ويمنح الجمع بين ملفات التعريف المستندة إلى الجدول الزمني وتلك المستندة إلى المقاييس أفضل ما في النهجين: سعة موسعة مسبقًا لفترات الذروة المعروفة واستجابة مرنة للارتفاعات غير المتوقعة.

# Add a recurrence profile for weekday peak hours
az monitor autoscale profile create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --name 'WeekdayPeak' \
  --min-count 5 \
  --max-count 15 \
  --count 5 \
  --recurrence week mon tue wed thu fri \
  --start 08:00 \
  --end 18:00 \
  --timezone 'UTC'

فترات التهدئة

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

# Scale-in rule with 10-minute cooldown
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale in 1 \
  --condition 'CpuPercentage < 30 avg 10m' \
  --cooldown 10

تكوين نطاق مخصص

تحصل تطبيقات App Service على اسم مضيف افتراضي هو azurewebsites.net. لاستخدام نطاقكم الخاص (مثل www.contoso.com)، أضيفوا نطاقًا مخصصًا في إعدادات App Service وأنشئوا سجلات DNS المقابلة لدى مسجّل النطاق. يتعين عليكم إثبات الملكية من خلال إنشاء سجل CNAME أو سجل TXT (يُسمى سجل التحقق) في منطقة DNS، ثم إنشاء سجل CNAME أو A الخاص بالتوجيه الفعلي.

# DNS records at your registrar:
# CNAME  www           MyUniqueWebApp.azurewebsites.net
# TXT    asuid.www     <verification_id from Azure portal>

# After DNS propagation, add the custom domain in Azure
az webapp config hostname add \
  --webapp-name MyUniqueWebApp \
  --resource-group MyRG \
  --hostname www.contoso.com

شهادات TLS للنطاقات المخصصة

بعد ربط نطاق مخصص، تحتاجون إلى شهادة TLS لتمكين HTTPS. يوفر App Service ثلاثة خيارات: App Service Managed Certificate (مجانية وتتجدد تلقائيًا، لكنها تقتصر على النطاقات القياسية)، أو App Service Certificate (تُشترى عبر Azure وتُخزّن في Key Vault)، أو تحميل شهادة من جهة خارجية (شهادتكم الخاصة من Let's Encrypt أو من CA). يعيد وضع HTTPS-only توجيه كل حركة مرور HTTP إلى HTTPS تلقائيًا.

# Create a free App Service Managed Certificate
az webapp config ssl create \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --hostname www.contoso.com

# Bind the certificate to enforce HTTPS
az webapp config ssl bind \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --certificate-thumbprint <THUMBPRINT> \
  --ssl-type SNI

# Enforce HTTPS only
az webapp update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --https-only true

مقاييس قائمة انتظار HTTP للتوسع التلقائي

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

# Scale out when HTTP queue length exceeds 100
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale out 2 \
  --condition 'HttpQueueLength > 100 avg 1m' \
  --cooldown 5

# Scale in when queue drops below 10
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale in 1 \
  --condition 'HttpQueueLength < 10 avg 10m' \
  --cooldown 10

إشعارات التوسع التلقائي

اضبطوا إشعارات التوسع التلقائي لتلقي تنبيهات عبر البريد الإلكتروني أو Webhook عند حدوث عمليات التوسع. ويساعد ذلك الفرق على فهم أنماط حركة المرور والتحقق من عمل التوسع التلقائي كما هو متوقع. تُضبط الإشعارات في قسم الإشعارات ضمن إعداد التوسع التلقائي، ويمكن أن تستهدف عناوين بريد إلكتروني متعددة ونقاط نهاية Webhook (للتكامل مع Slack أو PagerDuty أو الأدوات المخصصة).

# Add email notification to autoscale setting
az monitor autoscale update \
  --name MyAutoscale \
  --resource-group MyRG \
  --add-condition '{"email": {"sendToSubscriptionAdministrator": true, "customEmails": ["ops@contoso.com"]}, "webhooks": []}'

النطاقات الجذرية وTraffic Manager

يتطلب ربط النطاق الجذري (مثل contoso.com من دون www) بـ App Service وجود سجل A يشير إلى عنوان IP الخاص بـ App Service، بالإضافة إلى سجل TXT للتحقق. ونظرًا إلى أن عناوين IP الخاصة بـ App Service قد تتغير، توصي Microsoft باستخدام Azure Traffic Manager أو Azure Front Door كوسيط؛ إذ يشير المكافئ لسجل CNAME الخاص بالنطاق الجذري (سجل ALIAS/ANAME) إلى ملف تعريف Traffic Manager، الذي يوجّه الطلبات إلى App Service.

# Get the App Service inbound IP (for A record)
az webapp show \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --query 'inboundIpAddress' -o tsv

# DNS at registrar (apex domain with A record approach)
# A      contoso.com     <inboundIpAddress>
# TXT    asuid           <verification_id>

اختبار سلوك التوسع التلقائي

بعد تكوين التوسع التلقائي، اختبر عمله بصورة صحيحة من خلال توليد حمل اصطناعي. استخدم أدوات مثل Apache JMeter أو k6 أو Azure Load Testing لمحاكاة المستخدمين المتزامنين. راقب مقياس Instance count الخاص بخطة App Service في Azure Monitor للتأكد من زيادة عدد المثيلات عند ارتفاع الحمل وانخفاضه عند تراجعه. وثّق قيمة RPS (عدد الطلبات في الثانية) الملحوظة لكل مثيل للتحقق من صحة حدود التوسع.

# Run a quick load test with curl (basic)
for i in {1..100}; do curl -o /dev/null -s https://www.contoso.com/health & done
wait

# Monitor current instance count
az monitor metrics list \
  --resource '/subscriptions/.../providers/Microsoft.Web/serverfarms/MyAppServicePlan' \
  --metric 'InstanceCount' \
  --interval PT1M

تحقق سريع

اختبر مدى فهمك لمفاهيم Microsoft Azure Fundamentals (AZ-900) الواردة في هذا الدرس.

مراجعة الدرس

تعلمت في هذا الدرس أن قواعد التوسع التلقائي في خطط App Service تضيف المثيلات أو تزيلها استنادًا إلى وحدة المعالجة المركزية أو قائمة انتظار HTTP أو مشغلات الجدولة، وأن النطاقات المخصصة تتطلب سجلات DNS من نوع CNAME/A بالإضافة إلى سجل TXT للتحقق في منطقة DNS، وأن شهادات TLS (بما فيها الشهادات المُدارة المجانية) تتيح استخدام HTTPS مع النطاقات المخصصة. بعد ذلك، سنستكشف المصادقة والشبكات في App Service.

الأسئلة الشائعة

هل درس «التوسع التلقائي والنطاقات المخصصة» مجاني؟

نعم — نص درس «التوسع التلقائي والنطاقات المخصصة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

ماذا ستتعلم في «التوسع التلقائي والنطاقات المخصصة»؟

هيّئ قواعد التوسع الأفقي استنادًا إلى مقاييس وحدة المعالجة المركزية وقائمة انتظار HTTP، واربط نطاقًا مخصصًا بتطبيق الويب، واربط شهادة App Service المُدارة المجانية. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟

لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «التوسع التلقائي والنطاقات المخصصة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟

نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إنشاء خطة App Service وتطبيق ويب
  2. فتحات النشر والتبديل
  3. التوسع التلقائي والنطاقات المخصصة
  4. مصادقة App Service والشبكات
← العودة إلى Cloud & IT Cert Prep