التشغيل السريع: نشر تطبيقات الخدمات المصغرة إلى Azure Spring Apps

إشعار

أول 50 ساعة من وحدة المعالجة المركزية الظاهرية و100 جيجابايت من الذاكرة مجانية كل شهر. لمزيد من المعلومات، راجع خفض الأسعار - تقوم Azure Spring Apps بالمزيد، والتكاليف أقل! على التطبيقات على مدونة Azure.

إشعار

يعد Azure Spring Apps هو الاسم الجديد لخدمة Azure Spring Cloud. رغم أن الخدمة تحمل اسماً جديداً، سترى الاسم القديم في بعض الأماكن لفترة من الوقت بينما نعمل على تحديث الأصول مثل لقطات الشاشة، ومقاطع الفيديو، والرسوم التخطيطية.

توضح هذه المقالة كيفية نشر تطبيقات الخدمات المصغرة إلى Azure Spring Apps باستخدام نموذج التطبيق المعروف PetClinic.

يوضح نموذج Pet Clinic نمط بنية الخدمات المصغرة. يوضح الرسم التخطيطي التالي بنية تطبيق PetClinic على خطة Azure Spring Apps Enterprise.

رسم تخطيطي يوضح بنية نموذج PetClinic على خطة Azure Spring Apps Enterprise.

يوضح الرسم التخطيطي التدفقات والعلاقات المعمارية التالية لعينة Pet Clinic:

  • يستخدم Azure Spring Apps لإدارة تطبيقات الواجهة الأمامية والخلفية. تم إنشاء تطبيقات الواجهة الخلفية باستخدام Spring Boot ويستخدم كل تطبيق HSQLDB كمخزن مستمر. يعتمد تطبيق الواجهة الأمامية المعاد تبويبه على تطبيق Pet Clinic API Gateway مع Node.js يعمل كتطبيق ويب أمامي مستقل.
  • يستخدم المكونات المدارة على Azure Spring Apps، بما في ذلك Service Registry وApplication Configuration Service وSpring Cloud Gateway وApplication Live View. تقرأ خدمة تكوين التطبيق تكوين مستودع Git.
  • يعرض عنوان URL ل Spring Cloud Gateway لتوجيه الطلب إلى تطبيقات الخدمة الخلفية، ويعرض عنوان URL الخاص ب Application Live View لمراقبة تطبيقات الواجهة الخلفية.
  • تحليل السجلات باستخدام مساحة عمل Log Analytics.
  • مراقبة الأداء باستخدام Application Insights.

إشعار

تستخدم هذه المقالة إصدارا مبسطا من PetClinic، باستخدام قاعدة بيانات في الذاكرة غير جاهزة للإنتاج للنشر بسرعة في Azure Spring Apps.

تعرض أدوات مطور Tanzu الوصول العام ل Application Live View، وهي نقطة خطر. تحتاج بيئة الإنتاج إلى تأمين الوصول. لمزيد من المعلومات، راجع قسم Configure Dev Tools Portal في Configure Tanzu Dev Tools في خطة Azure Spring Apps Enterprise.

يوضح نموذج Pet Clinic نمط بنية الخدمات المصغرة. يوضح الرسم التخطيطي التالي بنية تطبيق PetClinic على خطة Azure Spring Apps Standard.

رسم تخطيطي يوضح بنية نموذج PetClinic على الخطة القياسية ل Azure Spring Apps.

يوضح الرسم التخطيطي التدفقات والعلاقات المعمارية التالية لعينة Pet Clinic:

  • يستخدم Azure Spring Apps لإدارة تطبيقات Spring Boot. يستخدم كل تطبيق HSQLDB كمخزن مستمر.
  • يستخدم المكونات المدارة Spring Cloud Config Server وEureka Service Registry على Azure Spring Apps. يقرأ خادم التكوين تكوين مستودع Git.
  • يعرض عنوان URL لبوابة API لتحميل طلبات موازنة تطبيقات الخدمة، ويعرض عنوان URL لخادم مسؤول لإدارة التطبيقات.
  • تحليل السجلات باستخدام مساحة عمل Log Analytics.
  • مراقبة الأداء باستخدام Application Insights.

إشعار

تستخدم هذه المقالة إصدارا مبسطا من PetClinic، باستخدام قاعدة بيانات في الذاكرة غير جاهزة للإنتاج للنشر بسرعة في Azure Spring Apps.

يعرض التطبيق admin-server المنشور الوصول العام، وهو نقطة خطر. تحتاج بيئة الإنتاج إلى تأمين تطبيق مسؤول Spring Boot.

توفر هذه المقالة الخيارات التالية للنشر في Azure Spring Apps:

  • يعد خيار مدخل Microsoft Azure أسهل وأسرع طريقة لإنشاء الموارد ونشر التطبيقات بنقرة واحدة. هذا الخيار مناسب لمطوري Spring الذين يرغبون في نشر التطبيقات بسرعة إلى خدمات سحابة Azure.
  • يعد خيار المكون الإضافي لمدخل Azure + Maven طريقة أكثر تقليدية لإنشاء الموارد ونشر التطبيقات خطوة بخطوة. هذا الخيار مناسب لمطوري Spring الذين يستخدمون خدمات سحابة Azure لأول مرة.
  • يستخدم خيار Azure CLI أداة سطر أوامر قوية لإدارة موارد Azure. هذا الخيار مناسب لمطوري Spring الذين هم على دراية بخدمات Azure السحابية.
  • يعد خيار المكون الإضافي لمدخل Azure + Maven طريقة أكثر تقليدية لإنشاء الموارد ونشر التطبيقات خطوة بخطوة. هذا الخيار مناسب لمطوري Spring الذين يستخدمون خدمات سحابة Azure لأول مرة.
  • يعد خيار Azure Developer CLI طريقة أكثر كفاءة لإنشاء الموارد ونشر التطبيقات تلقائيا من خلال أوامر بسيطة. يستخدم Azure Developer CLI قالب لتوفير موارد Azure المطلوبة ونشر التعليمات البرمجية للتطبيق. هذا الخيار مناسب لمطوري Spring الذين هم على دراية بخدمات Azure السحابية.

1. المتطلبات الأساسية

2. إعداد مشروع الربيع

استخدم الخطوات التالية لإعداد العينة محليا:

  1. استنساخ نموذج المشروع باستخدام الأمر التالي:

    git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
    
  2. انتقل إلى الدليل الجذر للمشروع ثم استخدم الأمر التالي لتشغيل نموذج المشروع محليا:

    bash ./scripts/run_all_without_infra.sh
    
  3. بعد اكتمال البرنامج النصي بنجاح، انتقل إلى http://localhost:8080 في المستعرض الخاص بك للوصول إلى تطبيق PetClinic.

3. إعداد بيئة السحابة

يصف هذا القسم كيفية إنشاء مثيل خدمة Azure Spring Apps وإعداد بيئة سحابة Azure.

3.1. سجِّل الدخول إلى مدخل Azure

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

3.2. إنشاء مثيل Azure Spring Apps

استخدم الخطوات التالية لإنشاء مثيل الخدمة:

  1. حدد Create a resource في زاوية مدخل Microsoft Azure.

  2. في علامة التبويب خدمات Azure، حدد حساب>Azure Spring Apps.

    لقطة شاشة لمدخل Azure تعرض صفحة إنشاء مورد مع تمييز Azure Spring Apps.

  3. في صفحة Create Azure Spring Apps ، املأ النموذج في علامة التبويب Basics .

    لقطة شاشة لمدخل Azure تعرض صفحة Create Azure Spring Apps مع تحديد علامة التبويب Basics.

    استخدم الجدول التالي كدليل لإكمال النموذج. الخطة الموصى بها قياسية.

    الإعدادات القيمة المقترحة ‏‏الوصف
    الاشتراك اسم الاشتراك الخاص بك. اشتراك Azure الذي تريد استخدامه لخادمك. إذا كان لديك اشتراكات متعددة، فاختر الاشتراك الذي تريد أن تتم فوترته للمورد.
    مجموعة الموارد myresourcegroup اسم مجموعة موارد جديد أو اسم موجود من اشتراكك.
    الاسم myasa اسم فريد يعرف مثيل Azure Spring Apps. يجب أن يتراوح الاسم بين 4 أحرف و32 حرفاً، ويجب أن يحتوي على أحرف صغيرة وأرقام وواصلات فقط. يجب أن يكون الحرف الأول من اسم الخدمة حرفاً ويجب أن يكون الحرف الأخير إما حرفاً أو رقماً.
    تخطيط قياسي تحدد خطة التسعير الموارد والتكلفة المرتبطة بالمثيل الخاص بك.
    المنطقة المنطقة الأقرب إلى المستخدمين. الموقع الأقرب إلى المستخدمين.
    المنطقة زائدة عن الحاجة غير محدد إنشاء خدمة Azure Spring Apps في منطقة توفر Azure. غير مدعوم حاليا في جميع المناطق.
  4. انتقل إلى علامة التبويب Diagnostic settings في صفحة Create Azure Spring Apps ثم حدد Create new لإنشاء مثيل مساحات عمل Log Analytics جديد. في صفحة Create new Log Analytics workspace ، قم بتحديث اسم مساحة عمل Log Analytics حسب الحاجة، ثم حدد OK لتأكيد الإنشاء.

    لقطة شاشة لمدخل Azure تعرض صفحة Create Azure Spring Apps مع تحديد علامة التبويب Diagnostics وتمييز الزر Create new.

  5. انتقل إلى علامة التبويب Application Insights في صفحة Create Azure Spring Apps ثم حدد Create new لإنشاء مثيل Application Insights جديد. في صفحة إنشاء مورد Application Insights جديد، قم بتحديث اسم Application insights حسب الحاجة، وحدد Workspace-based for Resource mode، ثم حدد OK لتأكيد الإنشاء.

    لقطة شاشة لمدخل Azure تعرض صفحة إنشاء Azure Spring Apps مع عرض جزء إنشاء مورد Application Insights جديد.

  6. حدد مراجعة وإنشاء لمراجعة التحديدات. ثم حدد Create لتوفير مثيل Azure Spring Apps.

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

    لقطة شاشة لمدخل Azure تعرض نشر مورد وجزء الإعلام مع أزرار الانتقال إلى المورد وتثبيت لوحة المعلومات.

  8. حدد Go to resource للانتقال إلى صفحة نظرة عامة على Azure Spring Apps.

  9. حدد Config Server في جزء التنقل.

  10. في صفحة خادم التكوين، ل URI، أدخل https://github.com/Azure-Samples/spring-petclinic-microservices-config.git ثم حدد Validate.

    لقطة شاشة لمدخل Azure تعرض صفحة خادم التكوين مع تمييز URI الافتراضي وزر التحقق من الصحة.

  11. بعد التحقق من الصحة، حدد Apply لإنهاء تكوين Config Server.

4. نشر التطبيقات إلى Azure Spring Apps

يمكنك الآن نشر التطبيق إلى Azure Spring Apps.

استخدم الخطوات التالية لنشر تطبيقات الخدمات المصغرة باستخدام المكون الإضافي Maven ل Azure Spring Apps:

  1. انتقل إلى نموذج دليل المشروع ثم استخدم الأمر التالي لتكوين التطبيقات ل Azure Spring Apps:

    ./mvnw -P spring-apps com.microsoft.azure:azure-spring-apps-maven-plugin:1.17.0:config
    
  2. تصف القائمة التالية تفاعلات الأوامر:

    • حدد الوحدات النمطية التابعة لتكوين (أرقام الإدخال مفصولة بفاوصلة، على سبيل المثال: [1-2,4,6]، ENTER لتحديد الكل): اضغط على مفتاح الإدخال Enter لتحديد الكل.
    • تسجيل الدخول إلى OAuth2: تخويل تسجيل الدخول إلى Azure استنادا إلى بروتوكول OAuth2.
    • حدد subscription: حدد رقم قائمة الاشتراك لمثيل Azure Spring Apps الذي أنشأته، والذي يتم تعيينه افتراضيا إلى الاشتراك الأول في القائمة. إذا كنت تستخدم الرقم الافتراضي، فاضغط على مفتاح الإدخال Enter مباشرة.
    • حدد Azure Spring Apps للنشر: حدد رقم قائمة مثيل Azure Spring Apps الذي أنشأته. إذا كنت تستخدم الرقم الافتراضي، فاضغط على مفتاح الإدخال Enter مباشرة.
    • حدد التطبيقات لعرض الوصول العام:(أرقام الإدخال مفصولة بفاوصلة، على سبيل المثال: [1-2,4,6]، ENTER لتحديد NONE): أدخل 1,5 ل admin-server و api-gateway.
    • تأكيد لحفظ جميع التكوينات أعلاه (Y/n): اضغط على y. إذا قمت بالضغط على n، فلن يتم حفظ التكوين في ملفات POM.
  3. استخدم الأمر التالي لإنشاء كل تطبيق ونشره:

    ./mvnw azure-spring-apps:deploy
    
  4. بالنسبة لمطالبة تسجيل الدخول OAuth2، قم بتخويل تسجيل الدخول إلى Azure استنادا إلى بروتوكول OAuth2.

    إشعار

    يمكن أن يستغرق النشر إلى Azure Spring Apps ما يصل إلى 25 دقيقة.

بعد تشغيل الأمر، يعرض السجل إخراجا مشابها للمثال التالي، مما يشير إلى نجاح جميع عمليات النشر:

[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO]   InstanceName:admin-server-default-xx-xx-xxx  Status:Running Reason:null       DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io

...

[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io

2. إعداد مشروع الربيع

يقوم الزر Deploy to Azure في القسم التالي بتشغيل تجربة مدخل Azure التي تقوم بتنزيل حزمة JAR من صفحة إصدارات ASA-Samples-Web-Application على GitHub. لا يلزم اتخاذ خطوات إعداد محلية.

3. إعداد بيئة السحابة

المورد الرئيسي الذي تحتاج إليه لتشغيل هذا النموذج هو مثيل Azure Spring Apps. يصف هذا القسم كيفية إنشاء هذا المورد.

يستخدم هذا القسم زر Deploy to Azure لبدء تجربة توزيع في مدخل Microsoft Azure. تستخدم هذه التجربة قالب ARM لإنشاء موارد Azure.

3.1. سجِّل الدخول إلى مدخل Azure

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

3.2. إنشاء موارد Azure

استخدم الخطوات التالية لإنشاء جميع موارد Azure التي يعتمد عليها التطبيق:

  1. حدد زر Deploy to Azure التالي لبدء تجربة النشر في مدخل Microsoft Azure:

    زر لنشر قالب Resource Manager إلى Azure.

  2. املأ النموذج في علامة التبويب أساسيات . استخدم الجدول التالي كدليل لإكمال النموذج:

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

    لقطة شاشة لمدخل Azure تعرض صفحة النشر المخصص.

  3. حدد مراجعة وإنشاء لمراجعة التحديدات. ثم حدد Create لنشر التطبيق إلى Azure Spring Apps.

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

    لقطة شاشة لمدخل Azure تعرض صفحة نظرة عامة مع فتح جزء إعلامات النشر المخصص.

4. نشر التطبيقات إلى Azure Spring Apps

يقوم الزر Deploy to Azure في القسم السابق بتشغيل تجربة مدخل Azure التي تتضمن نشر التطبيق، لذلك لا توجد حاجة إلى أي شيء آخر.

5. التحقق من صحة التطبيقات

تصف الأقسام التالية كيفية التحقق من صحة التوزيع.

5.1. الوصول إلى التطبيقات

بعد انتهاء النشر، يمكنك العثور على عنوان URL ل Spring Cloud Gateway من مخرجات التوزيع، كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة لمدخل Azure تعرض صفحة Deployment Outputs.

افتح عنوان URL للبوابة. يجب أن يبدو التطبيق مشابها للقطة الشاشة التالية:

لقطة شاشة لتطبيق PetClinic الذي يعمل على خطة Azure Spring Apps Enterprise.

5.2. الاستعلام عن سجلات التطبيق

بعد استعراض كل وظيفة من وظائف Pet Clinic، تجمع مساحة عمل Log Analytics سجلات كل تطبيق. يمكنك التحقق من السجلات باستخدام الاستعلامات المخصصة، كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة لمدخل Azure تعرض صفحة السجلات للاستعلام على تطبيق PetClinic ونتائج خطة المؤسسة.

5.3. مراقبة التطبيقات

يراقب Application Insights تبعيات التطبيق، كما هو موضح في خريطة تتبع التطبيق التالية:

لقطة شاشة لمدخل Azure تعرض صفحة خريطة التطبيق لخطة Azure Spring Apps Enterprise.

يمكنك العثور على عنوان URL الخاص ب Application Live View من مخرجات النشر. افتح عنوان URL الخاص ب Application Live View لمراقبة أوقات تشغيل التطبيق، كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة ل Application Live View لتطبيق PetClinic.

5.1. الوصول إلى التطبيقات

باستخدام معلومات URL في إخراج سجل النشر، افتح عنوان URL الذي يعرضه التطبيق المسمى api-gateway - على سبيل المثال، https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. يجب أن يبدو التطبيق مشابها للقطة الشاشة التالية:

لقطة شاشة لتطبيق PetClinic الذي يعمل على Azure Spring Apps.

5.2. الاستعلام عن سجلات التطبيق

بعد استعراض كل وظيفة من وظائف Pet Clinic، تجمع مساحة عمل Log Analytics سجلات كل تطبيق. يمكنك التحقق من السجلات باستخدام الاستعلامات المخصصة، كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة لمدخل Azure تعرض صفحة السجلات للاستعلام على تطبيق PetClinic والنتائج.

5.3. مراقبة التطبيقات

يراقب Application Insights تبعيات التطبيق، كما هو موضح في خريطة تتبع التطبيق التالية:

لقطة شاشة لمدخل Azure تعرض صفحة خريطة التطبيق لمثيل Application Insights.

افتح عنوان URL الذي يعرضه التطبيق admin-server لإدارة التطبيقات من خلال Spring Boot مسؤول Server، كما هو موضح في لقطة الشاشة التالية:

لقطة شاشة لصفحة Spring Boot مسؤول Server لتطبيق PetClinic الذي يسرد مثيلات التطبيق الحالية.

6. حذف الموارد

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

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

  1. حدد موقع مجموعة الموارد الخاصة بك في مدخل Microsoft Azure. في قائمة التنقل، حدد Resource groups، ثم حدد اسم مجموعة الموارد الخاصة بك.

  2. في صفحة Resource group ، حدد Delete. أدخل اسم مجموعة الموارد في مربع النص لتأكيد الحذف، ثم حدد حذف.

تأكد من حذف الموارد التي قمت بإنشائها في هذه المقالة عندما لم تعد بحاجة إليها. يمكنك حذف مجموعة موارد Azure، التي تتضمن كافة الموارد الموجودة في مجموعة الموارد.

استخدم الخطوات التالية لحذف مجموعة الموارد بأكملها:

  1. حدد موقع مجموعة الموارد الخاصة بك في مدخل Microsoft Azure. في قائمة التنقل، حدد Resource groups، ثم حدد اسم مجموعة الموارد الخاصة بك.

  2. في صفحة Resource group ، حدد Delete. أدخل اسم مجموعة الموارد في مربع النص لتأكيد الحذف، ثم حدد حذف.

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

لمزيد من المعلومات، راجع المقالات التالية: