دمج APISIX Declarative CLI مع API7 Enterprise

March 20, 2024

Products

ما هو ADC؟

ADC (APISIX Declarative CLI)، الذي قدمته API7.ai، هو أداة تكوين تصريحية تهدف إلى مساعدة المستخدمين في تنفيذ إمكانيات GitOps في بيئات غير Kubernetes. يمكن للمستخدمين دمجها بسلاسة في خطوط أنابيب CI/CD الخاصة بهم لإدارة دورة حياة APIs، مما يسهل التحديثات والإصدارات.

في الإصدار الحالي، تم دمج ADC مع APISIX لتسهيل تصدير ومزامنة موارد APISIX.

ما هي API7 Enterprise؟

API7 Enterprise مبنية على APISIX، وتوفر إمكانيات إدارة APIs محسنة، بما في ذلك تجميع البوابات وإصدار الخدمات، بهدف تقديم حل شامل لإدارة APIs للشركات. هناك بعض الاختلافات مقارنة بإدارة APIs القائمة على GitOps، حيث يمكن للمستخدمين إدارة وظائف API7 Enterprise بسهولة من خلال واجهة مستخدم ويب.

يرغب بعض المستخدمين بشدة في اعتماد نمط GitOps في API7 Enterprise لإدارة دورة حياة APIs بشكل أفضل. يهدفون إلى تخزين جميع تعريفات APIs كملفات تكوين تصريحية وضمان صحة تصريحات APIs من خلال آليات مراجعة الكود على طلبات السحب. كما يستخدمون CI في المستودع لمعاينة نشر APIs في بيئة التطوير قبل إطلاقها في بيئة الإنتاج.

قام ADC بإنشاء إطار عمل لإدارة التكوينات التصريحية وإكمال مهام اكتشاف التغييرات ومزامنة موارد APIs. لذلك، من الواضح أن دعم ADC في API7 Enterprise سيصبح اتجاهًا تطويريًا.

API7 enterprise integrates with ADC

الميزات الجديدة في إصدار ADC 0.7

من أجل دعم API7 Enterprise، تم إدخال عدة تحسينات رئيسية إلى ADC، كما هو موضح أدناه.

خلفية API7 Enterprise

لقد أصدرنا إصدارًا جديدًا من ADC مع دعم أولي لاستخدامه على خلفية API7 Enterprise. أصبحت الوظائف الأساسية مثل dump و diff و sync متاحة الآن على خلفية API7 Enterprise.

مع هذا الدعم الجديد للخلفية، يمكن للمستخدمين تصدير موارد APIs مباشرة من APISIX ومزامنتها مع API7 Enterprise، مما يسهل نقل التكوينات القديمة من APISIX للاستفادة الكاملة من الميزات القوية التي توفرها API7 Enterprise.

مجموعة البوابة

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

إدارة مجموعة البوابات هي ميزة رئيسية جديدة في API7 Enterprise، وADC يوفر الدعم لها. عند استخدام أوامر ADC الأساسية، يمكن للمستخدمين تحديد علامة سطر أوامر تسمى gateway-group، والتي توجه ADC لاسترداد ومزامنة الموارد المحددة من قبل المستخدم من تلك المجموعة.

تصفية الموارد بناءً على العلامات

في الإصدارات السابقة من ADC، تم سحب تكوينات APIs بالكامل ومزامنتها من واجهة برمجة التطبيقات الإدارية. ومع ذلك، حتى إذا قمنا بإجراء تعديلات طفيفة على تكوينات APIs، كان النظام لا يزال يتطلب منا تقديم جميع ملفات التكوين التصريحية، حتى إذا لم تتغير بعضها. عدم تقديم هذه الملفات غير المتغيرة سيؤدي إلى اعتبار النظام أن الموارد المدرجة في واجهة برمجة التطبيقات الإدارية ولكن غير المقدمة في سطر الأوامر قد تم حذفها، مما يؤدي إلى إزالتها من بيئة الإنتاج. هذا يمكن أن يهدد حالة التكوين المتوقعة ويؤثر على معالجة حركة المرور، وهو أمر غير مرغوب فيه.

لحل هذه المشكلة، نقدم الآن مرشحًا للموارد يعتمد على العلامات. يسمح هذا المرشح للمستخدمين بتحديد واحد أو أكثر من أزواج المفاتيح والقيم للعلامات التي يجب أن تفي بها الموارد من خلال علامة سطر أوامر تسمى label-selector. سيتم تجاهل أي موارد محلية وبعيدة لا تفي بمتطلبات هذا المرشح، مما يمنع بشكل فعال تعطيل تكوينات البوابة عن طريق الخطأ.

توقعات للميزات الجديدة

بالإضافة إلى الميزات الجديدة المذكورة أعلاه، ما زلنا نستكشف مجالات جديدة لتعزيز وظائف ADC وتقديم قيمة أكبر للمستخدمين. بعض الأمثلة تشمل:

  • توفير آلية إضافات للسماح للمستخدمين بتخصيص خلفيات بوابات APIs. يمكن للمستخدمين تصدير تكوينات ADC التصريحية من أي بوابة APIs وتحديد تكوينات APIs من خلال ADC لنشرها على أي بوابة APIs.

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

  • توفير محولات تعريف APIs بخلاف OpenAPI لإثراء نظام أدوات APIs الذي يمكن لADC الاستفادة منه.

ADC 0.7 متاح فقط للاستخدام الداخلي في API7 Enterprise ولم يتم إصداره للعامة بعد. سيتم تقديم هذه الميزة إلى مجتمع المصادر المفتوحة Apache APISIX في الربع الثاني من هذا العام.

Tags: