يضحي ريان دال، مبتكر Node.js، بمعركة لكسب الحرب من أجل الحوسبة من جانب الخادم، ويسمح لـ Deno، بديل Node، بالتراجع.
في الأسبوع الماضي، أعلنت Cloudflare أنها اشترت شركة دال Deno، التي بُنيت حول بيئة تشغيل JavaScript مفتوحة المصدر من جانب الخادم تحمل الاسم نفسه والتي أنشأها، للتنافس مع بيئة تشغيل Node.js، التي أنشأها أيضًا. ومع ذلك، ليس لـ Deno مستقبل في Cloudflare، التي ستحافظ على بيئة التشغيل لمدة عام آخر قبل إنهاء تطويرها. وهذا مقبول لدى دال.
لماذا يرى دال أن Node.js لم يعد الخيار الأمثل؟
قال دال لصحيفة The Register: "أرى الآن أنه إذا كنت تختار Node.js لبناء الخوادم، فأنت تفعل ذلك بشكل خاطئ." وبالنسبة لـ Cloudflare، فإن شراء Deno هو استحواذ على المواهب يضم دال و12 من زملائه في Deno، الذين سيعملون على تطوير منصة Cloudflare Workers، وتوسيعها للاستخدام المحتمل كمصدر مفتوح. ويرى أن هذا النهج هو الطريق الصحيح.
قال: "في الوقت الحالي، يعمل كل خادم آخر حقًا على طبقة الجهاز الافتراضي لنظام Linux. هذا ليس ما هي Cloudflare Workers."
أشعل Node.js الخاص بدال، والذي قدمه للعالم في عام 2009، ثورة في بنية تطبيقات الويب. كان قد سئم من استهلاك خادم الويب Apache لكل الذاكرة. باستخدام محرك Google V8 JavaScript، لم يتمكن Node من تنفيذ كود JavaScript على الخادم فحسب، بل كان بإمكانه أيضًا خدمة آلاف الطلبات في الثانية بشكل متزامن بجزء صغير من الذاكرة التي يتطلبها الخيار التقليدي في ذلك الوقت، خادم الويب Apache. اليوم، يشغل Node حوالي 30 مليون موقع ويب حول العالم. ومع 130 مليون عملية تنزيل، فمن المحتمل أنه يدير العديد من العمليات الداخلية أيضًا.
أطلق دال، الذي يتغير رأيه باستمرار، Deno لأول مرة في عام 2018 كإعادة كتابة لـ Node. اسم "Deno" هو جناس لـ Node، وكان محاولة دال لإصلاح كل ما شعر أنه أخطأ فيه في Node – مثل جلب البيانات المدمج، ونموذج الأذونات، ودعم TypeScript الأصلي، وغير ذلك.
دعمت Sequoia شركة دال بمبلغ 21 مليون دولار في عام 2022، واعتبارًا من أغسطس، جمع Deno 400,000 مستخدم شهريًا. ومع ذلك، أثبتت جاذبية Node أنها ثقيلة جدًا على Deno لتحقيق سرعة الإفلات.
قال دال لصحيفة The Register: "ما وجدناه على مدار سنوات العمل على Deno هو أنه لا يمكنك الانحراف كثيرًا عن Node.js. بينما واصلنا محاولة الحصول على تبني لـ Deno، وجدنا أنه كان علينا في الأساس التراجع عن بعض الوعود الأصلية وأن نصبح أكثر توافقًا مع Node بمرور الوقت، وهذا تركنا كنوع من تطبيقات Node.js البديلة."
في المستقبل، ستوفر Cloudflare لـ Deno إصلاحات الأخطاء وتصحيحات الأمان للعام المقبل، بينما يبحث دال عن منزل جديد لمشروع المصدر المفتوح المرخص بـ MIT (ربما مؤسسة OpenJS؟).
ما هو التوجه الجديد للحوسبة من منظور دال؟
في أغسطس، أطلق دال مشروعًا جديدًا بالكامل، يُدعى celld، والذي كان تطبيقًا مفتوح المصدر لـ Durable Objects من Cloudflare. لقد انبهر بالتقنية، التي أنشأها في الأصل كينتون فاردا.
ذكرت صفحة celld: "بدائية بهذا الجودة تستحق أن تعمل في أي مكان." تسمح Durable Objects للمطورين ببناء تطبيقات موزعة ذات حالة وفي الوقت الفعلي. على عكس Node أو Deno، لا يتطلب التطبيق الناتج بيئة تشغيل مخصصة. إنه يعمل على بيئة تشغيل Workers بدون خادم من Cloudflare، والتي تنفذ الكود داخل عزلات Google JavaScript V8 — وهي بيئة اختبار خفيفة الوزن تعمل ضمن عملية نظام تشغيل واحدة.
يمكن تشغيل مثيلات فردية للتطبيق في موقع حافة الأقرب للمستخدم. يعمل كل مثيل Durable Object كخادم مصغر أحادي الخيط بمعرف عالمي فريد وتخزين خاص به مشترك الموقع، حيث يتم تخزين بيانات المستخدم للجلسة في نسخته المخصصة من SQLite.
قال دال إن Durable Objects "هي نوع من التجريد المثالي للأنظمة الموزعة."
كان العيب في Durable Objects بالنسبة لدال هو أنها كانت مدمجة بقوة في بنية Cloudflare التحتية. لقد أنشأ celld كتطبيق يمكن استضافته في أي مكان، وليس فقط على Cloudflare.
كما اتضح، كان لدى Cloudflare طموحات مماثلة. في عام 2022، قامت الشركة بفتح مصدر إصدار من بيئة تشغيل Workers، يُدعى workerd، لكن الإصدار كان موجهًا بشكل أكبر لاختبار المطورين. لم تتمكن الشركة أبدًا من جعل Workers قابلة للاستضافة الذاتية بالكامل، ناهيك عن منحها القدرة على الحفاظ على الحالة الموزعة، وهي قوة منحها دال لـ celld.
لذا فإن مهمة فريق دال هي دمج عمل celld مع workerd لإنشاء بيئة تشغيل JavaScript/WebAssembly مستقلة، مع دمجها مع Workers وDurable Objects قدر الإمكان. (مشروع celld سيتوقف أيضًا.)
يمكن أن تكون هذه التقنية منعطفًا ثوريًا آخر لـ JavaScript من جانب الخادم، حيث تقدم بيئة تشغيل تتطلب 300 كيلوبايت فقط من الذاكرة لكل مثيل، بدلاً من مئات الميغابايت المطلوبة حاليًا لـ Node/Deno. يمكن أن تتراكم هذه التوفيرات بسرعة لمزود خدمة سحابية، خاصةً الذي يخدم السوق الوكيل الشره.
ولكن حتى نرى ثمار عمل فريق دال، سيتم الضغط على سوق بيئات التشغيل المستقلة، مع غياب Deno واستحواذ (وإعادة كتابة) Anthropic الأخير لـ Bun. الآن، سيتعين على إبداع دال الأول، Node القوي، أن يمضي قدمًا بمفرده.
جرّب الأداة: منسق ومتحقق JSON




