خدمات ميكرو و واجهات برمجة التطبيقات (اختصاراً لـ APIs) أصبحت شبه شائعة في تطوير التطبيقات المستدامة الحديثة.
تدفع واجهات برمجة التطبيقات الخدمات الميكرو (تصميم معماري يهيكل التطبيق إلى خدمات/قطع صغيرة ذاتية الاحتواء والإدارة) وتحدد كيف يمكن للمستهلك (للواجهة البرمجية) التفاعل مع الخدمة الأساسية واستخدامها.
للشركات والمنظمات الأخرى، أصبحت واجهات برمجة التطبيقات جوهر استراتيجيات التحول الرقمي. لقد زادت الزيادة في استخدام واجهات برمجة التطبيقات من استخدام حلول إدارة واجهات برمجة التطبيقات من قبل المطورين لنشر واجهات برمجة التطبيقات الخاصة بهم للجمهور أو المطورين الخارجيين، والمطورين الداخليين بالإضافة إلى الشركاء الآخرين.
يمكن لأداة إدارة واجهات برمجة التطبيقات مساعدتك في:
- تعريض الخدمات الميكرو على شكل واجهات برمجة التطبيقات المُدارة.
- دمج العديد من الخدمات الميكرو ليتم تعريضها كواجهات برمجة تطبيقات.
- تطبيق الأمان على الخدمات الميكرو الداخلية والخارجية.
- تعريض الخدمات التقليدية كواجهات برمجة التطبيقات الحديثة.
- الحصول على رؤى تجارية من استهلاك الخدمات الميكرو وواجهات برمجة التطبيقات، وأكثر من ذلك بكثير.
هل تبحث عن حل مفتوح المصدر لإدارة واجهات برمجة التطبيقات لشركتك؟ إذًا هذا الدليل مصمم خصيصًا لك، تابع القراءة.
أدناه، قمنا بمشاركة أفضل 10 بوابات وحلول مفتوحة المصدر لإدارة واجهات برمجة التطبيقات يمكنك استخدامها في بنية الشبكة الخاصة بك. يرجى ملاحظة أن القائمة التالية مرتبة بدون ترتيب محدد.
1. بوابة كونغ (OSS)
بوابة كونغ (OSS) هي بوابة واجهة برمجة تطبيقات سحابية مفتوحة المصدر ومتقدمة وشهيرة، مصممة للنشر العالمي: يمكن أن تعمل على أي منصة.
مكتوبة بلغة برمجة Lua وتدعم البنية التحتية الهجينة والمتعددة السحابات، وهي محسنة لخدمات مايكرو والهندسة المعمارية الموزعة.
في جوهرها، تم بناء Kong لتحقيق أداء عالي، وقابلية التوسع، والنقل. Kong أيضًا خفيفة الوزن وسريعة وقابلة للتوسيع. تدعم تكوينًا تصريحيًا بدون قاعدة بيانات، باستخدام تخزين في الذاكرة فقط، وCRDs الأصلية لـ Kubernative.

Kong تتميز بالتوازن في التحميل (بخوارزميات مختلفة)، والتسجيل، والمصادقة (دعم OAuth2.0)، وتحديد الحد الأقصى للمعدل، والتحولات، والمراقبة الحية، واكتشاف الخدمات، والتخزين المؤقت، وكشف الأخطاء والاستعادة، والتجميع، وأكثر من ذلك بكثير. يدعم Kong بشكل هام تجميع العقد والوظائف الخادمية.
يدعم تكوين الوكلاء لخدماتك ويخدمها عبر SSL، أو يستخدم WebSockets. يمكنه توازن حمولة حركة المرور من خلال نسخ من خدماتك المتوجهة للأعلى، ومراقبة توافر خدماتك، وضبط توازن الحمولة وفقًا لذلك.
كونغ يأتي مع واجهة سطر أوامر تسمح لك بإدارة مجموعة كونغ من سطر الأوامر. أيضًا، كونغ قابل للتوسيع بشكل كبير باستخدام الإضافات وأنواع مختلفة من التكاملات. يمكن إدارته باستخدام واجهة برمجة تطبيقات RESTful الخاصة به للحصول على أقصى قدر من المرونة.
2. تايك
تايك (يُنطق تايك) هو بوابة واجهة برمجة تطبيقات قوية وخفيفة الوزن ومتكاملة بالكامل مفتوحة المصدر، تم تطويرها من الصفر باستخدام لغة البرمجة Go. إنها مصممة للعمل في السحابة وتتميز بأداء عالٍ مع بنية قابلة للتوسيع بسهولة وقابلة للتوصيل بناءً على المعايير المفتوحة.
يمكن تشغيلها بشكل مستقل وتتطلب فقط Redis كمتجر بيانات. يتيح للمستخدمين نشر الخدمات بشكل آمن وإدارتها بمجموعة متنوعة من الخدمات بما في ذلك الإرث، REST، و GraphQL (يدعم GraphQL بشكل افتراضي).
تايك مليء بالعديد من الميزات التي تشمل مجموعة متنوعة من طرق المصادقة، الحصص، تحديد معدل الاستجابة، التحكم في الإصدارات، الإشعارات والأحداث، التحليل، والتحليلات. كما يدعم اكتشاف الخدمات، تحويلات على الطاير، ونقاط النهاية الافتراضية، ويسمح بإنشاء واجهات برمجية وهمية قبل الإصدار.

تايك يدعم وثائق الواجهة البرمجية ويقدم بوابة مطوري الواجهة البرمجية، نظامًا شبيهًا بنظام إدارة المحتوى (نظام إدارة المحتوى) حيث يمكنك نشر واجهات برمجة التطبيقات المُدارة الخاصة بك ويمكن لمطوري الطرف الثالث الاشتراك فيها والتسجيل في واجهات برمجة التطبيقات الخاصة بك، ويمكنهم إدارة مفاتيحهم الخاصة.
من الأهمية بمكان أن هناك إصدار واحد فقط من بوابة واجهة برمجة التطبيقات تايك وهو مفتوح المصدر 100%. سواء كنت مستخدمًا لإصدار الجالية Community Edition أو مستخدمًا للشركات، فإنك تحصل على نفس بوابة واجهة البرمجة التطبيقية.
يتم شحنه مع جميع الأجزاء الممكنة المطلوبة للقدرة الكاملة على الاستخدام، دون قفل الميزات ودون صندوق أسود. مع تايك، تحصل على معرفة بالضبط كيف يتم معالجة بياناتك.
3. كراكين دي
كما هو مكتوب بلغة البرمجة جو، ومصمم بأداء عالٍ في الاعتبار، كراكين دي هو بوابة واجهة برمجة التطبيقات مفتوحة المصدر عالية الأداء، بسيطة، وقابلة للتوصيل مصممة بنمط معماري لا حالة له. يمكن تشغيله في أي مكان ولا يتطلب قاعدة بيانات للتشغيل. لديه تكوين بسيط ويدعم عددًا غير محدود من نقاط النهاية والخوادم الخلفية.
كراكين دي يتميز بمراقبة، وتخزين مؤقت، وحصة المستخدم، وتحديد معدل الاستجابة، وجودة الخدمة (المكالمات المتزامنة، الكسر الدائري، ومهلة التوقيت الدقيق)، والتحويل، والتجميع، (دمج المصادر)، والتصفية (قائمة بالأسماء البيضاء والسوداء)، والفك.
يقدم ميزات وكيل مثل التوازن في التحميل، وترجمة البروتوكول، وOauth؛ وميزات الأمان مثل SSL وسياسات الأمان.

يمكنك تكوين سلوك بوابة الواجهة البرمجية للتطبيقات بشكل يدوي أو باستخدام KrakenDesigner، وهو واجهة رسومية تتيح لك تصميم واجهة برمجة التطبيقات الخاصة بك بصورة بصرية من البداية أو استئناف القائمة. بالإضافة إلى ذلك، تسمح الهندسة المعمارية الموسعة لـ KrakenD باضافة وظائف اضافية واضافة توصيلات ونصوص مضمنة ووسيطات دون تعديل الشيفرة المصدرية لها.
4. منصة واجهة برمجة التطبيقات Gravitee.io
Gravitee.io هي منصة إدارة واجهة برمجة تطبيقات مفتوحة المصدر، مبنية على لغة جافا، سهلة الاستخدام تساعد المؤسسات على تأمين ونشر وتحليل ووثائق واجهات برمجة تطبيقاتها.

تأتي مع ثلاثة وحدات رئيسية، وهي:
- إدارة واجهة برمجة التطبيقات (APIM): حلاً مفتوح المصدر، بسيط وقوي، مرن، خفيف الوزن، وسريع جداً لإدارة واجهة برمجة التطبيقات (APIM) تم تصميمه لإعطاء مؤسستك السيطرة الكاملة على من يصل إلى واجهات برمجة تطبيقاتك، متى، وكيف.
- إدارة الوصول (AM): حلاً مرنًا وخفيف الوزن ومتعدد الاستخدامات وسهل الاستخدام لإدارة الهوية والوصول مفتوح المصدر. يعتمد على بروتوكولات OAuth2/OpenID Connect ويعمل كسمسار مزود هوية. يتميز بخدمة مصادقة وتخويل مركزية لتأمين تطبيقاتك وواجهات برمجة تطبيقاتك.
- محرك التنبيهات (AE): وحدة تسمح للمستخدمين بتكوين التنبيهات واستقبال الإشعارات لمراقبة منصة واجهة برمجة تطبيقاتهم بسهولة وكفاءة. يدعم الإشعارات متعددة القنوات، واكتشاف السلوك الشاذ، والمزيد.
Gravitee.io تأتي مع Cockpit، أداة تساعدك في تصميم واجهات البرمجة التطبيقية الخاصة بك ونشرها عبر جميع بيئاتك مع دعم كامل للعملاء المتعددين.
يمكنك من توسيع نطاق تشغيل Gravitee.io من المنصة نفسها. وgraviteeio-cli، أداة سطر الأوامر البسيطة المستخدمة لإدارة بيئة Gravitee.io.
5. Gloo Edge
أيضًا مفتوح المصدر ويعتمد على لغة Go، Gloo Edge هو وحدة تحكم إدخال Kubernetes القائمة على السحابة المزودة بميزات (المبنية على Envoy Proxy) وبوابة API سحابية جيل مقبل تدعم التطبيقات التقليدية والخدمات الصغيرة وكذلك الخوادم بدون خادم. ويتكامل مع بيئتك مما يتيح لك اختيار أدواتك المفضلة لجدولة، والصمود، والأمان.
يقدم توجيهًا على مستوى الوظيفة قويًا (الذي يسمح بدمج التطبيقات التقليدية والخدمات الصغيرة والخوادم بدون خادم) ومصمم لدعم التطبيقات الهجينة التي تم إنشاؤها باستخدام أنواع مختلفة من التقنيات والهندسات والبروتوكولات التي تعمل على سحابات مختلفة.

Gloo Edge يدعم ميزات بوابة الواجهة البرمجية مثل تحديد معدل الطلب، وكسر الدوائر، وإعادة المحاولة، والتخزين المؤقت، والمصادقة الخارجية، والترخيص. كما يدعم التحويل وتكامل شبكة الخدمات، واكتشاف تلقائي بالكامل، والأمان.
جلو إيدج تعتمد على أفضل المشاريع مفتوحة المصدر مثل GraphQL و gRPC و OpenTracing و NATS وغيرها، لتوفير ميزات عالية الجودة. بالإضافة إلى ذلك، فهي تدعم تكامل المشاريع مفتوحة المصدر التي قد تظهر في المستقبل.
6. Apache APISIX
أباتشي أبي سيكس هو بوابة واجهة برمجة تطبيقات ديناميكية وعالية الأداء وقابلة للتوسع مصممة لتسهيل الاتصال السلس بين العملاء والخدمات الصغيرة المصممة. بنيت على أساس قوي من إنجينكس، أبي سيكس يتميز ببنية مرنة، مما يتيح للمستخدمين تخصيص وتوسيع وظائفه بسهولة.
يدعم عدة بروتوكولات مثل HTTP و HTTPS و TCP و UDP، مما يضمن حالات استخدام متعددة. باستخدام لوحة تحكم واجهة برمجة التطبيقات البيانية و RESTful، يصبح إدارة تكوينات واجهة برمجة التطبيقات بسيطة.

يتفوق أبي سيكس في التوازن بين الأحمال والتحكم في حركة المرور وفرض الأمان، مما يعزز من متانة النظام بشكل عام. كمشروع مفتوح المصدر تحت مؤسسة أباتشي للبرمجيات، يمكّن أبي سيكس المطورين من إنشاء بيئات واجهة برمجة تطبيقات قوية وفعّالة.
7. WSO2 API Microgateway
أبي ميكروغيت واي إس أو 2 هو بوابة واجهة برمجة تطبيقات مفتوحة المصدر، معمارية سحابية، موجهة للمطورين، ومتميزة باللامركزية للخدمات الصغيرة. يتم بناؤها بشكل أساسي باستخدام جافا، وتبسط عملية إنشاء ونشر وتأمين واجهات برمجة التطبيقات داخل الهندسة المعممة للخدمات الصغيرة.
بوابة WSO2 للواجهات البرمجية المصغرة هي حاوية خفيفة بدون حالة تتميز بأثر ذاكرة منخفض، تدعم تجميع عدة خدمات برمجية صغيرة عبر واجهة برمجية واحدة وتدعم أيضًا اكتشاف الخدمة أثناء التشغيل. تسمح بتحويل تنسيقات واجهة برمجة تطبيقات (كلا الطلبات والردود) من التقليدية إلى الحديثة، لتعريضها لتطبيقات المستهلك الحديثة.

بما أن بوابة WSO2 للواجهات البرمجية المصغرة تستخدم مواصفة OpenAPI (OAS)، فإن هذا يمكن المطورين من التعاون في إنشاء واجهات برمجية ثم اختبارها بشكل مستقل. علاوة على ذلك، فهي قابلة للتوسع بشكل كبير حيث يمكنها التشغيل بشكل منفصل دون الاعتماد على مكونات أخرى.
تتميز بالتحديد بالمعدل، واكتشاف الخدمات، وتحويل الطلب والرد، وتوازن الحمل، والفشل التدريجي، وكسر الدوائر، والتكامل السلس مع Docker و Kubernetes بين أمور أخرى. توفر المصادقة والتفويض استنادًا إلى OAuth2.0، ومفاتيح API، والمصادقة الأساسية، و TLS المتبادل.
فوزيو
Fusio هو حل إدارة واجهات برمجية مفتوح المصدر، مبني على PHP يُستخدم لبناء وإدارة واجهات برمجية REST. إنه منصة إدارة واجهات برمجية في المعنى الذي يتيح لك تطوير نقاط نهاية للواجهة البرمجية يمكنها طلب وتحويل البيانات من قاعدة بيانات. يوفر جميع الأدوات اللازمة ليس فقط لبناء واجهة برمجية بسرعة من مصادر بيانات مختلفة ولكن أيضًا لإنشاء ردود مخصصة بالكامل.
يُستخدم لتعريض الوظائف التجارية والخدمات البرمجية الصغيرة وتطبيقات جافا سكريبت وتطبيقات الهاتف المحمول، مقدمًا ميزات مثل التحديد بالمعدل، والتفويض، ودعم RPC، والتحقق، والتحليلات، وإدارة المستخدمين.

Fusio يدعم إنشاء OpenAPI وتوليد SDK ، ويأتي مع طبقة اشتراك لمساعدتك في بناء نظام نشر واشتراك لواجهة برمجة التطبيقات الخاصة بك ، ونظام دفع بسيط لفرض رسوم على المسارات المحددة.
Fusio يحتوي على عميل سطر الأوامر يسمح لك بالتفاعل مباشرة مع واجهة برمجة التطبيقات ونشر ملفات تكوين YAML محددة. Fusio-CLI مضمن تلقائيًا في كل تثبيتة من Fusio ولكن يمكنك أيضًا تشغيل عميل CLI بشكل منفصل. هناك العديد من الأدوات الأخرى في بيئة Fusio.
9. Apiman
Apiman هو أداة إدارة واجهة برمجة التطبيقات مفتوحة المصدر تعتمد على Java وتأتي مع طبقة تصميم وتكوين API غنية بواجهة تشغيل سريعة للغاية. إنها نظام مستقل يمكن تشغيله إما كنظام منفصل أو مضمنًا ضمن الأطر والمنصات الحالية.

ميزاته الرئيسية هي المرونة والحوكمة السياسية لتشغيل الوقت لواجهات برمجة التطبيقات ، وطبقة إدارة غنية ، وكاملة الاستجابة. يدعم التنظيم والحصص ، والأمان المركزي ، والفوترة والمقاييس المركزية ، والعديد من الميزات الأخرى.
10. API Umbrella
مظلة واجهة برمجة التطبيقات هي حلاً لإدارة واجهة برمجة التطبيقات مفتوحة المصدر تم بناؤها بشكل أساسي باستخدام روبي. إنها وكيل يجلس أمام واجهات برمجة التطبيقات الخاصة بك مما يتيح لك إنشاء نقطة دخول عامة واحدة لجميع واجهات برمجة التطبيقات والخدمات الصغيرة بغض النظر عن موقعها. يوفر وظائف مثل مفاتيح واجهة برمجة التطبيقات، وتحديد معدل الاستجابة، والتحليلات، والتخزين المؤقت.
يدعم تعدد المستأجرين ويأتي مع واجهة إدارة لإدارة جميع جوانب مظلة واجهة برمجة التطبيقات، مثل تكوين توجيه واجهة برمجة التطبيقات، وإدارة المستخدمين، وعرض التحليلات، وأكثر من ذلك. تحت مظلة واجهة برمجة التطبيقات، تكون جميع الوظائف الإدارية متاحة أيضًا عبر واجهة برمجة التطبيقات REST.

الختام
هذا كل شيء للآن! في هذا المقال، قمنا بمراجعة 10 بوابات وإدارات واجهة برمجة التطبيقات مفتوحة المصدر يمكنك استخدامها على خادم Linux، في بنيتك التحتية. لا تتردد في إعلامنا بأي حلول أخرى قد واجهتها ولم نذكرها في هذا المقال.
Source:
https://www.tecmint.com/open-source-api-gateways-and-management-tools/