Cloudflare Workers اجرای کد لبه شبکه با قیمتی ناچیز!
کلودفلر Worker چیست و چکار میکند؟ توضیح ساده مبانی و کاربردها پیوست
در این مقاله به بررسی چند نمونه از تفاوتهای کلودفلر Worker با جاوااسکریپت مرورگر میپردازیم. پس از راهاندازی و اجرا، Cloudflare میگوید که مشتریان میتوانند این سرویس را با استفاده از REST API یا با اتصال آن به صفحه وب سایت Pages خود، در برنامههای خود ادغام کنند. اولین مورد از این موارد، گسترش پلتفرم Workers بدون سرور برای پشتیبانی از بارهای کاری تسریع شده GPU است. این سرویس که Workers AI نامیده می شود، برای ساده سازی فرآیند استقرار مدل های از پیش آموزش دیده طراحی شده است. مدلهای هوش مصنوعی مولد ممکن است در خوشههای عظیم پردازندههای گرافیکی آموزش ببینند، اما Cloudflare استدلال میکند که مکان واضح برای اجرای آنها فقط در لبه نیست، بلکه در خود شبکه است.
Cloudflare یک شبکه HTTP caching edge با مراکز داده در سراسر جهان است و به توسعه دهندگان این امکان را میدهد تا جاوا اسکریپت خود را در لبه شبکه بنویسند و مستقر کنند. در شبکه Cloudflare، کش HTTP در هیچ سرور خاصی صورت نمیگیرد، بلکه در هر مرکز داده نزدیک به منبع درخواست HTTP اتفاق میافتد. در یک مدل بدون سرور، برنامه به توابعی تقسیم بندی میشود و کد تابع در پاسخ به رویدادهای معینی اجرا میشود. رویدادی که باعث ایجاد جاوا اسکریپت بدون سرور میشود یک درخواست HTTP است. توسعهدهندگان میتوانند نوع درخواستهای HTTP را که توابع جاوااسکریپت به آنها پاسخ میدهند، تغییر یا انجام دادن درخواست HTTP را سفارشی سازی کنند.
اگر به دنبال داشتن سرعتی بالا و محدودیت کم هستید سرور مجازی هلند پویان آی تی انتخابی مناسب برای شماست. در نتیجه، هنوز استقرار برنامههای تولیدی روی Workers AI را توصیه نمیکند و آن را بهعنوان «بتای اولیه» توصیف میکند. Cloudflare خاطرنشان می کند که این سرویس هنوز در مراحل اولیه استقرار است و امروزه هفت سایت آنلاین است. با این حال، این شرکت در حال استقرار پردازندههای گرافیکی است تا این سرویس را تا پایان سال به 100 نقطه و تا پایان سال 2024 «تقریباً در همه جا» برساند. خب فرض کنید دامنه لینکهای سابسکریپشن ما که قبلا ثبت نموده اید، t1.hiddify.com باشد. به تنظیمات مربوط به این دامنه بروید و در فیلد نمایش کانفیگهای دامنه، دامنه جدیدی که در مرحله قبل برای ورکرز اضافه نموده بودید را مثل شکل زیر تیک بزنید.
در تنظیمات سرتیفیکت دامنه در سایت کلادفلر بروید و سرتیفیکت را روی Full بگذارید. طبق توضیحات مربوط به نحوه ثبت دامنه وارد اکانت خود در کلادفلر شوید. ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. به عنوان مثال، برای یک ربات چت، یک مشتری ممکن است کاتالوگ محصول خود را در پایگاه داده برداری آپلود کند، که مدل آن را به یک دارایی جاسازی شده تبدیل می کند. خواهید دید که کانفیگهای جدید مربوط به ورکرز به کانفیگهای قبلی اضافه شدهاند.
کلودفلر Worker این کار را با اجرای یک قطعه کد کوچک در مکانهای مختلف در سراسر جهان، نزدیک به افرادی که از آن وبسایتها یا برنامهها استفاده میکنند، انجام میدهد. این باعث میشود وبسایتها و برنامهها به سرعت پاسخ دهند زیرا کد در فاصله نزدیک به آنها اجرا میشود. کلودفلر Worker همچنین به توسعهدهندگان کمک میکند تا با مراقبت از مسائل فنی، زمان و تلاش کمتری صرف کنند زیرا کارهایی که باید آنها انجام دهند توسط کدهای کوچکی به نام Worker بهینهسازی شده است. Service Worker اسکریپتهایی هستند که به منظور ایجاد تجربیات سفارشی برای کاربران، مرورگرها را بارگیری و اجرا میکنند. Service Worker سرویسهایی مانند اعلانهای فشار، همگام سازی پس زمینه و عملکرد آفلاین را در مرورگر امکانپذیر میسازند. قبل از رسیدن درخواستها به اینترنت، آنها در جاوااسکریپت نوشته، رهگیری، اصلاح و پاسخ داده میشوند.
با کلودفلر Worker، توسعهدهندگان نیازی به نگرانی در مورد راهاندازی و مدیریت سرورهای خود ندارند. آنها میتوانند کد خود را در جاوا اسکریپت یا WebAssembly بنویسند و آن را در شبکه کلودفلر قرار دهند. این کد میتواند توسط رویدادهایی مانند درخواستهای HTTP یا تایمرها فعال شود و به توسعهدهندگان این امکان را میدهد تا برنامههایی بسازند که به اقدامات کاربر در زمان واقعی پاسخ دهند. وقتی میگویم «نزدیکتر به کاربران در سراسر جهان»، به نزدیکی فیزیکی سرورهایی که کد را اجرا میکنند به کاربران نهایی اشاره میکنیم. کلودفلر دارای یک شبکه جهانی گسترده از مراکز داده است که در مکان های مختلف در سراسر جهان گسترده شده است.
Cloudflare، که به طور عمده به خاطر سرویسهای CDN (شبکه تحویل محتوا) و امنیتی خود شناخته شده است، با ارائه Workers AI به دنبال توسعه خدمات خود به حوزه هوش مصنوعی و یادگیری ماشین است. این درخواستی است که از طریق HTTP از سمت مشتری به سرور ارسال میشود. مرورگرها اقدامات کاربر، مانند کلیک کردن بر روی لینک یا ارسال فرم را به درخواستهای HTTP ترجمه میکنند. درخواست سپس به سرور ارسال میشود و سرور پاسخ HTTP را برای انجام درخواست ارسال میکند. یک درخواست HTTP نیز زمانی اتفاق میافتد که برنامه یک API را صدا میزند.
زبان پیکربندی Varnish یا VCL برای Varnish استفاده میشود و به توسعه دهندگان اجازه میدهد تا نحوه مدیریت درخواستهای وب وارنیش را مدیریت کنند. با این حال، Cloudflare می گوید که در حال کار برای گسترش این لیست در آینده نزدیک است. مانند بسیاری از امیدواران هوش مصنوعی، این کار را کرده است درخواست شده است کمک Hugging Face برای بهینه سازی مدل های اضافی برای این سرویس. طبق معمول، Cloudflare میگوید که در روز اول برای این سرویس صورتحساب نمیشود. با این گفته، انتظار دارد برای هر هزار «نرون منقبض معمولی» حدود یک سنت و برای هر هزار «نرون سریع انقباض» 0.125 دلار دریافت کند.
با قابلیت اجرای کد در پاسخ به درخواستهای HTTP، میتوانید به راحتی راهحلهای اسکرپینگ پیچیده را بدون نیاز به مدیریت هیچ سروری بسازید. خوب، در واقع، کمترین تأخیر ممکن با اجرای بار کار استنتاج بر روی دستگاه کاربر به دست می آید. اینتل در این مورد معامله بزرگی کرد، ترویج ظهور نسل رایانه های شخصی هوش مصنوعی، هفته گذشته در Intel Innovation. اما در حالی که این ممکن است در برخی موارد منطقی باشد، Cloudflare استدلال می کند که دستگاه های محلی هنوز به اندازه کافی قدرتمند نیستند. Workers AI یکی از محصولات نوآورانه شرکت Cloudflare است که به منظور ارائه تواناییهای پردازش هوش مصنوعی در مقیاس وسیع و با سرعت بالا طراحی شده است.
در این مقاله، ما اصول اولیه Cloudflare Workers را بررسی خواهیم کرد، از جمله نحوه کار آنها، نحوه راهاندازی آنها و موارد استفاده که برای آنها مناسبتر هستند. جاوا اسکریپت بدون سرور کد جاوا اسکریپتی است که شامل تمام یا بخشی از برنامه است و فقط در صورت درخواست اجرا میشود و در سرورهای اختصاصی میزبانی نمیشود. این قابلیت، برنامهنویسان را قادر میسازد تا برنامههای بدون سرور high-performance و low-latency را که در شبکه اجرا میشوند را ایجاد کنند. این کار با استفاده از قطعات کوچک کد به نام “کارگر یا Worker” در سرورهای لبه شبکه کلودفلر انجام میشود. این سرورهای لبه در بسیاری از مکانهای مختلف در سطح جهان قرار دارند، به این معنی که کد نزدیکتر به کاربران اجرا میشود و در نتیجه برنامههای کاربردی سریعتر و پاسخگوتر هستند. کلودفلر Worker ابزار ویژهای است که به سرعت بخشیدن به وب سایتها و برنامهها کمک میکند.
Chrome V8 که به نام V8 نیز شناخته میشود یک موتور جاوااسکریپت است که برای تهیه، بهینه سازی و اجرای جاوااسکریپت ساخته شده است. با استفاده از V8 برای اجرای کد جاوااسکریپت، زمان راه اندازی برای JavaScript Worker بسیار کاهش مییابد و مسئله شروع سرد در بیشتر موارد از بین میرود. V8 همچنین برای آسیب پذیریهای امنیتی به شدت مورد تجزیه و تجلیل قرار میگیرد و آن را برای اجرای ایمن کد جاوااسکریپت ایدهآل میکند. مشخص نیست که آیا محدودیتی برای اندازه مدل هایی که پلتفرم می تواند پشتیبانی کند وجود دارد یا خیر، اما فهرست اولیه سرنخ هایی را ارائه می دهد. Cloudflare پارامتر هفت میلیاردی متا Llama 2 LLM را در حال اجرا در Int8 در دسترس قرار می دهد که به حدود 7 گیگابایت حافظه GPU نیاز دارد. این شرکت همچنین خاطرنشان می کند که "اگر به دنبال اجرای مدل های صد میلیاردی با پارامتر هستید، ابر متمرکز برای حجم کاری شما مناسب تر خواهد بود."
VCL یک زبان پیکربندی است که برای پیکربندی حافظه نهان وارنیش طراحی شده است. VCL به اندازه کافی برای ساخت و گسترش یک برنامه قوی نیست و در مقایسه با قابلیتهای جاوا اسکریپت محدود است. در ضمن، VCL در خارج از اجرای وارنیش قابل استفاده نیست و در نتیجه بیشتر توسعه دهندگان با آن آشنا نیستند. درصورتیکه، جاوااسکرپیت زبانی گسترده است و برای ساخت برنامه مورد استفاده قرار میگیرد. استفاده از جاوا اسکریپت در یک معماری بدون سرور به توسعه دهندگان اجازه میدهد تا برنامههای کاملی را به زبانی که با آن آشنا هستند ایجاد کنند.
کلودفلر Workers دارای محدودیتهای منابع خاصی هستند، مانند محدودیتهای زمانی اجرا و محدودیتهای حافظه، که توسط پلتفرم کلودفلر اعمال میشود. در مقابل، مرورگر جاوا اسکریپت از نظر استفاده از منابع انعطافپذیری بیشتری دارد زیرا مستقیماً در دستگاه کاربر اجرا میشود. کلودفلر Worker سرویسی است توسط شرکت Cloudflare ارائه میشود و به برنامهنویسان اجازه میدهد کدهای خود را در سمت نزدیک به کاربران اجرا کنند. در دنیای اینترنت یک سرویسدهنده (سرور) داریم و یک سرویسگیرنده (کلاینت) که از سرور خدمات میگیرد. کلودفلر میان این دو تا قرار میگیرد و با توزیع جغرافیایی در سراسر جهان، خدمات سرور را از فاصله کوتاهتر و باسرعت بیشتر در اختیار سرویسگیرنده قرار میدهد.
در کنار Workers AI و Vectorize، مجموعه هوش مصنوعی Cloudflare همچنین دارای پلتفرمی برای نظارت، بهینهسازی و مدیریت بارهای کاری استنتاج در مقیاس است. با توجه به Cloudflare، این رویکرد می سازد استنتاج در دسترستر، سریعتر و منابع کمتری چون دادههای مشتری را از خود مدل جدا میکند. اگرچه کلودفلر Worker مشابه با جاوااسکریپت در مرورگر رفتار میکنند، اما تفاوتهایی در مورد کد وجود دارد. Workerها همچنین بسیاری از APIهای استاندارد موجود در اکثر مرورگرهای مدرن را پیادهسازی میکنند. هدف این پلتفرم، دسترسی آسان برای همه است و برای شروع کار با آن، تنها به دانش پایهای از یادگیری ماشین نیاز دارید. با استفاده از API Cloudflare میتوانید از قدرت مدلهای یادگیری ماشین مختلف استفاده کنید .
آنها از سایر Workerها جدا شدهاند و دسترسی محدودی به زیرساختهای اساسی دارند. مرورگر جاوا اسکریپت در چارچوب امنیتی مرورگر کاربر عمل میکند، محدودیتهای خاصی برای محافظت از حریم خصوصی کاربر و جلوگیری از فعالیتهای مخرب دارد. Cloudflare Workers یک پلت فرم بدون سرور است که راهی سریع و کارآمد برای اجرای کد در پاسخ به درخواست های HTTP ارائه می دهد. این یک ابزار فوق العاده مفید برای توسعه دهندگانی است که می خواهند قابلیت های جدیدی را به وب سایت ها یا برنامه های خود اضافه کنند. چه در حال ساختن یک نقطه پایانی ساده API هستید، دادهها را از وبسایتها جمعآوری میکنید یا فقط میخواهید وبسایت خود را کارآمدتر کنید، Cloudflare Workers میتواند به شما کمک کند.
در نتیجه درخواستها نیازی به سفر به سرور مبدأ و بازگشت از آنجا ندارند و برنامه خیلی سریعتر به تعامل کاربر پاسخ میدهد. Serverless JavaScript در یک لبه شبکه یا توسط HTTP caching service میزبانی میشود، که محتوا را برای پاسخ سریع به درخواستهای HTTP ذخیره میکند. توسعهدهندگان میتوانند توابع جاوااسکریپت را که درخواستهای HTTP را قبل از سفر به سمت سرور پردازش و مستقر میکنند بنویسند و اجرا کنند. حافظه پنهان HTTP زمانی است که سرور یا مرورگر یک نسخه از پاسخ به درخواست HTTP کاربر را ذخیره میکند تا بتواند سریعتر به درخواستهای آینده پاسخ دهد. برخی از قابلیتهای حافظه پنهان HTTP توسعه دهندگان را قادر میسازد تا نحوه کار حافظه پنهان HTTP را برای برنامههای کاربردی خود تنظیم کنند.
می توانید آن را تغییر دهید اما توجه داشته باشید که این نام باید منحصر به فرد باشد. در اینجا به یک دامنه خریداری شده نیاز دارید و نیاز دارید که آن را در کلادفلر ثبت نمایید.اگر در خصوص دامنه و نحوه ثبت آن ابهامی دارید؛ این مطلب را مطالعه کنید. برای استفاده از ورکرز نیاز دارید که یک دامنه فعال روی کلادفلر داشته باشید. بله شما با استفاده از این هوش مصنوعی میتوانید از حفظ امنیت دادهها و اطلاعاتتان آسوده خاطر باشید. یک دامنه CDN با مشخصات ورکرز شما به دامین های قبلی شما اضافه شد و می توانید از کانکشن های آن استفاده نمایید. بعد از آن باید روی دکمه Quick edit کلیک کنید تا بتوانید کد دلخواه خود را در ورکرز قرار دهید.
Varnish یک شتابدهنده وب است که برای سرعت بخشیدن به برنامههای وب و بهبود عملکرد وب سایت طراحی شده است. آن یک پروکسی معکوس HTTP ذخیره شده است به این معنا که در مقابل هر وب سرور قرار دارد و ترافیک HTTP را با ذخیرهسازی یا ذخیره هر گونه محتوایی که اغلب توسط مشتریان وب درخواست میشود، به آن سرور شتاب میدهد. جاوا اسکریپت مرورگر به APIهای مختلف مرورگر دسترسی مستقیم دارد، مانند DOM API برای دستکاری عناصر صفحه وب، Fetch API برای ایجاد درخواستهای HTTP و Web Storage API برای ذخیره دادهها به صورت محلی. از طرف دیگر، کلودفلر Worker دسترسی مستقیم به این APIهای خاص مرورگر ندارند زیرا خارج از محیط مرورگر اجرا میشوند. Workers AI شرکت Cloudflare یک پلتفرم جدید است که به توسعهدهندگان امکان میدهد مدلهای یادگیری ماشین را روی شبکه Cloudflare اجرا کنند. این فقط یک مثال اساسی است، اما قدرت Cloudflare Workers را برای خراش دادن داده ها از وب سایت ها نشان می دهد.
این شرکت توضیح داد که نورون ها راهی برای اندازه گیری خروجی هوش مصنوعی هستند و افزودند که هزار نورون برای حدود 130 پاسخ LLM، 830 طبقه بندی تصویر یا 1,250 جاسازی خوب است. "بدون تخصص یادگیری ماشین، بدون جست و جو برای GPU ها. فقط یکی از مدل های ارائه شده را انتخاب کنید و بروید،" Cloudflare ادعا می کند. همانطور که احتمالا میدانید، در هیدیفای شما میتوانید لینکهای سابسکریپشن را روی یک دامنه مجزا قرار دهید و دامنههای دیگر که برای کانکشنها تنظیم شده است را به این دامنه اضافه نمایید. مزیت این کار این است که همیشه دامنه لینکها در دسترس خواهد بود و فیلتر نخواهد شد چون با این روش، کانکشنها از لینکهای سابسکریپشن جدا میشوند. ورکر AI یک ابزار قدرتمند برای بهبود کارایی و اتوماسیون در محیطهای کاری است. با استفاده از این ابزار میتوانید فرآیندهای پیچیده را به صورت خودکار انجام دهید و نتایج دقیقی بدست آورید.
تفاوت بین این دو در این است که مورد دوم نزدیکی به کاربر نهایی را در اولویت قرار می دهد، در حالی که هر دو ارزان تر در هر جایی که Cloudflare ظرفیت اضافی دارد اجرا می شود. در این مثال، کارگر به رویدادهای واکشی گوش می دهد و سپس با ایجاد یک درخواست واکشی، اطلاعات آب و هوا را از وب سایت بازیابی می کند. سپس از تابع extractWeatherData برای تجزیه HTML و استخراج اطلاعات مربوط به آب و هوا استفاده می کند. داده های آب و هوای حاصل به عنوان یک رشته JSON در پاسخ برگردانده می شود. با بیش از 8 سال تجربه و سابقه درخشان در حوزه هاستینگ و میزبانی وب مفتخریم تا با ارائه خدماتی همچون سرور اختصاصی، سرور مجازی، ثبت دامنه، هاست و … در کنار شما عزیزان باشیم. ما در پویان آی تی همواره در تلاشیم تا با فراهم کردن بهترین زیر ساختها و رعایت اصول حرفه ای مشتری مداری قدردان اعتمادتان بوده و در جهت پیشبرد کسب و کار شما گامی موثر برداریم.
تفاوت بین جاوااسکریپت نوشته شده برای مرورگر یا Node.js در زمان اجرا اتفاق میافتد. توابع Worker به جای کارکردن روی دستگاه یک فرد، در شبکه Cloudflare’s Edge اجرا میشوند که یک شبکه جهانی در حال رشد از هزاران دستگاه توزیع شده در صدها مکان است. جاوا اسکریپت بدون سرور به گروه گستردهتری از توسعهدهندگان اجازه میدهد تا محاسبات بدون سرور را در لبه استفاده کنند تا بتوانند انواع بیشتری از برنامهها را بسازند. هنگام کار با کلودفلر Workers، توسعهدهندگان معمولاً کد خود را با استفاده از یک ویرایشگر متن یا یک محیط توسعه یکپارچه (IDE) مینویسند و سپس آن را در پلتفرم کلودفلر مستقر میکنند. از طرف دیگر، جاوا اسکریپت مرورگر معمولاً مستقیماً در اسناد HTML جاسازی میشود یا به عنوان فایلهای اسکریپت خارجی پیوند داده میشود. هر یک از ماشینها که Worker را میزبانی میکنند قادر به اجرای هزاران برنامه تعریف شده توسط کاربر هستند.
این مراکز داده در کشورها و شهرهای مختلف قرار دارند تا فاصله بین کاربران و سرورها را به حداقل برسانند. هنگامی که کاربر با استفاده از کلودفلر Worker درخواستی را به وب سایت یا برنامهای ارائه میکند، درخواست به نزدیکترین سرور لبه در شبکه کلودفلر هدایت می شود. کلودفلر Worker از مزیت اجرای کد در نزدیکی مراکز داده کلودفلر در سراسر جهان برخوردارند. این امکان برقراری ارتباط شبکهای سریعتر بین سرویسهای Worker و کلودفلر را فراهم میکند. در مقابل، مرورگر جاوا اسکریپت با سرورها از طریق اینترنت ارتباط برقرار میکند و عملکرد میتواند تحت تأثیر عواملی مانند تأخیر شبکه و پهنای باند قرار گیرد. Serverless JavaScript در یک شبکه حافظه پنهان HTTP اجرا میشود، که به کاربر نهایی نزدیکتر از کد میزبانی شده در سرور مبدأ است.
کلودفلر Worker روی سرورهای لبه در شبکه جهانی کلودفلر اجرا میشود، در حالی که مرورگر جاوا اسکریپت در مرورگر وب کاربر اجرا میشود. کلودفلر Worker، کدها را نزدیک به کاربر اجرا میکنند و تأخیر را کاهش میدهند و عملکرد را بهبود میبخشند. Cloudflare ورکر بستری برای فعال کردن توابع بدون سرور هستند تا بتوانند حدالامکان به کاربر نهایی نزدیک شوند. در واقع، کد بدون سرور به خودی خود در شبکه ذخیره شده است و هنگام دریافت نوع مناسب درخواست اجرا میشود. Cloudflare Worker در جاوااسکریپت در برابر service Worker API نوشته شدهاند، به این معنا که میتوانند از تمام عملکردهای ارائه شده توسط service worker استفاده کنند. کد Cloudflare Worker در شبکه گستردهای از مراکز داده Cloudflare’s در سراسر جهان میزبانی میشوند.
برنامه نویسی اسکرچ برای کودکان