Edge Function
פונקציית server שרצה בעשרות נקודות גלובליות קרובות למשתמש — latency נמוך מאוד, אופטימלי ל-API requests פשוטים.
מה זה Edge Function
Edge Function היא פונקציה שמופעלת ב-edge — כלומר, בעשרות עד מאות נקודות גלובליות (Points of Presence — PoPs) הקרובות גיאוגרפית למשתמש. בניגוד ל-serverless function רגילה שרצה ב-region אחד (למשל us-east-1), edge function מופעלת אוטומטית בנקודה הקרובה ביותר.
למה זה חשוב
- Latency נמוך מאוד — 5-50ms במקום 100-300ms (תלוי באיפה המשתמש)
- חוויית משתמש טובה יותר — בעיקר במשימות UI שדורשות תגובה מיידית (חיפוש, autocomplete)
- חוסך חיבורים גלובליים — לא צריך לפרוס הכל ב-region אחד
מגבלות
- Runtime מוגבל — V8 isolates במקום Node.js. אין
fs,child_process. רק Web APIs - Memory וזמן קצרים — בדרך כלל 128MB ו-30 שניות
- לא כל הספריות עובדות — Mongoose, Prisma "regular" לא, אבל Drizzle, Postgres.js כן
- Database latency — DB עדיין ב-region אחד, אז קריאות DB מ-edge יכולות להיות לא אופטימליות
ספקים מובילים ב-2026
- Vercel Edge Functions — V8 isolates, מבוסס Cloudflare
- Cloudflare Workers — הפלטפורמה החזקה ביותר ל-edge
- Deno Deploy — Edge first, פשוט מאוד
- AWS Lambda@Edge — אם כבר ב-AWS ecosystem
- Fastly Compute@Edge — WebAssembly-based
מתי להשתמש
- Auth middleware — בדיקת token לפני כל request
- Personalization — A/B testing, geolocation, user routing
- Cache layer — לפני הגעה ל-origin
- API Gateway light — rewrites, redirects, routing
- AI streaming — שליחת חלקי תשובה תוך כדי ייצור (streaming SSE)
מתי לא
- משימות עם DB-heavy access — latency של DB גובר על יתרון ה-edge
- Long-running tasks — זמן ריצה מוגבל
- משימות שדורשות Node.js APIs — fs, child_process, native modules
- משימות עם state — edge functions stateless, לא מתאים ל-WebSockets ארוכים (לזה יש Durable Objects ב-Cloudflare)
ב-BeAi אנחנו משתמשים ב-edge functions בעיקר ל-middleware (auth check), AI streaming, ו-personalization. עבודה כבדה יותר רצה ב-Node serverless ב-region יחיד עם Vercel Functions.