Antipattern: إدارة موارد Edge بدون استخدام إدارة التحكّم في المصادر

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

توفّر Apigee Edge أنواعًا مختلفة من الموارد وكل منها يخدم غرضًا مختلفًا. هناك موارد معيّنة يمكن ضبطها فقط (أي إنشائها و/أو تعديلها و/أو حذفها) من خلال واجهة مستخدم Edge أو واجهات برمجة تطبيقات الإدارة أو الأدوات التي تستخدم واجهات برمجة تطبيقات الإدارة، ومن المستخدمين الذين لديهم الأدوار والأذونات المطلوبة. على سبيل المثال، لا يمكن ضبط هذه الموارد إلا لمشرفي المؤسسة الذين ينتمون إلى مؤسسة معيّنة. وهذا يعني أنّه لا يمكن للمستخدمين النهائيين ضبط هذه الموارد من خلال بوابات المطوّرين، ولا يمكن استخدامها بأي طريقة أخرى. وتشمل هذه المراجع ما يلي:

  • الخوادم الوكيلة لواجهة برمجة التطبيقات
  • المسارات المشتركة
  • منتجات واجهة برمجة التطبيقات
  • وحدات ذاكرة التخزين المؤقت
  • آلة متجه الدعم
  • ملفات تخزين المفاتيح والصناديق الموثوق بها
  • المضيفون الافتراضيون
  • الخوادم المستهدفة
  • ملفات المورد

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

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

تتم إدارة الخوادم الوكيلة لواجهة برمجة التطبيقات والتدفقات المشتركة، أي يتم إنشاؤها وتعديلها ونشرها من خلال المراجعات. يتم ترقيم النُسخ بالتسلسل، ما يتيح لك إضافة تغييرات جديدة وحفظها كنسخة جديدة أو التراجع عن تغيير من خلال نشر نسخة سابقة من الخادم الوكيل/التدفق المشترك لواجهة برمجة التطبيقات. في أي وقت، يمكن نشر مراجعة واحدة فقط للخادم الوكيل أو التدفق المشترك لواجهة برمجة التطبيقات في بيئة ما لم يكن للنسختين مسار أساسي مختلف.

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

عمليات التدقيق والسجلّ

توفّر Apigee Edge ميزات عمليات التدقيق وواجهة برمجة التطبيقات والمنتج وسجلّ المؤسسة التي يمكن الاستفادة منها في تحديد المشاكل وحلّها. وتتيح لك هذه الميزات عرض معلومات مثل المسؤول عن تنفيذ عمليات محدّدة (الإنشاء والقراءة والتحديث والحذف والنشر وإلغاء النشر) ووقت تنفيذ العمليات على موارد Edge. ومع ذلك، إذا تم إجراء أي عمليات تحديث أو حذف على أي من موارد Edge، لا يمكن لعمليات التدقيق تزويدك بالبيانات القديمة.

مضادة للأنماط

إدارة موارد Edge (المذكورة أعلاه) مباشرةً من خلال واجهة مستخدم Edge أو واجهات برمجة تطبيقات الإدارة بدون استخدام نظام التحكم في المصدر

هناك اعتقاد خاطئ بأنّ Apigee Edge سيكون بإمكانها إعادة الموارد إلى حالتها السابقة بعد إجراء تعديلات أو عمليات حذف. ولا يتيح برنامج Edge Cloud استعادة الموارد إلى حالتها السابقة. وبالتالي، تقع على عاتق المستخدم مسؤولية ضمان إدارة جميع البيانات ذات الصلة بموارد Edge من خلال إدارة التحكّم في المصدر، بحيث يمكن استعادة البيانات القديمة بسرعة في حال حذفها عن طريق الخطأ أو في الحالات التي يجب فيها التراجع عن أي تغيير. هذا الإجراء مهم بشكل خاص لبيئات الإنتاج التي تكون فيها هذه البيانات مطلوبة لعدد الزيارات في وقت التشغيل.

سنوضّح ذلك بالاستعانة ببعض الأمثلة ونوع التأثير الذي قد يحدث إذا لم تتم إدارة البيانات من خلال نظام تحكُّم في المصدر وتم تعديلها أو حذفها عن قصد أو بدون علم:

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

عند حذف خادم وكيل لواجهة برمجة التطبيقات أو تطبيق تغيير على نسخة سابقة، لن تتمكّن من استرداد الرمز السابق. إذا كان الخادم الوكيل لواجهة برمجة التطبيقات يحتوي على رمز Java أو JavaScript أو Node.js أو Python لا تتم إدارته من خلال نظام إدارة التحكّم بالمصدر (SCM) خارج Apigee، قد يؤدي ذلك إلى فقدان الكثير من الجهود والجهد المبذول في التطوير.

المثال 2: تحديد الخوادم الوكيلة لواجهة برمجة التطبيقات باستخدام مضيفات افتراضية محددة

ستنتهي صلاحية شهادة على مضيف افتراضي ويحتاج هذا المضيف الظاهري إلى التحديث. وقد يكون من الصعب تحديد الخوادم الوكيلة لواجهة برمجة التطبيقات التي تستخدم هذا المضيف الافتراضي لأغراض الاختبار في حال توفُّر العديد من الخوادم الوكيلة لواجهة برمجة التطبيقات. إذا كانت الخوادم الوكيلة لواجهة برمجة التطبيقات تُدار في نظام SCM خارج Apigee، سيكون من السهل البحث في المستودع.

مثال 3: حذف ملف تخزين المفاتيح/متجر الثقة

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

التأثير

  • إذا تم حذف أي من موارد Edge، لا يمكن استرداد المورد ومحتواه من Apigee Edge.
  • قد يتعذّر تنفيذ طلبات البيانات من واجهة برمجة التطبيقات مع حدوث أخطاء غير متوقَّعة، ما يؤدي إلى انقطاع في الخدمة إلى أن تتم استعادة المورد إلى حالته السابقة.
  • من الصعب البحث عن حالات الاعتماد المتبادل بين الخوادم الوكيلة لواجهة برمجة التطبيقات والموارد الأخرى في Apigee Edge.

أفضل الممارسات

  • استخدِم أي بروتوكول SCM عادي إلى جانب مسار التعلّم المستمر والتكامل المستمر (CICD) لإدارة الخوادم الوكيلة لواجهة برمجة التطبيقات والتدفقات المشتركة.
  • استخدام أي SCM عادي لإدارة موارد Edge الأخرى، بما في ذلك منتجات واجهة برمجة التطبيقات، وذاكرات التخزين المؤقت، وأجهزة KVM، والخوادم المستهدفة، والمضيفين الافتراضيين، وملفات تخزين المفاتيح.
    • إذا كانت هناك أي موارد حالية في Edge، يمكنك استخدام واجهات برمجة التطبيقات للإدارة للحصول على تفاصيل الإعدادات لها على شكل حمولة JSON/XML وتخزينها في إدارة التحكّم بالمصدر.
    • يمكنك إدارة أي تعديلات جديدة على هذه الموارد في إدارة عناصر تحكُّم المصدر.
    • إذا كنت بحاجة إلى إنشاء موارد Edge جديدة أو تحديث موارد Edge الحالية، استخدِم حمولة JSON/XML المناسبة المُخزَّنة في إدارة التحكّم في المصدر وعدِّل الإعدادات في Edge باستخدام واجهات برمجة تطبيقات الإدارة.

* لا يمكن تصدير آلات KVM المشفّرة في نص عادي من واجهة برمجة التطبيقات. وتقع على عاتق المستخدم مسؤولية الاحتفاظ بسجلّ للقيم التي يتم إدراجها في آليات "KVM" المشفّرة.

محتوى إضافي للقراءة