أطلق Ryan Dahl، مؤسس Node.js الشهير، مشروعاً جديداً يُغيّر قواعب الـ serverless العملية: celld — نسخة مفتوحة المصدر وقابلة للاستضافة الذاتية من Durable Objects الخاصة بـ Cloudflare. المشروع متوافق بالكامل مع Cloudflare Workers و Durable Objects JavaScript APIs، لكنه أرخص بكثير.
السعر الفارق: 8 مرات أقل التكلفة
حسب حساب Dahl الخاص: 100 خلية Durable Object نشطة باستمرار تكلف $415 شهرياً على Cloudflare، بينما celld على نفس الحجم يكلف فقط حوالي $49 شهرياً عند استخدام DigitalOcean S3-compatible bucket على droplet 8 جيجابايت.
التوفير يتسع أكثر كلما زادت السعة.Cloudflare ردّت بأن الرقم $415 افتراض خاطئ — إذا ترك Durable Objects في وضع السبات، التكلفة ستكون فقط $20.65 شهرياً. لكن الفكرة الأساسية واضحة: celld أرخص بكثير على المدى الطويل.
ما هي Durable Objects؟
Durable Objects نموذج من Cloudflare يجمع البيانات والحساب في نفس المكان — شيء نادر جداً في عالم serverless التقليدي. كل object يملك معرف فريد عالمي وملفه الخاص من SQLite، يعمل على Cloudflare Workers runtime.
النموذج اخترعه Kenton Varda و Cloudflare في 2020، وأصبح مثالياً لتطبيقات التعاون اللحظي مثل الألعاب متعددة اللاعبين وتطبيقات الإنتاجية الجماعية ووكلاء الذكاء الاصطناعي. WebSocket Hibernate mode يسمح بنوم الـ object لتجنب الرسوم عند عدم الاستخدام.
celld: ترجمة بـ Rust و S3
celld يكتب من جديد النموذج الأصلي بلغة Rust، مستخدماً:
- Amazon S3 أو ما يعادله: بدلاً من بنية Cloudflare الملكية
- Tokio Rust async runtime: لمعالجة غير متزامنة قوية وفعالة
- SQLite لكل object: نفس النموذج تماماً كـ Cloudflare
- WebAssembly support: يدعم Rust وC/C++ و Go و Zig عبر WebAssembly
- رخصة Apache 2: مفتوحة المصدر بالكامل
توافق كامل مع Workers
celld يدعم بنسبة 100% JavaScript APIs من Cloudflare Workers و Durable Objects — لا حاجة لإعادة كتابة الكود. يمكن أخذ تطبيق مبني على Cloudflare وتشغيله على celld دون تعديلات.
لماذا "رسالة حب"؟
Dahl ووفريقه وصفوا celld كـ "رسالة حب" لـ Durable Objects — لأن النموذج نفسه براقٌ جداً. Durable Objects، وفق الفريق، هي "واحدة من أفضل أدوات الأنظمة الموزعة المُعطاة للعالم." المشكلة؟ كانت حبيسة داخل Cloudflare فقط. celld تحررها.
قيد أساسي: لا مساهمات AI
على صفحة GitHub لـ celld، الفريق وضع تنبيهاً واضحاً: الـ coding agents ممنوعة. السبب؟ "وكلاء التكويد تجعل من السهل جداً إرسال تغييرات كبيرة منخفضة السياق تكلف المطورين وقتاً أكثر من الذي توفره." المساهمات البشرية مرحب بها — طالما تفهم ما تفعله.
السياق الأوسع
celld ليست الوحيدة في سعيها لتقريب البيانات من الحساب. Neon، شركة Postgres، أطلقت مؤخراً Neon Functions بنفس الرسالة: co-locate data and compute للعمليات طويلة الأمد.
المشهد يتحول: الشركات تدرك أن serverless التقليدي — الحساب المنفصل عن البيانات — تكلفة خفية ضخمة. celld من Ryan Dahl يقول بوضوح: هذا النموذج يستحق أن يعمل في أي مكان.