مِخبارMIKHBAR
الويب

Cloudflare تطلق Forge: خط أنابيب مفتوح المصدر لتوليد أدوات المطورين

تسعى Cloudflare إلى تبسيط إدارة واجهات برمجية ضخمة عبر Forge، نظام توليد مرن يحوّل التعريفات التقنية إلى أدوات جاهزة للاستخدام.

Cloudflare تطلق Forge: خط أنابيب مفتوح المصدر لتوليد أدوات المطورين

إطلاق Forge كأداة مفتوحة المصدر

أعلنت Cloudflare رسمياً عن إطلاق Forge، وهو خط أنابيب توليد مفتوح المصدر وقابل للتوصيل (Pluggable) مصمم للعمل داخل بيئات التكامل المستمر (CI). تهدف هذه الأداة إلى توليد مجموعات أدوات المطورين (SDKs)، وأوامر السطر الأوامر (CLIs)، والتوثيق التقني مباشرة من تعريفات الـ API. وتأتي هذه الخطوة في وقت مبكر من دورة حياة المشروع، حيث تولد الأداة بالفعل المخرجات اللازمة لأداة cf CLI، ومن المقرر أن تدعم خلال الأشهر القادمة توثيق API الخاص بـ Cloudflare ومجموعات أدوات المطورين الخاصة بها.

Cloudflare تطلق Forge: خط أنابيب مفتوح المصدر لتوليد أدوات المطورين
صورة مرتبطة بالخبر من Cloudflare Blog · المصدر: Cloudflare Blog

التحدي وراء بناء النظام

تواجه Cloudflare تحدياً فريداً نظراً لحجم واجهتها البرمجية التي تضم أكثر من 3,500 عملية (Operations)، مدعومة بمئات الخدمات المكتوبة بلغات متعددة تشمل Rust وGo وTypeScript وPython. كانت الشركة بحاجة إلى خط توليد قادر على التعامل مع هذا الحجم الهائل، مع مرونة كافية للعمل عبر مختلف اللغات وأساليب عمل فرق الهندسة. كما سعت لتقليل العبء الإداري الناتج عن التنسيق بين الفرق، حيث يحتاج فريق المنتج إلى معاينة بناء CLI والتوثيق قبل دمج أي تغييرات في الـ API، لضمان عدم حدوث أخطاء في خط التوليد.

حل مشاكل الأدوات المستضافة

جربت Cloudflare عدة منتجات مستضافة لحل هذه المشكلة، لكن لم تنجح أي منها في تلبية احتياجاتها، بل إن بعضها توقف عن العمل تماماً. كانت المشكلة تكمن في أن تغييراً بسيطاً من فريق قد يكسر خط التوليد دون أن يكتشفه فريق آخر إلا عند وقت الإطلاق، مما أدى إلى إهدار الوقت في تنسيق التغييرات بين الفرق والموردين. يسعى Forge لمعالجة هذه القضايا من خلال العمل مباشرة في مستودعات API الخاصة بكل فريق، حيث يقوم بفحص كل تغيير (Linting) وتوليد بناءات معاينة (Preview Builds) لـ CLI والتوثيق وSDKs مع تمييز التغييرات الجديدة فقط.

Cloudflare تطلق Forge: خط أنابيب مفتوح المصدر لتوليد أدوات المطورين
صورة مرتبطة بالخبر من Cloudflare Blog · المصدر: Cloudflare Blog

مبدأ المعاينة الكاملة

يعتمد Forge على نفس المبدأ الذي تتبناه ميزة Workers Previews، وهو توفير بناء معاينة كامل لكل تغيير، ولكن مطبقاً على توليد SDKs على نطاق واسع. هذا النهج يضمن أن يكون كل تغيير مرئياً وقابلاً للاختبار فوراً، حتى عندما تكون واجهة الـ API موزعة عبر مئات الخدمات والمستودعات. يتيح هذا النظام للمطورين تثبيت بناءات المعاينة واختبارها، مما يوفر بيئة آمنة للتجربة قبل الدمج النهائي والإطلاق للعملاء.

Cloudflare تطلق Forge: خط أنابيب مفتوح المصدر لتوليد أدوات المطورين
صورة مرتبطة بالخبر من Cloudflare Blog · المصدر: Cloudflare Blog

توليد مخرجات متقدمة ومرنة

تتميز محولات Forge (Transformers) بقدرتها على توليد أي مخرجات، بما في ذلك أنظمة RPC متقدمة. على سبيل المثال، يتيح Forge توليد Cap'n Web مباشرة من مواصفات OpenAPI، وهو نظام يسمح لـ TypeScript باستدعاء API عن بُعد وكأنه استدعاء لـ Method محلي. هذا يفتح الباب لتوليد روابط (Bindings) من Workers إلى واجهات أخرى، حيث أن الروابط في بيئة Workers تعمل فعلياً كـ Workers تعرض طرق RPC. كما يمكن توليد روابط لأدوات شائعة مثل TanStack Query أو مخططات Zod وValibot، مما يضمن أن تكون هذه الأدوات محدثة دائماً ومطابقة للـ API الفعلي.

التحكم في سلاسل التحويل

صُمم Forge ليكون قابلاً للتوصيل ودعم أنواع مدخلات ومخرجات متعددة. بينما يوفر حالياً مولدات لـ CLI وSDK والتوثيق، لا يوجد ما يمنع المطورين من إضافة محولات لتوليد حزم مكتبات محددة أو حتى لوحات تحكم كاملة. يدعم النظام OpenAPI كمدخل حالياً، لكن تم تصميمه لاستقبال AsyncAPI وGraphQL وProtobuf في المستقبل. الأهم من ذلك هو إمكانية سلاسل التحويل (Chaining)، حيث يمكن استخدام مخرجات هدف معين لإنتاج أهداف أخرى، مما يمنح المستخدم تحكماً كاملاً في كيفية تدفق المعلومات بين المخرجات بدلاً من فرض قرارات مسبقة من قِبل الأداة.

Cloudflare تطلق Forge: خط أنابيب مفتوح المصدر لتوليد أدوات المطورين
صورة مرتبطة بالخبر من Cloudflare Blog · المصدر: Cloudflare Blog

مستقبل إصدارات الـ API

يساعد Forge أيضاً في تحسين استراتيجية إصدارات الـ API. على الرغم من أن إصدار v4 كان الإصدار الرئيسي الوحيد لـ Cloudflare لمدة 10 سنوات، إلا أن التعريفات التقنية (SemVer) تشير إلى أن تغييرات كبيرة جرت تستدعي إصدارات رئيسية جديدة. يدرك فريق Cloudflare أن إطلاق إصدار v5 كبير قد يترك العديد من العملاء خلف الركب. لذلك، يعملون على نهج إصدارات يتيح لهم إطلاق إصدارات API رئيسية جديدة دون كسر التوافق مع العملاء أو SDKs القديمة. ومن المتوقع قريباً الإعلان عن تفاصيل SDKs بلغات متعددة، مع اهتمام خاص بعملية الانتقال إلى Terraform نظراً لصرامة متطلباتها.

المصادر

  • Cloudflare BlogIntroducing Forge: the open source pipeline for generating SDKs, CLIs, docs, and more