أعلن فريق Deno عن انضمامه إلى Cloudflare، وهي خطوة تهدف إلى تبسيط الاستضافة الذاتية لـ Workers وDurable Objects بشكل جذري. تأتي هذه الخطوة لدمج جهود كل من workerd وcelld، مما سيُمكن المطورين من استخدام نفس المبادئ البرمجية في أماكن أكثر. وقد شارك كل من ريان دال (كبير مهندسي Cloudflare حالياً ومؤسس Deno) وكنتون فاردا (مهندس متميز في Cloudflare) تفاصيل هذه العملية.
رؤية جديدة للاستضافة الذاتية
لطالما سعى ريان دال إلى إيجاد تجريدات برمجية قوية تبسط عمليات التطوير. بعد نجاحه في Node.js بتبسيط نموذج البرمجة غير المتزامن، جاء Deno لتحسين تجربة كتابة JavaScript. لكن التحديات الكبرى ظلت في التطبيقات الشبكية وتوزيع الحوسبة وتنسيق الحالة والتخزين التلقائي للبيانات والتحجيم التلقائي. هنا جاءت فكرة Durable Objects من Cloudflare كحل مبتكر.
يمثل Durable Object تجريداً قوياً، فهو كخادم صغير يمكن الوصول إليه بشكل فردي، ويحتوي على قاعدة بيانات SQLite خاصة به. تنفيذ JavaScript أحادي الخيط، ويدعم WebSockets، وقاعدة بياناته المحلية يمكن الوصول إليها بشكل متزامن. هذا النموذج يبسط تقسيم البيانات واتصالات WebSocket، مما يجعل التطبيق قابلاً للتوسع بشكل طبيعي. وقد حاول ريان دال تشغيل هذا النموذج خارج Cloudflare عبر مشروع celld، الذي صُمم ليكون تطبيقاً ثنائياً واحداً مكتوباً بلغة Rust، يعتمد فقط على تخزين الكائنات كخدمة خارجية.
كسر مفهوم «الاحتجاز» بالبرمجيات مفتوحة المصدر
ترى Cloudflare أن انضمام فريق Deno، خصوصاً بعد إطلاق celld، هو دليل على أن نظرية «الاحتجاز» (lock-in) خاطئة. يؤكدون أنهم بنوا Workers بشكل مختلف ليس لاحتجاز المطورين، بل لتقديم طريقة أفضل لبناء تطبيقات الويب. يتيح تصميم Workers إدارة التطبيقات في مئات المواقع حول العالم بكفاءة عالية وتكلفة منخفضة، بفضل بنيتهم المعمارية الفريدة. كما أن تصميم بيئة Workers الحية (الروابط) يسهل تكوين الوصول إلى الموارد الخارجية ويزيد الأمان.
لقد أصبحت بيئة تشغيل Cloudflare Workers، المعروفة باسم workerd، مفتوحة المصدر استجابة لمتطلبات العملاء الكبار مثل Shopify في عام 2022. وهذا يعني أن المطورين ليسوا «محتجزين» ضمن منصة Cloudflare، حيث يمكنهم تشغيل نفس الكود في بيئات أخرى. ومع ذلك، يعترف Cloudflare بأن workerd كان ينقصه دعم Durable Objects المتعددة للمشاريع ذاتية الاستضافة، وهو ما سيغيره هذا الاندماج مع celld.
برأينا، هذا الاندماج يعني خطوة كبيرة نحو تبسيط تطوير وتشغيل التطبيقات الموزعة. سيتمكن المطورون الآن من استخدام نموذج برمجة Workers القوي على بنيتهم التحتية الخاصة بسهولة أكبر، مما يفتح الأبواب أمام تبني أوسع لهذا النموذج الفعال الذي يجمع بين الحوسبة وقواعد البيانات العلائقية وقوائم الانتظار واتصالات الوقت الفعلي، كل ذلك مصمم للتطبيقات الموزعة على آلات متعددة.
المصدر: blog.cloudflare.com