تكامل المؤسسة الأساسي على Azure

معرف Microsoft Entra
Azure API Management
Azure DNS
Azure Logic Apps
Azure Monitor

بنية المرجع هذه تستخدم Azure SQL Server Integration Services لتنظيم المكالمات إلى أنظمة الواجهة الخلفية للمؤسسة. يمكن أن تتضمن أنظمة الواجهة الخلفية برامج كأنظمة خدمة (SaaS) وخدمات Azure وخدمات الويب الموجودة في مؤسستك.

الهندسة

Architecture diagram showing simple enterprise integration

قم بتنزيل ملف Visio لهذه البنية.

Workflow

  • أنظمة الخلفية. يُظهر الجانب الأيمن من الرسم التخطيطي أنظمة الخلفية المختلفة التي قامت المؤسسة بتوزيعها أو الاعتماد عليها. قد تتضمن هذه الأنظمة أنظمة SaaS أو خدمات Azure الأخرى أو خدمات الويب التي تعرض نقاط نهاية REST أو SOAP.

  • Azure Logic Apps. في هذه البنية، يتم تشغيل تطبيقات المنطق بواسطة طلبات HTTP. يمكنك أيضاً إجراء تداخل لمهام سير العمل من أجل تنسيق أكثر تعقيداً. إن Logic Apps تستخدم موصلات للتكامل مع الخدمات شائعة الاستخدام. تقدم Logic Apps مئات الموصلات، ويمكنك إنشاء موصلات مخصصة.

  • إدارة Azure APIM. تتكون APIM من مكونين مرتبطين:

    • بوابة API. تقبل بوابة API استدعاءات HTTP وتوجهها إلى الواجهة الخلفية.

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

  • Azure DNS. يوفر Azure DNS تحليل الاسم باستخدام البنية الأساسية ل Azure. باستضافة المجالات الخاصة بك في Azure، يمكنك إدارة سجلات DNS الخاصة بك باستخدام نفس معلومات تسجيل الدخول وواجهات برمجة التطبيقات والأدوات والفوترة التي تستخدمها لخدمات Azure الأخرى. لاستخدام اسم مجال مخصص، مثل contoso.com، قم بإنشاء سجلات DNS التي تعين اسم المجال المخصص إلى عنوان IP. لمزيد من المعلومات، راجع تكوين اسم مجال مخصص في APIM.

  • معرف Microsoft Entra. استخدم معرف Microsoft Entra لمصادقة العملاء الذين يتصلون ببوابة واجهة برمجة التطبيقات. يدعم معرف Microsoft Entra بروتوكول الاتصال OpenID (OIDC). يحصل العملاء على رمز وصول من معرف Microsoft Entra، وتتحقق بوابة واجهة برمجة التطبيقات من صحة الرمز المميز لتخويل الطلب. إذا كنت تستخدم المستوى القياسي أو المتميز لإدارة واجهة برمجة التطبيقات، يمكن أن يساعد معرف Microsoft Entra أيضا في تأمين الوصول إلى مدخل المطور.

المكونات

  • خدمات التكامل هي مجموعة من الخدمات التي يمكنك استخدامها لدمج التطبيقات والبيانات والعمليات.
  • Logic Apps عبارة عن نظام أساسي بلا خادم لإنشاء مهام سير عمل مؤسسية تدمج التطبيقات والبيانات والخدمات.
  • APIM هي خدمة مدارة لنشر كتالوجات واجهات برمجة تطبيقات HTTP. يمكنك استخدامه لتعزيز إعادة استخدام واجهات برمجة التطبيقات الخاصة بك وإمكانية اكتشافها ونشر بوابة واجهة برمجة التطبيقات لطلبات واجهة برمجة التطبيقات الوكيلة.
  • Azure DNS هي خدمة استضافة لمجالات DNS.
  • معرف Microsoft Entra هو خدمة إدارة الهوية والوصول المستندة إلى السحابة. يمكن لموظفي المؤسسة استخدام معرف Microsoft Entra للوصول إلى الموارد الخارجية والداخلية.

تفاصيل السيناريو

Integration Services هي مجموعة من الخدمات التي يمكنك استخدامها لدمج التطبيقات والبيانات والعمليات لمؤسستك. تستخدم هذه البنية اثنتين من هذه الخدمات: Logic Apps لتنظيم سير العمل، وAPIM لإنشاء كتالوجات لواجهات برمجة التطبيقات.

في هذه البنية، يتم إنشاء واجهات برمجة التطبيقات المركبة عن طريق استيراد التطبيقات المنطقية مثل واجهات برمجة التطبيقات. يمكنك أيضاً استيراد خدمات الويب الحالية عن طريق استيراد مواصفات OpenAPI (Swagger) أو استيراد SOAP APIs من مواصفات WSDL.

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

حالات الاستخدام المحتملة

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

التوصيات

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

API Management

استخدم مستويات APIM Basic أو Standard أو Premium. تقدم هذه المستويات اتفاقية مستوى خدمة الإنتاج (SLA) وتدعم التوسع داخل منطقة Azure. يتم قياس معدل النقل APIM بوحدات. كل مستوى أسعار له حد أقصى للنطاق. تدعم الطبقة المميزة أيضاً التوسع عبر مناطق Azure المتعددة. اختر المستوى الخاص بك استنادا إلى مجموعة الميزات ومستوى معدل النقل المطلوب. لمزيد من المعلومات، راجع أسعار API Management وسعة مثيل Azure APIM.

لكل مثيل Azure APIM اسم مجال افتراضي، وهو مجال فرعي لـ azure-api.net، على سبيل المثال، contoso.azure-api.net. ضع في اعتبارك تكوين مجال مخصص لمؤسستك.

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

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

منطقة

لتقليل وقت انتقال الشبكة، ضع APIM وLogic Apps في نفس المنطقة. بشكل عام، اختر المنطقة الأقرب إلى المستخدمين (أو الأقرب إلى خدمات الواجهة الخلفية).

الاعتبارات

تطبق هذه الاعتبارات ركائز إطار العمل جيد التصميم في Azure، وهي مجموعة من المبادئ التوجيهية التي يمكنك استخدامها لتحسين جودة حمل العمل. لمزيد من المعلومات، يرجى مراجعةMicrosoft Azure Well-Architected Framework.

الموثوقيه

تضمن الموثوقية أن التطبيق الخاص بك يمكنه الوفاء بالالتزامات التي قطعتها على عملائك. لمزيد من المعلومات، يرجى مراجعة نظرة عامة على ركيزة الموثوقية.

راجع اتفاقية مستوى الخدمة لكل خدمة:

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

نسخ احتياطية

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

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

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

بالنسبة للتطبيقات المنطقية، نوصي باتباع نهج التكوين كرمز للنسخ الاحتياطي والاستعادة. نظراً لأن التطبيقات المنطقية بلا خادم، يمكنك إعادة إنشائها بسرعة من قوالب Azure Resource Manager. احفظ القوالب في التحكم بالمصادر، ودمج القوالب مع عملية التكامل المستمر/التوزيع المستمر (CI / CD). في حدث الإصلاح بعد كارثة، قم بتوزيع القالب في منطقة جديدة.

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

الأمان

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

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

  • تحتوي خدمة Azure APIM على عنوان IP عام ثابت. تقييد الوصول للاتصال بنقاط نهاية Logic Apps إلى عنوان IP APIM فقط. لمزيد من المعلومات، راجع تقييد عناوين IP الواردة.

  • للتأكد من حصول المستخدمين على مستويات وصول مناسبة، استخدم عنصر التحكم في الوصول المستند إلى الدور (Azure RBAC).

  • تأمين نقاط نهاية واجهة برمجة التطبيقات العامة في APIM باستخدام OAuth أو OpenID Connect. لتأمين نقاط نهاية واجهة برمجة التطبيقات العامة، قم بتكوين موفر هوية، وأضف نهج التحقق من صحة JavaScript Object Notation Web Token (JWT). لمزيد من المعلومات، راجع حماية واجهة برمجة التطبيقات باستخدام OAuth 2.0 مع معرف Microsoft Entra وإدارة واجهة برمجة التطبيقات.

  • الاتصال بالخدمات الخلفية من APIM باستخدام الشهادات المتبادلة.

  • فرض HTTPS على واجهات برمجة تطبيقات APIM.

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

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

إذا تطلب تطبيق منطق أي قيم حساسة لا يمكنك إنشاؤها داخل موصل، فقم بتخزين هذه القيم في Azure Key Vault والرجوع إليها من قالب Resource Manager. استخدم معلمات قالب التوزيع وملفات المعلمات لكل بيئة. لمزيد من المعلومات، راجع تأمين المعلمات والمدخلات ضمن سير عمل.

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

التميز التشغيلي

يغطي التميز التشغيلي عمليات التشغيل التي تحافظ على تشغيل التطبيق في الإنتاج. لمزيد من المعلومات، يرجى مراجعةنظرة عامة على ركيزة التميز التشغيلي.

DevOps

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

عند تعيين موارد لمجموعات الموارد، ضع في اعتبارك هذه العوامل:

  • Lifecycle. بشكل عام، ضع الموارد التي لها نفس دورة الحياة في نفس مجموعة الموارد.

  • الوصول. لتطبيق نُهج الوصول على الموارد في مجموعة، يمكنك استخدام التحكم في الوصول المستند إلى الدور Azure (Azure RBAC).

  • Billing. يمكنك عرض القيمة المحتسبة لمجموعة الموارد.

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

النشر

استخدم قوالب Azure Resource Manager لتوزيع موارد Azure، واتبع البنية الأساسية كعملية رمز (IaC). تسهل القوالب أتمتة عمليات التوزيع باستخدام Azure DevOps Servicesأو حلول CI/CD الأخرى.

التدريج

ضع في اعتبارك التقسيم المرحلي لأحمال العمل الخاصة بك، ما يعني النشر إلى مراحل مختلفة وتشغيل عمليات التحقق من الصحة في كل مرحلة قبل الانتقال إلى المرحلة التالية. إذا كنت تستخدم هذا الأسلوب، يمكنك دفع التحديثات إلى بيئات الإنتاج الخاصة بك بطريقة يتم التحكم فيها بشكل كبير وتقليل مشكلات النشر غير المتوقعة. يوصى بالتوزيع الأزرق والأخضروإصدارات Canary لتحديث بيئات الإنتاج المباشرة. ضع في اعتبارك أيضا وجود استراتيجية جيدة للتراجع عند فشل التوزيع. على سبيل المثال، يمكنك إعادة نشر نشر سابق وناجح تلقائيا من محفوظات النشر. معلمة --rollback-on-error العلامة في Azure CLI مثال جيد.

عزل حمل العمل

ضع APIM وأي تطبيقات منطقية فردية في Resource Manager templates المنفصلة الخاصة بها. باستخدام قوالب منفصلة، يمكنك تخزين الموارد في أنظمة التحكم بالمصادر. يمكنك توزيع القوالب معاً أو بشكل فردي كجزء من عملية CI / CD.

الإصدارات

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

تدعم APIM مفهومي تعيين الإصدار المتميزين والمتكاملين في الوقت نفسه:

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

  • تسمح المراجعات لمسؤولي واجهة برمجة التطبيقات بإجراء تغييرات غير منكسرة في واجهة برمجة التطبيقات ونشر هذه التغييرات، جنبا إلى جنب مع سجل تغيير لإعلام مستهلكي واجهة برمجة التطبيقات بالتغييرات.

يمكنك إجراء مراجعة في بيئة تطوير وتوزيع هذا التغيير في بيئات أخرى باستخدام قوالب Resource Manager. لمزيد من المعلومات، راجع نشر إصدارات متعددة من API

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

التشخيص والمراقبة

استخدم Azure Monitor للمراقبة التشغيلية في كل من APIM وتطبيقات المنطق. يوفر Azure Monitor معلومات تستند إلى القياسات المكونة لكل خدمة ويتم تمكينه افتراضياً. لمزيد من المعلومات، راجع:

تحتوي كل خدمة أيضاً على هذه الخيارات:

كفاءة الأداء

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

لزيادة قابلية تطوير APIM، أضف نُهج التخزين المؤقت حيثما كان ذلك مناسباً. يساعد التخزين المؤقت أيضاً في تقليل الحمل على الخدمات الخلفية.

لتوفير سعة أكبر، يمكنك توسيع مستويات Azure APIM Basic وStandard وPremium في منطقة Azure. لتحليل استخدام الخدمة، حدد قياس السعة في قائمة المقاييس ثم قم بتوسيع نطاقه أو تقليصه حسب الاقتضاء. قد تستغرق عملية الترقية أو القياس من 15 إلى 45 دقيقة للتطبيق.

توصيات لتوسيع نطاق خدمة APIM:

  • ضع في اعتبارك أنماط نسبة استخدام الشبكة عند التحجيم. يحتاج العملاء الذين لديهم أنماط نسبة استخدام الشبكة أكثر تقلباً إلى سعة أكبر.

  • قد تشير السعة الثابتة التي تزيد عن 66% إلى الحاجة إلى التوسع.

  • قد تشير السعة الثابتة التي تقل عن 20% إلى فرصة لتقليص حجمها.

  • قبل تمكين التحميل في الإنتاج، قم دائماً باختبار تحميل خدمة APIM مع تحميل تمثيلي.

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

يعني نموذج Logic Apps بلا خادم أن المسؤولين ليسوا مضطرين للتخطيط لقابلية تطوير الخدمة. تتوسع الخدمة تلقائياً لتلبية الطلب.

تحسين التكلفة

بشكل عام، استخدم حاسبة أسعار Azure لتقدير التكاليف. فيما يلي بعض الاعتبارات الأخرى.

API Management

تتم محاسبتك على جميع مثيلات APIM عند تشغيلها. إذا قمت بالارتقاء ولا تحتاج إلى هذا المستوى من الأداء طوال الوقت، فقم بتغيير الحجم أو تكوين التحجيم التلقائي يدوياً.

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

تستخدم Logic Apps نموذجاً بلا خادم. يتم احتساب الفواتير بناءً على الإجراء وتنفيذ الموصل. لمزيد من المعلومات، راجع أسعار تطبيقات المنطق.

لمزيد من المعلومات، راجع قسم التكلفة في Microsoft Azure Well-Architected Framework.

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

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

قد تكون مهتما أيضا بهذه المقالات من Azure Architecture Center: