
Cloudflare Workers או Vercel: תאימות Node.js עלולה להפוך את המחיר

ל־API קל שמשרת משתמשים ברחבי העולם, Cloudflare Workers עשויה לעלות פחות. ליישום Next.js שתלוי בחבילות שרת, במטמון מתקדם או בזיכרון רב יותר, Vercel Functions עשויה לחסוך עבודת התאמה. השוואת Next.js של Vercel מתארת את הפער בין הרצה בסביבת Node.js מלאה לבין הרצה ב־workerd באמצעות מתאם OpenNext ושכבת תאימות.
מחיר לבקשה אינו המחיר של יישום עובד. ספריית npm מרכזית שלא יכולה לבצע פעולה בסביבת Workers עשויה לדרוש החלפה או הפרדה לשירות אחר; דף שממתין שוב ושוב למסד נתונים מרוחק עשוי להגיב לאט גם כשהפונקציה מתחילה לפעול במהירות. לכן הבחירה מתחילה בסוג הקוד והנתונים, ורק אחר כך בהכפלת תעריף במספר הבקשות.
שלושה עומסים: מה עולה החישוב עצמו

תמחור Workers כולל בתוכנית Free עד 100 אלף בקשות ביום ומגבלת CPU של 10 אלפיות שנייה להפעלה. תוכנית Paid עולה לפחות 5 דולר לחודש וכוללת 10 מיליון בקשות ו־30 מיליון אלפיות שנייה של CPU בחודש. מעבר למכסות נגבים 0.30 דולר למיליון בקשות ו־0.02 דולר למיליון אלפיות שנייה של CPU; העברת נתונים אינה מחויבת בנפרד בתמחור Workers הזה.
ב־תמחור Fluid Compute של Vercel תוכנית Pro מחייבת לפי CPU פעיל, זיכרון מוקצה והפעלות פונקציה, בכפוף לזיכוי השימוש החודשי שלה. באזור Frankfurt התעריפים הם 0.184 דולר לשעת CPU ו־0.0152 דולר לשעת GB של זיכרון; הפעלות Pro מחויבות ב־0.60 דולר למיליון. בזמן המתנה למסד נתונים חיוב ה־CPU נעצר, אך הזיכרון ממשיך להיחשב כל עוד הבקשה פעילה.
נניח דוגמה חשבונית: כל בקשה דינמית צורכת 7 אלפיות שנייה של CPU, ופונקציית Vercel עם 2GB זיכרון פעילה במשך 50 אלפיות שנייה לבקשה באזור Frankfurt. נניח הפעלת פונקציה אחת לבקשה, ללא חפיפה בין בקשות וללא זמן נוסף למופע פעיל. אלה תנאי השוואה מומצאים לצורך חשבון, לא תוצאות מדידה או הצעת מחיר.
- במיליון בקשות בחודש, Workers Paid נשארת ב־5 דולר. רכיבי CPU, זיכרון והפעלות של Vercel Pro מסתכמים בכ־1.38 דולר לפני דמי התוכנית והזיכוי. אם התנועה ב־Workers מתחלקת כך שאינה עוברת את המכסה היומית וכל הפעלה עומדת במגבלת ה־CPU של Free, ייתכן שאין צורך בתוכנית Paid כלל.
- בעשרה מיליון בקשות, Workers מגיעה ל־5.80 דולר: מכסת הבקשות מספיקה, אך 70 מיליון אלפיות שנייה של CPU חורגות ממכסת ה־30 מיליון. אותם רכיבי Vercel בדוגמה מגיעים לכ־13.80 דולר.
- במאה מיליון בקשות, Workers מגיעה ל־45.40 דולר, כולל דמי הבסיס וחריגה בשני מדדי השימוש. רכיבי Vercel בדוגמה מגיעים לכ־138 דולר.
הסכומים של Vercel מתארים שימוש בפונקציה, לא חשבונית חודשית: דמי Pro, זיכוי שימוש, בקשות רשת הקצה, העברת נתונים ושירותים נוספים משפיעים על התשלום. גם הנחת היעדר החפיפה שמרנית מבחינת שעות הזיכרון: כשמופע מטפל בבקשות במקביל, עלות הזיכרון המיוחסת לכל בקשה עשויה לרדת. שינוי במשך הבקשה, בכמות ה־CPU או באזור ההרצה משנה את התוצאה בלי לשנות את מספר הבקשות.
אילו תלויות npm משנות את הבחירה
Workers מריצה קוד ב־workerd, ולכן תאימות Node.js תלויה בממשק שבו הספרייה משתמשת בפועל. מפת התאימות של Cloudflare מסווגת ממשקים למימוש מלא, תמיכה חלקית ומודולים שאפשר לייבא אך אי אפשר להשתמש בפעולותיהם. בתאריכי תאימות מ־4 באוגוסט 2026 ואילך התמיכה מופעלת כברירת מחדל; ההפעלה אינה מוסיפה מימוש למודול שמוגדר כתחליף ייבוא בלבד.
המיפוי המועיל הוא לפי פעולה, לא לפי שם החבילה. שימוש ב־Buffer, ב־Crypto וב־Streams נמצא בין הממשקים הנתמכים; מודולים כמו node:child_process, node:vm ו־node:http2 מופיעים כתחליפים שאינם מספקים את הפעולה עצמה. חבילה שרק בודקת אם מודול כזה קיים עשויה להיטען, בעוד נתיב קוד שמפעיל אותו ייכשל. ההבחנה הזאת יכולה לקבוע אם די בשינוי קטן, אם דרוש שירות נפרד להרצת הפעולה, או אם סביבת Node.js של Vercel מתאימה יותר מלכתחילה.
גם תלות שנראית פשוטה יכולה למשוך תלות משנית שמשתמשת במערכת הקבצים, בחיבורי רשת או במודול שרת אחר. השאלה המכריעה היא איזו פעולה מתבצעת בזמן בקשה בייצור, ולא רק אם הבנייה הסתיימה או אם הייבוא עבר. עלות החלפת ספרייה מרכזית וצורך לתחזק נתיב קוד נפרד יכולים לעלות על פער קטן בתעריף החישוב החודשי.
Next.js, זיכרון וגודל החבילה
ב־Vercel, יישום Next.js נפרס בסביבת הפונקציות שהפלטפורמה בונה למסגרת. ב־Workers, מתאם OpenNext מתרגם את תוצאת הבנייה ל־workerd. יכולות כגון ISR, אימות מחדש לפי תגיות ואופטימיזציית תמונות אפשריות גם שם, אך עשויות להצריך הגדרה של מטמון, תור או שירות תמונות. ביישום שמשתמש בהן בהרחבה, העבודה הזאת היא רכיב עלות ממשי לצד חיוב ה־CPU.
מגבלת הזיכרון משנה את עצם התאמת העומס: Worker פועל עם 128MB ל־isolate, בעוד פונקציית Vercel יכולה לקבל עד 4GB בהתאם לתוכנית ולתצורה. פענוח קובץ גדול, עיבוד תמונה או רינדור מורכב עלולים לדרוש זיכרון מעבר לתקרה של Workers גם כשהקוד נפרס בהצלחה. גודל חבילת הפריסה הוא בדיקה נפרדת מזיכרון הריצה: חבילה קטנה יכולה לצרוך זיכרון רב בזמן פעולה, וחבילה גדולה יכולה להקשות על פריסה או על אתחול גם כשהבקשה עצמה קלה.
גם משך הפעולה אינו נמדד באותה צורה. ב־Workers Paid מגבלת ה־CPU הפעיל לבקשת HTTP היא 30 שניות כברירת מחדל וניתן להגדילה עד חמש דקות; המתנה לקריאת רשת אינה צורכת את מכסת ה־CPU הזאת. ב־Vercel משך חיי הפונקציה מוגבל לפי זמן שחלף, לצד חיוב נפרד על CPU פעיל וזיכרון מוקצה. עבור חישוב ממושך או צריכת זיכרון גבוהה, התאמה למגבלות הריצה קודמת להשוואת המחיר למיליון בקשות.
הפעלה קרה אינה מבחן מהירות יחיד
Workers מפעילה isolates, בעוד Vercel יכולה להפעיל מופע פונקציה ולשרת בו בקשות נוספות. אלה מנגנוני התחלה שונים, אבל זמן הבקשה שהמשתמש רואה כולל גם טעינת קוד, רינדור, קריאות רשת והעברת התשובה. מספר שמוצג כ״זמן הפעלה קרה״ לא יספר לבדו מה יקרה לדף Next.js שמבצע שאילתות או ל־API שמחזיר תשובה קצרה ללא גישה לנתונים.
ניתוח מבחני ה־CPU של Cloudflare דיווח שלאחר תיקוני תשתית ומתודולוגיה Workers השתוותה ל־Vercel במקרי המבחן שנבדקו, למעט מקרה המבוסס על Next.js. המדידה עסקה בעומסי JavaScript עתירי CPU ובהגדרות בדיקה מסוימות, ולא סיפקה זמן הפעלה קרה כללי לכל יישום. במקרה של Next.js נמצאו גם הבדלים בהגדרות הרינדור, ולכן אין להסיק מהתוצאה שדף מסוים יגיב באותו זמן בשתי הפלטפורמות.
מיקום הנתונים והבחירה לפי היישום

Workers מריצה בקשות סמוך למשתמש כברירת מחדל, ואילו פונקציות Vercel פועלות באזור שנבחר. קרבה למשתמש עשויה לעזור ל־API קצר שאינו תלוי במסד מרכזי. דף שמבצע כמה שאילתות למסד נתונים באזור יחיד משלם שוב ושוב את זמן הנסיעה בין הפונקציה למסד; במצב כזה קרבה לנתונים עשויה להיות חשובה יותר מקרבה לבקשה הראשונה. Smart Placement מאפשרת לשנות את מיקום ההרצה של Workers בהתאם לשירותי הרקע שאליהם היא פונה.
ל־API קל, ל־webhooks ולניתוב בקשות בנפח גבוה, Workers היא מועמדת חזקה כשהתלויות, הזיכרון וה־CPU מתאימים למגבלותיה. ליישום Next.js הנשען על יכולות מטמון ותמונה, או על חבילות שדורשות ממשקי Node.js שאינם פועלים ב־workerd, Vercel עשויה להצדיק מחיר חישוב גבוה יותר באמצעות פחות התאמות. לחישוב כבד, מגבלת הזיכרון וזמן הריצה עשויים להכריע עוד לפני חשבון התעבורה. בכל אחת מהבחירות, מיקום מסד הנתונים ושירותים שמחוץ לפונקציה יכולים לשנות הן את זמן התגובה והן את העלות הכוללת.
קראו גם:
כתבות קשורות


OpenTelemetry Collector או Fluent Bit: העיבוד העשיר גובה יותר CPU

Cloudflare D1 או Turso: סביבת הריצה קובעת לפני המחיר

Cloudflare R2 או Amazon S3: תעבורה החוצה הופכת את החשבון

Pinecone או Weaviate: יחידות קריאה מול ממדי וקטור משנות את העלות

ChatGPT Plus או Google AI Pro: הזיכרון מתנגש ב־Workspace
הירשמו לניוזלטר שלנו
קבלו את החדשות האחרונות על Web3, AI וקריפטו ישירות לתיבת הדואר.