Перевод сайта на edge-runtime в 2026: цена и польза за 4 проекта
Перевели 4 продакшен-сайта на edge-runtime. Где TTFB упал на 60%, где счёт за хостинг вырос в 2 раза, и какие 5 паттернов из Node не работают за пределами Lambda.
Дайджест Креастры
- Edge даёт −40–60% TTFB на гео-распределённой аудитории, на одной стране эффект 5–10%
- Бан Node.js API: fs, child_process, нативные модули — переписываем или оставляем на Node
- Стоимость: для трафика 1М запросов в сутки edge дороже Node на 18–35%
Edge-runtime — модный, но неоднозначный инструмент. За первый квартал 2026 мы перевели четыре продакшен-сайта: лендинг с трафиком из 18 стран, B2B-каталог с одной Москвой, Telegram Mini App и наш собственный сайт студии. Опыт получился неравномерный — где-то выигрыш очевидный, где-то счёт удвоился без видимого эффекта. Делюсь честно.
Где edge стоит того
- Гео-распределённая аудитория (3+ часовых пояса) — TTFB падает с 380 до 120 мс
- Очень тонкие API-эндпоинты (геолокация, A/B-разветвление, редиректы)
- Middleware для авторизации и рерайтов URL
- Динамическая персонализация на edge без обращения к origin
- Сценарии где cold start Node-функций мешает (низкий трафик, частые SSR)
Где edge — пустая трата
Если у вас 92% трафика из России и origin в Москве, разница между edge и Node в той же Москве — 14 мс. На UX это ноль. На счёте — плюс 30%. Мы перевели и откатили обратно B2B-каталог одного клиента ровно по этой причине: «купили скорость, заплатили деньгами, никто не заметил».
Что ломается при переезде
- fs.readFileSync — нет, всё в памяти или на CDN
- Запросы к БД через postgres-клиент с TCP — нужен HTTP-серверлесс прокси (Neon, Supabase pooler)
- Тяжёлые npm-пакеты с нативными бинарниками не запускаются
- Любая работа с файлами в /tmp недоступна
- Buffer работает с ограничениями, лучше Uint8Array
- Размер бандла лимитирован 1–4 МБ в зависимости от провайдера
// Подключение к Postgres через Neon HTTP — единственный путь на edge
import { neon } from '@neondatabase/serverless';
export const runtime = 'edge';
const sql = neon(process.env.DATABASE_URL!);
export async function GET(req: Request) {
const country = req.headers.get('x-vercel-ip-country') ?? 'RU';
const rows = await sql`
SELECT id, title FROM products
WHERE available_in @> ARRAY[${country}]
LIMIT 24
`;
return Response.json({ rows });
}Цена в рублях
На лендинге франшизы кофеен «Пар Хорош» (трафик из России и СНГ, 320 000 уникальных в месяц) счёт у Vercel вырос с 78 до 142 долларов в месяц. TTFB упал с 290 до 110 мс, конверсия выросла на 2.4%. Окупилось одной сделкой по франшизе. На каталоге «Бренд-Холла» (Москва, 1.1 млн запросов в сутки) edge оказался дороже на 35% без эффекта — откатили на Node serverless.
Гибрид — почти всегда правильный ответ
Не нужно мигрировать всё. У нас на сайте студии middleware и А/Б-разветвление работают на edge, страницы рендерятся на Node serverless, тяжёлая аналитика — отдельным фоновым джобом. Это позволяет получить выгоду от edge там, где она реальна, и не платить там, где её нет.
Чек-лист перед миграцией
- Карта трафика по регионам за 30 дней
- Список зависимостей с пометкой «работает на edge / не работает»
- БД-клиент проверен на edge или есть план перехода на HTTP-прокси
- Расчёт будущего счёта на основе цен провайдера
- План отката за 30 минут — если эффекта нет, не геройствуем