تمرين - بناء بنية صحية ذات طبقات

مكتمل

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

التطبيق النموذجي

مثال هذا التمرين هو تطبيق ويب يستخدمه Contoso Shoes. يسمح التطبيق للموظفين باستعراض كتالوج المنتجات وتحديث العناصر الفردية في الكتالوج والتفاعل مع مستخدمين آخرين عن طريق إنشاء تعليقات في التطبيق.

حدد فريق العمليات في Contoso Shoes متطلبات عمل هامة لهذا التطبيق. يجب أن يكون الموظفون قادرين على:

  • تفاعل مع الكتالوج من خلال عرض قوائم العناصر وتصفح العناصر.
  • إنشاء تعليقات لعناصر فردية ليشاهدها المستخدمون الآخرون.

وينبغي أن يتضمن النموذج الصحي على الأقل هاتين العمليتين الحرجتين.

البنية

Diagram that shows the architecture for the Contoso Shoes application.

المكونات

  • تطبيق الويب الأمامي: واجهة المستخدم لحمل العمل هذا، والتي تعمل على Azure Web Apps.

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

    • قراءات من: Azure Cosmos DB
    • يكتب إلى: Azure Event Hubs
  • معالج الخلفية: مكون يعالج تحديثات قاعدة البيانات بشكل غير متزامن. لا يحتوي المعالج على نقطة نهاية عامة. تتم استضافة هذا المكون على Azure Functions.

    • قراءات من: مراكز أحداث Azure
    • يكتب إلى: Azure Cosmos DB
  • وسيط الرسائل: يستخدم معالج المراسلة Azure Event Hubs لتمرير الرسائل بين واجهة برمجة تطبيقات الكتالوج ومعالج الخلفية.

  • قاعدة البيانات: تستمر البيانات في Azure Cosmos DB. تقرأ واجهة برمجة تطبيقات الكتالوج من قاعدة البيانات مباشرة. تتم معالجة عمليات الكتابة بواسطة معالج الخلفية. يتم تخزين الصور في Azure Blob Storage.

  • الأسرار: تستخدم مكونات التطبيق لحمل العمل هذا الأسرار لتخويل الوصول. يتم تخزين الأسرار في Azure Key Vault. تستخدم واجهة برمجة تطبيقات الكتالوج ومعالج الخلفية سلسلة الاتصال للوصول إلى قاعدة البيانات ومراكز أحداث Azure. يستخدم تطبيق الويب الأمامي مفتاح API لاستدعاء واجهة برمجة تطبيقات الكتالوج.

  • المراقبة: ترسل مكونات التطبيق جميع قياسات البيانات إلى Application Insights، مدعومة بمساحة عمل Log Analytics. يتم استخدام نفس مساحة العمل لجمع سجلات ومقاييس أخرى لحمل العمل هذا.

تقسيم البنية في طبقات

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

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

لهذا التمرين، يحتوي نموذج الحماية لدينا على ثلاث طبقات: تدفقات المستخدم ومكونات التطبيق وموارد Azure.

تدفقات المستخدمين

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

  • ما هي العمليات الهامة؟
  • كيف يستخدم الموظفون التطبيق لتحقيق أهداف العمل؟

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

إذا كان بإمكانك التفكير في المزيد، فضمنها في نموذج الصحة الخاص بك.

مكونات التطبيق

الانتقال لأسفل طبقة وتقييم مكونات التطبيق. ابدأ بطرح أسئلة، مثل:

  • "أي جزء من تطبيقي يجعل هذا التدفق يعمل؟"
  • "ما هي الخدمات المصغرة أو المكونات التي تشارك في هذا التدفق؟"
  • "هل سيستمر هذا التدفق في العمل إذا فشل هذا الجزء؟"

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

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

موارد Azure

تحتوي الطبقة السفلية على موارد Azure المستخدمة من قبل مكونات التطبيق الفردية. لهذا التمرين، يتم وصف المكونات والموارد في قسم المكونات .

إشعار

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

رسم هيكل نموذج الصحة النهائي

ضع المعلومات التي جمعتها في تمثيل رسومي لبنية نموذج الصحة. يجب أن يبدو مشابها لهذا الرسم التخطيطي:

Diagram that shows the architecture for this layered health model.

من أعلى إلى أسفل، يحتوي نموذج صحة تطبيق الويب على هذه الطبقات:

تدفقات المستخدمين
  • سرد عناصر الكتالوج. تعتمد على تطبيق الويب الأمامي وواجهة برمجة تطبيقات الكتالوج.
  • إضافة تعليق. يعتمد على تطبيق الويب الأمامي وواجهة برمجة تطبيقات الكتالوج ومعالج الخلفية.
مكونات التطبيق
  • تطبيق ويب الواجهة الأمامية. تعتمد على Blob Storage وواجهة برمجة تطبيقات الكتالوج.
  • واجهة برمجة تطبيقات الكتالوج. تعتمد على Azure Cosmos DB وKey Vault ومراكز الأحداث.
  • معالج الخلفية. تعتمد على Azure Cosmos DB وKey Vault ومراكز الأحداث.
موارد Azure
  • Blob Storage
  • Azure Cosmos DB
  • Key Vault
  • مراكز الأحداث