نمط تطبيق ويب موثوق به ل Java - تخطيط التنفيذ

Azure App Service
Azure Cache for Redis
Azure Database for PostgreSQL
Microsoft Authentication Library for Java

توضح لك هذه المقالة كيفية التخطيط لتنفيذ نمط Reliable Web App. نمط Reliable Web App هو مجموعة من المبادئ وتقنيات التنفيذ التي تحدد كيفية تعديل تطبيقات الويب (replatform) عند الترحيل إلى السحابة. وهو يركز على الحد الأدنى من تحديثات التعليمات البرمجية التي تحتاج إلى إجراءها لتكون ناجحا في السحابة.

لتسهيل تطبيق هذا التوجيه، هناك تنفيذ مرجعي لنمط Reliable Web App الذي يمكنك نشره.

رسم تخطيطي يوضح بنية التنفيذ المرجعي.بنية بنية التنفيذ المرجعي. قم بتنزيل ملف Visio لهذه البنية.

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

تحديد أهداف العمل

الخطوة الأولية في الانتقال إلى حوسبة السحابة هي توضيح أهداف عملك. يؤكد نمط Reliable Web App على أهمية تعيين الأهداف الفورية والمستقبلية لتطبيق الويب الخاص بك. تؤثر هذه الأهداف على اختيارك للخدمات السحابية وبنية تطبيق الويب الخاص بك في السحابة.

مثال: أرادت الشركة الخيالية Contoso Fiber توسيع تطبيق الويب المحلي لنظام إدارة حسابات العملاء (CAMS) للوصول إلى مناطق أخرى. لتلبية الطلب المتزايد على تطبيق الويب، حددوا الأهداف التالية:

  • تطبيق تغييرات التعليمات البرمجية منخفضة التكلفة وعالية القيمة
  • الوصول إلى هدف مستوى الخدمة (SLO) بنسبة 99.9٪
  • اعتماد ممارسات DevOps
  • إنشاء بيئات محسنة للتكلفة
  • تحسين الموثوقية والأمان

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

اختيار الخدمات المدارة المناسبة

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

مثال: قبل الانتقال إلى السحابة، كان تطبيق الويب CAMS الخاص ب Contoso Fiber تطبيق ويب Java محليا ومتجانسا. إنه تطبيق Spring Boot مع قاعدة بيانات PostgreSQL. تطبيق الويب هو تطبيق دعم خط العمل. إنها مواجهة للموظفين. يستخدم موظفو Contoso Fiber التطبيق لإدارة حالات الدعم من عملائهم. يعاني تطبيق الويب المحلي من التحديات الشائعة. تتضمن هذه التحديات جداول زمنية موسعة لبناء وشحن ميزات جديدة وصعوبة تحجيم مكونات التطبيق المختلفة تحت حمل أعلى.

النظام الأساسي للتطبيق‬

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

مثال: اختارت Contoso Fiber Azure App Service كمنصة تطبيق للأسباب التالية:

  • التقدم الطبيعي. نشرت شركة Contoso Fiber ملف Spring Boot jar على خادمها المحلي وأرادت تقليل مقدار إعادة التصميم لنموذج النشر هذا. توفر App Service دعما قويا لتشغيل تطبيقات Spring Boot، وكان من التقدم الطبيعي ل Contoso Fiber استخدام App Service. تعد Azure Spring Apps أيضا بديلا جذابا لهذا التطبيق. إذا كان تطبيق الويب Contoso Fiber CAMS يستخدم Jakarta EE بدلا من Spring Boot، فسيكون Azure Spring Apps مناسبا بشكل أفضل. لمزيد من المعلومات، راجع ما هي Azure Spring Apps؟ وJava EE و Jakarta EE و MicroProfile على Azure.

  • اتفاقية مستوى الخدمة العالية. لديها اتفاقية مستوى خدمة عالية تفي بمتطلبات بيئة الإنتاج.

  • تقليل الحمل الإداري. إنه حل استضافة مدار بالكامل.

  • إمكانية التعبئة في حاويات. تعمل App Service مع سجلات صور الحاوية الخاصة مثل Azure Container Registry. يمكن لشبكة Contoso Fiber استخدام هذه السجلات لتعبئة تطبيق الويب في حاويات في المستقبل.

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

إدارة الهوية

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

مثال: اختارت Contoso Fiber معرف Microsoft Entra للأسباب التالية:

  • المصادقة والتخويل. وهو يعالج مصادقة الموظفين وتخويلهم.

  • قابلية التوسع. وهو يتوسع لدعم سيناريوهات أكبر.

  • التحكم في هوية المستخدم. يمكن للموظفين استخدام هويات المؤسسة الحالية الخاصة بهم.

  • دعم بروتوكولات التخويل. وهو يدعم OAuth 2.0 للهويات المدارة.

قاعدة البيانات

اختر أفضل قاعدة بيانات لتطبيق الويب الخاص بك. للحصول على تعليمات حول تضييق الخيارات، راجع شجرة قرارات مخزن بيانات Azure.

مثال: اختارت Contoso Fiber قاعدة بيانات Azure ل PostgreSQL وخيار الخادم المرن للأسباب التالية:

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

  • النسخ المتماثل عبر المناطق. تحتوي على ميزة نسخ متماثل للقراءة تسمح لك بنسخ البيانات نسخا متماثلا بشكل غير متزامن إلى قاعدة بيانات نسخ متماثلة للقراءة فقط في منطقة أخرى.

  • الأداء. يوفر أداء يمكن التنبؤ به وضبط ذكي لتحسين أداء قاعدة البيانات باستخدام بيانات الاستخدام الحقيقي.

  • تقليل الحمل الإداري. إنها خدمة Azure مدارة بالكامل تقلل من التزامات الإدارة.

  • دعم الترحيل. وهو يدعم ترحيل قاعدة البيانات من قواعد بيانات PostgreSQL أحادية الخادم المحلي. يمكنهم استخدام أداة الترحيل لتبسيط عملية الترحيل.

  • الاتساق مع التكوينات المحلية. وهو يدعم إصدارات المجتمع المختلفة من PostgreSQL، بما في ذلك الإصدار الذي تستخدمه Contoso Fiber حاليا.

  • المرونة. يقوم نشر الخادم المرن تلقائيا بإنشاء نسخ احتياطية للخادم وتخزينها باستخدام التخزين المتكرر للمنطقة (ZRS) داخل نفس المنطقة. يمكنهم استعادة قاعدة البيانات الخاصة بهم إلى أي نقطة زمنية خلال فترة الاحتفاظ بالنسخ الاحتياطي. تنشئ إمكانية النسخ الاحتياطي والاستعادة RPO أفضل (مقدار مقبول من فقدان البيانات) من Contoso Fiber التي يمكن أن تنشئها محليا.

مراقبة أداء التطبيق

اختر مراقبة أداء التطبيق لتطبيق الويب الخاص بك. Application Insights هو حل إدارة أداء التطبيق الأصلي Azure (APM). إنها ميزة من ميزات حل مراقبة Azure، Azure Monitor.

مثال: أضافت Contoso Fiber Application Insights للأسباب التالية:

  • الكشف عن الخارج عن المألوف. يكتشف تلقائيًا الحالات الخارجة عن المألوف في الأداء.

  • استكشاف الاخطاء. يساعد في تشخيص المشكلات في التطبيق قيد التشغيل.

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

  • فجوة الرؤية المحلية. لم يكن للحل المحلي حل مراقبة أداء التطبيق. يوفر Application Insights تكاملا سهلا مع النظام الأساسي للتطبيق والرمز.

ذاكرة التخزين المؤقت

اختر ما إذا كنت تريد إضافة ذاكرة التخزين المؤقت إلى بنية تطبيق الويب الخاص بك. Azure Cache for Redis هو حل ذاكرة التخزين المؤقت الأساسي ل Azure. إنه مخزن بيانات مدار في الذاكرة استنادا إلى برنامج Redis.

مثال: احتاجت Contoso Fiber إلى ذاكرة تخزين مؤقت توفر المزايا التالية:

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

  • إمكانية الدعم المتنوعة. إنه موقع ذاكرة تخزين مؤقت موحد يمكن لجميع مثيلات تطبيق الويب استخدامه.

  • مخزن بيانات خارجي. قامت خوادم التطبيقات المحلية بإجراء التخزين المؤقت المحلي للجهاز الظاهري. لم يلغي هذا الإعداد تحميل البيانات المتكررة بشكل كبير، ولم يتمكن من إبطال البيانات.

  • جلسات عمل غير متقلبة. تسمح ذاكرة التخزين المؤقت لتطبيق الويب بإضفاء الطابع الخارجي على حالة جلسة العمل باستخدام جلسات عمل غير متقلبة. تستخدم معظم تطبيقات Java على الويب التي تعمل محليا التخزين المؤقت من جانب العميل في الذاكرة. في الذاكرة، لا يتوسع التخزين المؤقت من جانب العميل بشكل جيد ويزيد من بصمة الذاكرة على المضيف. باستخدام Azure Cache for Redis، تمتلك Contoso Fiber خدمة ذاكرة تخزين مؤقت مدارة بالكامل وقابلة للتطوير لتحسين قابلية التوسع والأداء لتطبيقاتها. كانت Contoso Fiber تستخدم إطار عمل تجريد ذاكرة التخزين المؤقت (Spring Cache) وتحتاج فقط إلى الحد الأدنى من تغييرات التكوين لتبديل موفر ذاكرة التخزين المؤقت. سمح لهم بالتبديل من موفر Ehcache إلى موفر Redis.

موازن التحميل

اختر أفضل موازن تحميل لتطبيق الويب الخاص بك. يحتوي Azure على العديد من موازنات التحميل. للحصول على تعليمات حول تضييق الخيارات، راجع اختيار أفضل موازن تحميل لتطبيقك.

مثال: اختارت شركة Contoso Fiber Front Door كموازن تحميل عمومي للأسباب التالية:

  • مرونة التوجيه. يسمح لفريق التطبيق بتكوين احتياجات الدخول لدعم التغييرات المستقبلية في التطبيق.

  • تسريع حركة المرور. ويستخدم anycast للوصول إلى أقرب نقطة حضور Azure والعثور على أسرع مسار إلى تطبيق الويب.

  • المجالات المخصصة. وهو يدعم أسماء المجالات المخصصة مع التحقق من صحة المجال المرن.

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

  • دعم المراقبة. وهو يدعم التقارير المضمنة مع لوحة معلومات الكل في واحد لكل من الواجهة الأمامية وأنماط الأمان. يمكنك تكوين التنبيهات التي تتكامل مع Azure Monitor. يتيح للتطبيق تسجيل كل طلب وفحوصات السلامة الفاشلة.

  • حماية DDOS. يحتوي على حماية DDoS من الطبقة 3-4 المضمنة.

جدار حماية تطبيق الويب

اختر جدار حماية لتطبيق الويب لحماية تطبيق الويب الخاص بك من هجمات الويب. Azure Web Application Firewall هو جدار حماية تطبيق الويب Azure (WAF) ويوفر حماية مركزية من استغلالات الويب الشائعة ونقاط الضعف.

مثال: اختارت Contoso Fiber جدار حماية تطبيق الويب للمزايا التالية:

  • الحماية العالمية. ويوفر حماية متزايدة لتطبيق الويب العالمي دون التضحية بالأداء.

  • حماية Botnet. يمكنك تكوين قواعد حماية الروبوت لمراقبة هجمات botnet.

  • التماثل مع الموقع المحلي. كان الحل المحلي يعمل خلف جدار حماية تطبيق ويب تديره تكنولوجيا المعلومات.

مدير الأسرار

استخدم Azure Key Vault إذا كان لديك أسرار لإدارتها في Azure.

مثال: لدى Contoso Fiber أسرار لإدارتها. استخدموا Key Vault للأسباب التالية:

  • التشفير. وهو يدعم التشفير في حالة الراحة والنقل.

  • يدعم الهويات المدارة. يمكن لخدمات التطبيق استخدام الهويات المدارة للوصول إلى المخزن السري.

  • المراقبة والتسجيل. يسهل الوصول إلى التدقيق وينشئ تنبيهات عند تغيير الأسرار المخزنة.

  • تكامل. وهو يدعم طريقتين لتطبيق الويب للوصول إلى الأسرار. يمكن ل Contoso Fiber استخدام إعدادات التطبيق في النظام الأساسي للاستضافة (App Service)، أو يمكنهم الرجوع إلى السر في التعليمات البرمجية للتطبيق الخاص بهم (ملف خصائص التطبيق).

أمان نقطة النهاية

اختر تمكين الوصول الخاص فقط إلى خدمات Azure. يوفر Azure Private Link الوصول إلى حلول النظام الأساسي كخدمة عبر نقطة نهاية خاصة في شبكتك الظاهرية. تنتقل نسبة استخدام الشبكة بين شبكتك الظاهرية والخدمة عبر شبكة Microsoft الأساسية.

مثال: اختارت Contoso Fiber رابطا خاصا للأسباب التالية:

  • الأمان المحسن. يتيح للتطبيق الوصول إلى الخدمات بشكل خاص على Azure ويقلل من بصمة الشبكة لمخازن البيانات للمساعدة في الحماية من تسرب البيانات.

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

اختيار البنية المناسبة

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

اختيار تكرار البنية

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

تعيين تقدير توفر لكل تبعية. توفر اتفاقيات مستوى الخدمة (SLAs) نقطة بداية جيدة، ولكن اتفاقيات مستوى الخدمة لا تراعي التعليمات البرمجية واستراتيجيات التوزيع وقرارات الاتصال المعماري.

مثال: يستخدم التنفيذ المرجعي منطقتين في تكوين نشط-سلبي. وكان Contoso الألياف SLO 99.9٪ وتحتاج إلى استخدام منطقتين لتلبية SLO. يتوافق التكوين النشط-السلبي مع هدف Contoso Fiber وهو الحد الأدنى من تغييرات التعليمات البرمجية لهذه المرحلة في رحلة السحابة. يوفر التكوين النشط-السلبي استراتيجية بيانات بسيطة. يتجنب الحاجة إلى إعداد مزامنة البيانات المستندة إلى الحدث أو أجزاء البيانات أو بعض استراتيجية إدارة البيانات الأخرى. جميع حركة المرور الواردة تنتقل إلى المنطقة النشطة. إذا حدث فشل في المنطقة النشطة، تبدأ شركة Contoso Fiber خطة تجاوز الفشل الخاصة بها يدويا وتوجه جميع حركة المرور إلى المنطقة الخاملة.

اختيار تخطيط الشبكة

اختر تخطيط الشبكة المناسب لمتطلبات الويب والشبكات. مخطط الشبكة المحوري هو التكوين القياسي في Azure. يوفر مزايا التكلفة والإدارة والأمان. كما أنه يدعم خيارات الاتصال المختلط بالشبكات المحلية.

مثال: اختارت Contoso Fiber طوبولوجيا شبكة محورية ومركزية لزيادة أمان توزيعها متعدد المناطق بتكلفة أقل ونفقات إدارية.

اختيار تكرار البيانات

ضمان موثوقية البيانات من خلال توزيعها عبر مناطق Azure ومناطق التوفر؛ كلما كان الفصل الجغرافي أكبر، كلما ارتفعت الموثوقية.

  • تعيين هدف نقطة الاسترداد (RPO). يحدد RPO الحد الأقصى لفقدان البيانات الذي يمكن تحمله أثناء انقطاع التيار الكهربائي، مع توجيه مدى تكرار احتياجات البيانات إلى النسخ المتماثل. على سبيل المثال، يعني RPO لمدة ساعة واحدة قبول ما يصل إلى ساعة من فقدان البيانات مؤخرا.

  • تنفيذ النسخ المتماثل للبيانات. محاذاة النسخ المتماثل للبيانات مع البنية وRPO. يدعم Azure عادة النسخ المتماثل المتزامن داخل مناطق التوفر. استخدم مناطق متعددة لتعزيز الموثوقية بسهولة. بالنسبة لتطبيقات الويب متعددة المناطق في إعداد نشط-سلبي، قم بنسخ البيانات نسخا متماثلا إلى المنطقة السلبية وفقا ل RPO لتطبيق الويب، ما يضمن تجاوز تكرار النسخ المتماثل RPO. تتطلب التكوينات النشطة-النشطة مزامنة البيانات في الوقت الفعلي تقريبا عبر المناطق، مما قد يتطلب تعديلات التعليمات البرمجية.

  • إنشاء خطة تجاوز الفشل. وضع خطة تجاوز الفشل (التعافي من الكوارث) تحدد استراتيجيات الاستجابة لحالات الانقطاع، والتي تحددها أوقات التعطل أو فقدان الوظائف. حدد أهداف وقت الاسترداد (RTO) لأقصى وقت تعطل مقبول. تأكد من أن عملية تجاوز الفشل أسرع من RTO. اتخاذ قرار بشأن آليات تجاوز الفشل التلقائية أو اليدوية للاتساق والتحكم، وتفاصيل العودة إلى عملية العمليات العادية. اختبر خطة تجاوز الفشل لضمان الفعالية.

مثال: بالنسبة لقاعدة بيانات Azure ل PostgreSQL، يستخدم التنفيذ المرجعي توفرا عاليا زائدا عن الحاجة للمنطقة مع خوادم احتياطية في منطقتين للتوفر. كما تنسخ قاعدة البيانات بشكل غير متزامن إلى النسخة المتماثلة للقراءة في المنطقة السلبية.

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

توضح لك هذه المقالة كيفية التخطيط لتنفيذ نمط تطبيق ويب موثوق به. الخطوة التالية هي تطبيق تقنيات التنفيذ لنمط Reliable Web App.