پرش به محتوای اصلی

خالق Node.js Deno را کنار می گذارد تا روی Cloudflare Workers منبع باز کار کند

دِ رجیستر۱۴۰۵ مهر ۲۴, جمعه، ساعت ۲۳:۵۰حدود 4 دقیقه مطالعه

در حالی که Cloudflare استارت آپ Deno خود را می بلعد، رایان دال می گوید: «در حال ساختن سرورها اشتباه هستید.

رایان دال، خالق Node.js، نبردی را برای پیروزی در جنگ فدا می‌کند... برای محاسبات سمت سرور و اجازه می‌دهد Deno جایگزین Node در کنار راه قرار بگیرد. هفته گذشته، Cloudflare اعلام کرد که شرکت Dahl's Deno را خریداری کرده است، که بر اساس یک زمان اجرای JavaScript در سمت سرور منبع باز به همین نام ساخته شده بود تا با زمان اجرا Node.js که او نیز ایجاد کرده بود رقابت کند. با این وجود، Deno آینده‌ای در Cloudflare ندارد، زیرا زمان اجرا را برای یک سال دیگر قبل از پایان توسعه آن حفظ می‌کند. با دال مشکلی نیست.

دال به The Register گفت: «من اکنون بر این عقیده هستم که اگر Node.js را برای ساخت سرور انتخاب می‌کنید، این کار را اشتباه انجام می‌دهید. برای Cloudflare، Deno buy یک خرید برای Dahl و 12 نفر از همکاران Deno او است که برای ساختن پلتفرم Cloudflare's Workers تلاش خواهند کرد و آن را برای استفاده بالقوه منبع باز گسترش خواهند داد. او احساس می کند این رویکرد راهی است که باید طی کرد. او گفت: "در حال حاضر، هر سرور دیگری واقعا در لایه لینوکس VM کار می کند. این چیزی نیست که Cloudflare Workers هستند."

نیروی غیرقابل توقف Node.js Dahl’s Node.js که او در سال 2009 به دنیا ارائه کرد، جرقه انقلابی در معماری برنامه های کاربردی وب زد. او از این که وب سرور آپاچی تمام حافظه را درگیر کرده بود خسته شده بود. با استفاده از موتور جاوا اسکریپت Google V8، Node نه تنها می‌توانست کد جاوا اسکریپت را روی سرور اجرا کند، بلکه می‌توانست همزمان هزاران درخواست را در ثانیه با کسری از حافظه مورد نیاز انتخاب سنتی آن زمان، یعنی وب سرور آپاچی، ارائه دهد. امروزه Node حدود 30 میلیون وب سایت را در سراسر جهان قدرت می دهد.

با 130 میلیون بارگیری، احتمالا عملیات داخلی بسیار بیشتری را نیز اجرا می کند. دال همیشه بی ثبات اولین بار در سال 2018 به عنوان بازنویسی Node اولین بار دنو را معرفی کرد. نام «Deno» یک آنگرام از Node است، و این تلاش دال برای رفع هر چیزی بود که احساس می‌کرد با Node اشتباه کرده است - واکشی داخلی، یک مدل مجوز، پشتیبانی از TypeScript بومی و دیگران. Sequoia در سال 2022 با مبلغ 21 میلیون دلار از شرکت Dahl's حمایت کرد و تا اوت، Deno 400000 کاربر ماهانه جمع آوری کرد. با این وجود، گرانش Node برای Deno برای دستیابی به سرعت فرار بسیار سنگین بود.

دال به The Register گفت: «چیزی که ما طی سال‌ها کار روی Deno دریافتیم این است که واقعا نمی‌توانید از Node.js خیلی منحرف شوید. همانطور که به تلاش برای پذیرش Deno ادامه دادیم، متوجه شدیم که اساسا باید از برخی از وعده‌های اولیه عقب‌نشینی می‌کردیم و به مرور زمان سازگارتر با Node می‌شدیم، و این باعث شد که ما به عنوان نوعی اجرای جایگزین Node.js باشیم. در آینده، Cloudflare رفع اشکال و وصله‌های امنیتی Deno را برای سال آینده عرضه خواهد کرد، در حالی که Dahl به دنبال خانه جدیدی برای پروژه منبع باز تحت مجوز MIT (شاید بنیاد OpenJS؟) است.

راه جدید: میکرو سرورهای توزیع شده در ماه آگوست، دال یک پروژه کاملا جدید به نام celld منتشر کرد که یک پیاده‌سازی منبع باز از اشیاء بادوام Cloudflare بود. او مجذوب این فناوری بود که در ابتدا توسط کنتون واردا ساخته شد. در صفحه سلولی آمده است: "یک بدوی این کالا شایسته اجرا در هر جایی است." اشیاء بادوام به توسعه دهندگان این امکان را می دهد که برنامه های کاربردی توزیع شده حالتی و بلادرنگ بسازند. برخلاف Node یا Deno، برنامه به دست آمده نیازی به یک محیط زمان اجرا اختصاصی ندارد.

این برنامه در زمان اجرا بدون سرور Workers Cloudflare اجرا می‌شود، که کد را در ایزوله‌های Google JavaScript V8 اجرا می‌کند - یک جعبه ماسه‌ای سبک وزن که در یک فرآیند سیستم‌عامل اجرا می‌شود. نمونه‌های منفرد برنامه را می‌توان در نزدیک‌ترین نقطه به کاربر چرخاند. هر نمونه Durable Object به عنوان یک میکرو سرور تک رشته ای با یک شناسه جهانی منحصر به فرد و فضای ذخیره سازی در محل خود عمل می کند، جایی که داده های کاربر برای جلسه در نسخه اختصاصی SQLite خود ذخیره می شود. دال گفت: «اشیاء بادوام» نوعی انتزاع کامل سیستم های توزیع شده است.

نقطه ضعف Durable Objects برای Dahl این بود که به زیرساخت های Cloudflare متصل بود. او سلول را به عنوان یک پیاده سازی ایجاد کرد که می تواند در هر جایی میزبانی شود، نه فقط در Cloudflare. همانطور که مشخص است، Cloudflare آرزوهای مشابهی داشت. در سال 2022، این شرکت نسخه‌ای از Workers Runtime به نام workerd را به صورت متن‌باز تهیه کرده بود، اما این نسخه بیشتر به سمت آزمایش توسعه‌دهندگان بود. این شرکت هرگز نتوانست کارگران را به طور کامل میزبانی کند، خیلی کمتر به آن اجازه نداد تا وضعیت توزیع شده را حفظ کند، قدرتی که دال به سلول داد.

بنابراین ماموریت تیم Dahl این است که کار celld را با workerd برای یک زمان اجرا مستقل جاوا اسکریپت/WebAssembly ادغام کند و در عین حال آن را تا حد امکان با Workers و Durable Objects ادغام کند. (سلد نیز خداحافظی می کند.) چنین فناوری می تواند یک چرخش انقلابی دیگر برای جاوا اسکریپت سمت سرور باشد، و زمان اجرا را ارائه می دهد که به جای صدها مگابایت در حال حاضر برای Node/Deno، تنها به 300 کیلوبایت حافظه در هر نمونه نیاز دارد. چنین صرفه‌جویی‌هایی می‌تواند به سرعت برای یک ارائه‌دهنده ابر، به‌ویژه ارائه‌دهنده‌ای که در خدمت بازار پرشور عامل است، افزایش یابد.

اما تا زمانی که ثمرات تیم دال را نبینیم، بازار زمان‌های اجرا مستقل فشرده می‌شود، همان‌طور که دنو و آنتروپیک اخیرا Bun را خریداری کردند (و بازنویسی کردند). اکنون، اولین ساخته دال، گره قدرتمند، باید به تنهایی پیش برود

خواندن متن کامل در دِ رجیستربه زبان اصلی، در سایت ناشر باز می‌شود
متن اصلی (انگلیسی)

Node.js creator ditches Deno to work on open source Cloudflare Workers

You're building servers 'wrong,' says Ryan Dahl as Cloudflare gobbles his Deno startup

همه‌ی اخبار فناوری