بارسلون — انتشار توابع واسم فرمیون (Fermyon Wasm Functions) نقطه عطف مهمی برای وباسمبلی (WebAssembly) است و ظرفیت آن را برای راهاندازی، اجرا و استقرار برنامهها به صورت بدون سرور (serverless) و گسترش آن به محیطهای لبه (edge) همانطور که طراحی شده بود، نشان میدهد.
با این حال، برای اکثر کاربران، نکته کلیدی تأثیر آن بر برنامههای بدون سرور است — امکان کاهش چشمگیر زمانهای راهاندازی سرد (cold start)، که در میلیثانیه اندازهگیری میشود، و به معنی زمان بارگذاری سریعتر و عملکرد بهبود یافته در مقایسه با AWS Lambda است.
توابع واسم فرمیون، که در کنفرانس Wasm I/O در اینجا این هفته راهاندازی شد، از زمانهای راهاندازی سرد فوقالعاده سریع وباسمبلی و جداسازی سندباکس آن هنگام توزیع بهره میبرد. این ویژگیها در ترکیب با قابلیتهای شبکهای آکامای (Akamai)، که سربار شبکه را مدیریت میکند، زمانهای راهاندازی سرد حتی سریعتر، عملکرد بارگذاری بهبود یافته و کارایی پیشرفتهتری را برای توابع لبه (edge functions) تضمین میکند. این سرویس به عنوان یک تابع به عنوان سرویس (Function as a Service - FaaS) بر روی Akamai Connected Cloud عمل میکند و به بار کاری (workloads) اجازه میدهد تا با تأخیر کاهشیافته در سراسر استقرارهای لبه اجرا شوند.
زمان نمایش
به گفته فرمیون، خالق Spin و SpinKube متنباز، توابع واسم فرمیون روی آکامای سریعترین پلتفرم توابع لبه در جهان را نمایندگی میکند. AWS Lambda یا Azure Functions سنتی زمانهای راهاندازی سرد بین ۲۰۰ تا ۵۰۰ میلیثانیه دارند. در مقابل، استقرار مبتنی بر وباسمبلی فرمیون، راهاندازیهای سرد را در تنها چند میلیثانیه اندازهگیری میکند — اغلب کمتر از نیم میلیثانیه، طبق مشخصات فرمیون.
توابع واسم فرمیون در طول سخنرانی «ترکیب کامپوننت واسم: عصر جدیدی از قابلیت همکاری زبانها» که توسط تورستن هانس، مدافع ارشد کلود، و کارتیک گانشرام، مهندس فرمیون، در کنفرانس WASM I/O ارائه شد، در بستر مناسبی قرار گرفت. آنها نحوه موارد زیر را تشریح کردند:
- ترکیب برنامهها از چندین کامپوننت واسم (Wasm).
- ساخت برنامهها با استفاده از چندین زبان برنامهنویسی.
- استفاده از ابزارهایی مانند Spin برای تسهیل ترکیببندی به منظور بهبود تجربه توسعهدهنده (DX).
هانس به من گفت که یک مزیت کلیدی توابع واسم فرمیون روی آکامای این است که چگونه به طور پیشفرض از توزیع جهانی بار کاری پشتیبانی میکند و دسترسیپذیری و عملکرد را بدون نیاز به انتخاب مناطق توسط توسعهدهندگان تضمین میکند. این سرویس با AWS Lambda مقایسه میشود و مزایای آن مانند مصرف منابع کمتر و زمانهای راهاندازی سرد بهتر به دلیل استفاده از وباسمبلی برجسته میشود. هانس گفت: «نکته کلیدی این است که توابع واسم فرمیون روی آکامای دسترسیپذیری جهانی را بدون هزینههای اضافی استقرار منطقهای تضمین میکند و از رویکردهای توزیع مشابه کوبرنتیز (Kubernetes) بهره میبرد.»
هانس افزود: «اگر آن را با پلتفرمی مانند AWS Lambda مقایسه کنید، که یک زمان اجرای بدون سرور مشابه است، آنها مشکلات راهاندازی سرد دارند. اجرای بار کاری نیز بسیار ارزانتر است زیرا وباسمبلی به طور قابل توجهی از نظر اندازه کوچکتر است.» او ادامه داد: «فکر میکنم یکی از نکات کلیدی این است که هر برنامه به طور پیشفرض به صورت جهانی در دسترس است. در تمام آن پیشنهادات دیگر، شما باید مناطق را انتخاب کنید. همچنین ممکن است مجبور باشید برای استقرار بار کاری خود در مناطق مختلف هزینه کنید، در حالی که با توابع واسم فرمیون روی آکامای، همیشه توزیع شده است.»
سرعت انفجاری واسم
مت بوچر، همبنیانگذار و مدیرعامل فرمیون، دیدگاه خوشبینانهتری درباره توابع واسم فرمیون روی آکامای داشت:
«با این ترکیب از شبکه و محاسبات، ما اکنون از هر پلتفرم محاسباتی دیگری روی کره زمین بهتر عمل میکنیم و حتی از Cloudflare Workers پیشی گرفتهایم. و هنگامی که هر ۱۰۰ میلیثانیه تأخیر باعث میشود بازدیدکنندگان سایت شما علاقه خود را از دست بدهند، این نوع افزایش عملکرد به بهبود نرخ پرش (bounce rates) و نرخ رها کردن سبد خرید (cart abandonment rates) تبدیل میشود.»
خدمات موجود آکامای که توابع واسم فرمیون روی آکامای با آنها یکپارچه شدهاند شامل CDN Property Manager آکامای، Global Traffic Manager (که هانس در بالا به آن اشاره کرد) و Linode Object Storage است. بوچر نوشت: «این امر ساخت برنامههای بومی لبه (edge native applications) را که نه تنها از برنامههای بومی کلود (cloud native apps) بهتر عمل میکنند، بلکه این کار را با هزینه کمتری انجام میدهند، حتی آسانتر میکند.» او افزود: «فقط هزینههای خروجی (egress fees) آکامای را با آمازون مقایسه کنید تا منظور ما را متوجه شوید.»
بوچر نوشت که توابع واسم فرمیون میتوانند از توابع لبه استاندارد مانند مدیریت هدرهای CORS، میزبانی محتوای تولیدکننده سایت استاتیک (SSG) یا مدیریت تغییر مسیرها (redirects) پشتیبانی کنند. با این حال، این سرویس به ویژه در کلاس برنامههایی به نام برنامههای بومی لبه (Edge Native Apps) میدرخشد. بوچر نوشت: «اینها برنامههای کاملی هستند که زمانی برای کلود ساخته میشدند، اما میتوانند به طور کامل در لبه و به صورت کاملاً توزیعشده اجرا شوند.» او افزود: «برنامههای این کلاس نه تنها سریعتر و پاسخگوتر هستند، بلکه اغلب در طول زمان مقادیر زیادی پول صرفهجویی میکنند. از ترکیب محتوای پویا گرفته تا میکروسرویسها و حتی برنامههای استنتاج هوش مصنوعی (AI inferencing)، نزدیکتر کردن قدرت پردازش به کاربران نهایی با توابع واسم فرمیون آسان است.»