Что такое edge computing
В классической архитектуре браузер запрашивает страницу → запрос идёт до дата-центра (может быть за тысячи километров) → сервер формирует ответ → ответ возвращается. Даже при быстром сервере физическое расстояние даёт задержку.
Edge computing разрывает этот паттерн. Код выполняется прямо на CDN-узле, ближайшем к пользователю. Запрос из Москвы обрабатывается на московском PoP, не летя в Амстердам или Сингапур.
Классика: Браузер → CDN (кеш) → Сервер → Ответ ~100–300 мс
Edge: Браузер → Edge function (CDN) → Ответ ~1–10 мс
Платформы и рантаймы
| Платформа | Рантайм | Особенности |
|---|---|---|
| Cloudflare Workers | V8 isolates | Самая низкая латентность, 200+ PoP |
| Vercel Edge Functions | V8 / Next.js | Интеграция с Next.js, Middleware |
| AWS Lambda@Edge | Node.js / Python | Гибкость, но выше latency |
| Fastly Compute | WASM | Поддержка любого языка через WASM |
Edge computing и персонализация
Для e-commerce edge functions наиболее ценны в трёх сценариях:
A/B тестирование без мигания контента. Сплит пользователя на варианты происходит на edge до отдачи HTML. Нет JavaScript-замены контента после загрузки — нет неприятного «мигания».
Геотаргетинг и редиректы. Определить страну пользователя и перенаправить на нужный языковой домен можно за 1–2 мс на edge, а не за 50–100 мс с обращением к origin.
Персонализированные заголовки и мета-теги. Динамическое изменение title, description, og:image под сегмент пользователя для улучшения CTR в социальных сетях.
Важно: тяжёлые ML-вычисления (рекомендации, ранжирование) на edge не запускают. Edge function лишь забирает уже вычисленный результат из CDN-кеша или KV-хранилища и встраивает его в ответ. Сама модель работает асинхронно в облачном ML-сервисе.
Ограничения
- Ограниченный рантайм: нет полноценного Node.js API, нет прямого доступа к базам данных
- Холодный старт: первый запрос к новому isolate — 1–5 мс дополнительно
- Сложность отладки: локальная эмуляция edge-рантайма не всегда идентична production
- Ограничения по CPU и памяти: объёмные вычисления — не на edge