
צוות Deno מצטרף ל-Cloudflare כדי לאחד עם workerd של celld, כדי לפשט את האירוח העצמי של Workers
צוות Deno מצטרף ל-Cloudflare כדי לאחד את celld עם workerd ולפשט באופן קיצוני את האירוח העצמי של Workers ו-Durable Objects עבור מפתחים שעובדים על אפליקציות מופצות.
צוות Deno מצטרף ל-Cloudflare
צוות Deno מצטרף ל-Cloudflare כדי לפשט באופן קיצוני את האירוח העצמי של Workers ו-Durable Objects ולאפשר למפתחים להשתמש באותם פרימיטיבים במקומות נוספים. Ryan Dahl, המהנדס הראשי הבכיר, ו-Kenton Varda, מהנדס מצטיין, משתפים את הסיפור של צעד זה.
Dahl, יוצר Node.js, פנה ל-Deno כדי למצוא אבסטרקציות חזקות יותר לכתיבת JavaScript. Deno שיפר את חוויית המפתח, אך לטענתו, בעיות גדולות יותר נוגעות לאפליקציות רשת: הפצת חישובים, תיאום מצב, אחסון נתונים וסילוק אוטומטי לפי ביקוש.
למה Durable Objects היה משמעותי
הפתרון התברר כש-Dahl קרא על Durable Objects של Cloudflare. הם מספקים סינגלטון מופץ עם מסד נתונים SQLite. כל Durable Object פועל כמו שרת קטן עם כתובת נפרדת, מסד נתונים רלציוני משלו, ביצוע JavaScript חד-תהליכוני, תמיכה ב-WebSocket וגישה סינכרונית ל-SQLite מקומי. בניית אפליקציית צ'אט על כל ערוץ עם Durable Object אחד מפזרת נתונים וחיבורי WebSocket, מה שהופך את האפליקציה לניתנת להרחבה.
על אבסטרקציה זו ניתן לבנות שירותים נוספים, ביניהם Queues, KV, Durable Execution ואפילו מאגר Git. עם זאת, הפעלת מודל זה מחוץ ל-Cloudflare הייתה מורכבת. workerd הוא קוד פתוח, אך תמיכתו ב-Durable Objects מוגבלת למופע אחד בלבד. Dahl רצה גרסה מופצת, מה שהוביל ליצירת celld, שהוא בינארי Rust אחד שהתלות החיצונית היחידה שלו היא אחסון אובייקטים.
תגובת Cloudflare
Kenton Varda הגיב לטענה הנפוצה ש-Cloudflare יצרה את Workers באופן שונה עבור חסימת משתמשים. הוא ציין ש-Workers שונה כי הוא טוב יותר, מה שהופך את ההפעלה של אפליקציות במאות מיקומים לפשוטה וזולה. הוא גם ציין ש-workerd, סביבת Cloudflare Workers, הוא קוד פתוח ואותו קוד פועל בפרודקשן, ומשתמשים לשעבר עברו להשתמש בו במקומות אחרים.
Varda הודה של-workerd יש פגם במוכנות לפרודקשן: Durable Objects פועל רק במצב מופע אחד, שהוא טוב לבדיקות מקומיות אך לא יכול להתרחב. יישום הניתוב של פרודקשן תלוי בשירותים חיצוניים שמהנדסי אמינות אתרים מנהלים, ולכן הוא לא מתאים למארחים עצמאיים. celld הציע יישום תואם לחלוטין, ניתן לאירוח עצמי וניתן להרחבה.
התוכנית
Ryan Dahl ו-Bert Belder מובילים מאמץ חדש כדי להפוך את האירוח העצמי של workerd לדרך מוכרת לתמיכה מלכ"רית בבנייה והפעלה של אפליקציות עם מודל התכנות של Workers. העבודה כוללת איחוד קוד ורעיונות של celld לתוך workerd, והכרזה נוספת צפויה בחודשים הקרובים. מפתחים יכולים כבר היום להתחיל לארח עצמאית את celld או workerd.
מקורות: Cloudflare
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.