تطبيق أنماط WAF على بنى حقيقية
أعِد تصميم بنية Azure أحادية الكتلة لتلبية متطلبات WAF لكل ركيزة، مع توثيق المفاضلات بين التكلفة والتعقيد والمرونة
تطبيق أنماط WAF على بنى حقيقية درس مجاني في Azure Fundamentals على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Azure Fundamentals، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Azure Fundamentals 4 دروس في المجموع.
مراجعة البنية كممارسة
لا يُعد تطبيق أنماط WAF على البنى الواقعية تمرينًا نظريًا — بل يتطلب تقييم كل قرار تصميم وفقًا للركائز الخمس وإجراء مفاضلات مدروسة. ومن نقاط البدء الشائعة مخطط البنية: تتبع مسار طلب المستخدم عبر كل مكون، واطرح في كل انتقال الأسئلة التالية: ماذا يحدث إذا تعطل هذا المكون؟ وما تكلفته؟ وكيف يتم تأمينه؟
تقييم بنية أحادية الكتلة
ضع في اعتبارك تطبيق ويب تقليديًا أحادي الكتلة: جهاز افتراضي واحد يشغل خادم ويب وقاعدة بيانات معًا خلف عنوان IP عام. وبالنسبة إلى ركائز WAF، يحصل هذا التصميم على درجات منخفضة في الركائز الخمس كلها: لا يوجد تكرار (الموثوقية)، ووجود قاعدة البيانات على المضيف نفسه الذي توجد عليه طبقة الويب (الأمان)، وتشغيل الجهاز الافتراضي دائمًا بصرف النظر عن حركة المرور (التكلفة)، وعدم وجود CI/CD (التميز التشغيلي)، والتوسع الرأسي فقط (كفاءة الأداء).
تحسين الموثوقية باستخدام التكرار
لمعالجة محور الموثوقية، وزّع طبقة الويب على عدة أجهزة VM افتراضية في مناطق توفر مختلفة، وادعم قاعدة البيانات باستخدام النسخ المتماثل الجغرافي إلى منطقة ثانوية، وضع Azure Load Balancer أمامها. يؤدي ذلك إلى إزالة نقطة الفشل الوحيدة، ويتيح للتطبيق الاستمرار في العمل عند حدوث انقطاع في إحدى المناطق أو في المنطقة الجغرافية، من دون تدخل يدوي.
# Deploy VMs across availability zones:
az vm create \
--resource-group myRG \
--name webVM1 \
--zone 1 \
--image Ubuntu2204LTS
az vm create \
--resource-group myRG \
--name webVM2 \
--zone 2 \
--image Ubuntu2204LTSتعزيز الأمان عبر كامل المكدس
بالنسبة إلى محور الأمان، افصل طبقة الويب عن قاعدة البيانات بوضع كل منهما في شبكة فرعية مختلفة، مع استخدام قواعد NSG التي تسمح لطبقة الويب فقط بالاتصال بمنفذ قاعدة البيانات. خزّن سلسلة اتصال قاعدة البيانات في Azure Key Vault، واستخدم هوية مُدارة في تطبيق الويب لاستردادها أثناء التشغيل، وبذلك تُزال بيانات الاعتماد المضمّنة في تعليمات برمجية التطبيق وملفات التكوين.
تقليل التكلفة باستخدام التوسع وتحديد الحجم المناسب
بالنسبة إلى تحسين التكلفة، استبدل الأجهزة الافتراضية التي تعمل دائمًا باستخدام Virtual Machine Scale Set يتقلص حجمه خلال ساعات انخفاض الطلب. وبالنسبة إلى قاعدة البيانات، قيّم ما إذا كانت خدمة PaaS مُدارة مثل Azure SQL Database ضمن طبقة DTU مناسبة أقل تكلفة من جهاز افتراضي كامل يعمل عليه SQL Server. اشترِ Reserved Instances لأي سعة أساسية يمكنك التنبؤ بها قبل 12 شهرًا.
التميز التشغيلي باستخدام IaC وCI/CD
حسّن التميز التشغيلي من خلال تعريف البنية الأساسية بأكملها باستخدام قوالب Bicep أو ARM المخزنة في نظام للتحكم في الإصدارات. أنشئ مسار CI/CD في Azure Pipelines أو GitHub Actions ينشر تغييرات البنية الأساسية وتعليمات برمجية التطبيق تلقائيًا. أضف بوابات للنشر — اختبارات دخان مؤتمتة وموافقة يدوية — قبل وصول التغييرات إلى بيئة الإنتاج.
# Deploy infrastructure via Bicep:
az deployment group create \
--resource-group myRG \
--template-file main.bicep \
--parameters @parameters.jsonتعزيز الأداء باستخدام التخزين المؤقت وشبكة CDN
بالنسبة إلى كفاءة الأداء، أضف Azure Cache for Redis أمام قاعدة البيانات لتخزين الاستعلامات كثيرة القراءة مؤقتًا وتقليل الحمل على قاعدة البيانات. انشر الأصول الثابتة (الصور وCSS وJavaScript) من خلال Azure CDN لتقديمها من عقد طرفية قريبة من المستخدمين حول العالم. اختبر تحميل التطبيق بعد كل تغيير للتأكد من إمكانية قياس التحسينات.
توثيق المفاضلات
ينطوي كل تغيير معماري على مفاضلة. فعلى سبيل المثال، يؤدي الانتقال إلى بنية متعددة المناطق إلى تحسين الموثوقية، لكنه يزيد التكلفة (منطقتان = جهازان افتراضيان). كما أن إضافة التخزين المؤقت باستخدام Redis تحسّن الأداء، لكنها تضيف تعقيدًا تشغيليًا (خدمة أخرى تجب مراقبتها وصيانتها). يوثّق التصميم الجيد هذه المفاضلات بوضوح، حتى يفهم المعماريون مستقبلاً أسباب اتخاذ القرارات.
نهج التحسين التكراري
تجنّب محاولة تحقيق الكمال في عملية إعادة تصميم واحدة، فهذا النهج مكلف ومحفوف بالمخاطر وبطيء. بدلًا من ذلك، اعتمد دورة تحسين تكرارية: نفّذ مراجعة Well-Architected، وحدد المشكلات الثلاث الأعلى تأثيرًا، وأصلحها، وقِس التحسن، ثم كرر العملية. ينسجم هذا النهج مع التحسينات المعمارية والتسليم الرشيق، ويجعل التقدم واضحًا لأصحاب المصلحة في كل دورة Sprint.
استخدام التصميمات المرجعية للبنية
تنشر Microsoft بنى مرجعية لأنماط أحمال العمل الشائعة في Azure Architecture Center. وتشمل هذه البنى معماريات تطبيقات الويب، والخدمات المصغّرة على AKS، ومسارات تحليلات البيانات، وغير ذلك الكثير. وقد جرى تقييم كل بنية مرجعية مسبقًا وفق محاور WAF، كما تتضمن ملاحظات حول المفاضلات التي أُجريت لهذا النمط المحدد.
التواصل بشأن القرارات المعمارية
استخدم سجلات القرارات المعمارية (ADRs) لتوثيق الخيارات المعمارية المهمة، والسياق الذي اتُّخذت فيه، والبدائل التي جرى النظر فيها، وآثارها على محاور WAF. يؤدي تخزين ADRs في نظام للتحكم في الإصدارات إلى جانب قاعدة التعليمات البرمجية إلى إنشاء سجل قابل للتدقيق، يساعد أعضاء الفريق الجدد على فهم أسباب اتخاذ الشكل الحالي للبنية.
تحقق سريع
اختبر مدى فهمك لمفاهيم Microsoft Azure Fundamentals (AZ-900) الواردة في هذا الدرس.
مراجعة الدرس
تعلّمت في هذا الدرس ما يلي: تُطبَّق أنماط WAF من خلال تقييم كل قرار معماري وفق المحاور الخمسة جميعها؛ ويمكن إجراء التحسينات بشكل تكراري بالبدء من المشكلات الأعلى تأثيرًا؛ ويجب توثيق المفاضلات حتى يفهم المعماريون مستقبلاً أسباب القرارات. بعد ذلك سنستكشف اتفاقيات مستوى الخدمة في Azure وكيفية حساب اتفاقيات مستوى الخدمة المركبة للمعماريات متعددة الخدمات.
الأسئلة الشائعة
هل درس «تطبيق أنماط WAF على بنى حقيقية» مجاني؟
نعم — نص درس «تطبيق أنماط WAF على بنى حقيقية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Azure Fundamentals، انتقل إلى CoddyKit PRO. تتضمن دورة Azure Fundamentals 4 دروس في المجموع.
ماذا ستتعلم في «تطبيق أنماط WAF على بنى حقيقية»؟
أعِد تصميم بنية Azure أحادية الكتلة لتلبية متطلبات WAF لكل ركيزة، مع توثيق المفاضلات بين التكلفة والتعقيد والمرونة تتمرن على Azure Fundamentals مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Azure Fundamentals؟
لا تُشترط خبرة سابقة. Azure Fundamentals على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «تطبيق أنماط WAF على بنى حقيقية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Azure Fundamentals هذا؟
نعم. كل درس في Azure Fundamentals يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- شرح الركائز الخمس
- إجراء مراجعة Azure Well-Architected
- Azure Advisor
- تطبيق أنماط WAF على بنى حقيقية