Ваш сервер стоит в Москве. Это нормально — там дата-центры дешевле, инфраструктура лучше, техподдержка ближе. Но пользователь из Владивостока при каждом запросе гоняет пакеты через всю страну туда и обратно. Это около 9 000 км по прямой. Физика неумолима: скорость света в оптоволокне — примерно 200 000 км/с, плюс маршрутизация через десятки узлов. Минимальный RTT (round-trip time) Москва–Владивосток — около 90–110 мс. Для динамичного сайта с десятками запросов это складывается в заметные задержки.
Решение существует давно — CDN. А последние несколько лет поверх него появился edge computing, который идёт ещё дальше. Разберём, что это, как работает и когда имеет смысл внедрять.
Что такое CDN и зачем он нужен
CDN (Content Delivery Network) — это сеть серверов, распределённых географически. Когда пользователь запрашивает файл с вашего сайта, CDN отдаёт его с ближайшего к пользователю узла, а не с вашего основного сервера.
Классический сценарий: картинка, CSS-файл, шрифт. Всё это статика — она не меняется при каждом запросе. CDN кэширует её на своих серверах по всему миру. Пользователь из Новосибирска получает вашу картинку не из московского дата-центра, а с узла CDN в Новосибирске или соседнем регионе. Латентность падает с 60–80 мс до 5–15 мс.
Цифры из реальных замеров Cloudflare и Fastly показывают, что подключение CDN для сайтов с аудиторией по всей России или за рубежом снижает время загрузки страниц на 30–60%. Для e-commerce это напрямую конвертируется в деньги: по данным Google, каждая дополнительная секунда загрузки снижает конверсию на 7–12%.
Что CDN кэширует
- Изображения (jpg, png, webp, svg)
- CSS и JavaScript файлы
- Шрифты
- Видео и аудио
- Статические HTML-страницы
- Файлы для скачивания
Динамический контент — личный кабинет, корзина, результаты поиска — CDN обычно не кэширует по умолчанию, потому что он уникален для каждого пользователя. Но здесь в игру входит edge computing.
Edge computing — это не просто кэш
Edge computing — выполнение кода непосредственно на узлах CDN, а не на центральном сервере. Звучит как детали реализации, но на практике это меняет многое.
Представьте: пользователь авторизован, у него в куках есть токен. Обычно запрос идёт так: браузер → CDN узел → ваш сервер в Москве → база данных → ответ обратно. Если логику авторизации вынести на edge, запрос выглядит иначе: браузер → CDN узел (проверка токена прямо здесь) → персонализированный ответ. До вашего сервера запрос вообще не доходит.
Основные провайдеры edge computing:
Cloudflare Workers — самый распространённый вариант. Код на JavaScript (или WebAssembly) запускается на 300+ узлах по всему миру. Бесплатный тариф даёт 100 000 запросов в день — для небольшого проекта хватит.
Vercel Edge Functions — удобно, если вы деплоите Next.js приложение. Функции запускаются на edge автоматически, конфигурация минимальная.
AWS CloudFront + Lambda@Edge — мощно, но сложнее в настройке. Lambda@Edge запускается на узлах CloudFront и позволяет модифицировать запросы и ответы на лету.
Fastly Compute — хорошая альтернатива для компаний с жёсткими требованиями к latency. Fastly декларирует время холодного старта менее 1 мс — у Cloudflare Workers примерно то же самое.
Что реально ускоряет edge
Вот конкретные задачи, которые хорошо решаются на edge:
A/B тестирование без мерцания. Обычно A/B тест реализуется через JavaScript на клиенте: страница загрузилась, скрипт определил группу, переключил вариант. Пользователь видит «мерцание» — исходный вариант на долю секунды. На edge это решается чисто: запрос перехватывается, пользователю сразу отдаётся нужный вариант страницы. Никакого flickering.
Геолокация и редиректы. Если у вас несколько языковых версий сайта или разные условия для разных стран, редирект можно делать прямо на edge по IP-геолокации. Без обращения к основному серверу. Cloudflare Workers имеют встроенный объект cf.country в каждом запросе.
Авторизация и rate limiting. Проверка JWT-токена или API-ключа — несложная операция, которую не нужно тащить на центральный сервер. На edge это занимает единицы миллисекунд. Rate limiting (ограничение числа запросов с одного IP) тоже хорошо живёт на edge — защита срабатывает до того, как запрос добрался до вашей инфраструктуры.
Трансформация изображений. Cloudflare Image Resizing и аналогичные сервисы позволяют отдавать изображения в нужном размере и формате прямо с edge. Загрузили одно большое изображение — CDN сам сделает webp на 400px для мобильных и jpg на 1200px для десктопа.
Персонализация «шапки» страницы. Имя пользователя, количество товаров в корзине, уведомления — это небольшие данные, которые можно хранить в edge KV-хранилище (Cloudflare KV, Vercel Edge Config) и отдавать без запроса к основной базе.
Популярные CDN: кого выбирать
Cloudflare — выбор по умолчанию для большинства проектов. Бесплатный тариф реально работает: неограниченная пропускная способность, базовая DDoS-защита, SSL. Pro-план от $20/мес добавляет оптимизацию изображений и расширенную аналитику. Узлов в России несколько штук — Москва, Санкт-Петербург, Екатеринбург.
AWS CloudFront — логичный выбор, если инфраструктура уже на AWS. Ценообразование сложное (по гигабайтам и запросам), но для типичного корпоративного сайта выходит $5–30 в месяц. Интеграция с S3, ALB, API Gateway из коробки.
Bunny.net — европейский провайдер с хорошим покрытием и понятными ценами. От $0.01 за ГБ в Европе, чуть дороже в Азии. Нет бесплатного тарифа, но есть trial. Хорошо подходит для доставки видео и больших файлов.
Selectel CDN, G-Core Labs — российские провайдеры. Актуально, если хотите держать данные в российской юрисдикции или нужна максимальная скорость именно по России. G-Core присутствует в 60+ городах России.
Как выбрать
Если аудитория преимущественно Россия и СНГ — смотрите на G-Core или Selectel в связке с Cloudflare (Cloudflare для глобальной защиты и base layer, российский CDN для доставки контента внутри страны).
Если аудитория глобальная — Cloudflare или CloudFront закроют 95% задач.
Для видеохостинга и тяжёлых медиа — Bunny.net или выделенный стриминговый CDN (Mux, Cloudflare Stream).
Как это настроить: от простого к сложному
Шаг 1. Базовый CDN для статики
Для WordPress, Laravel или любого другого бэкенда — подключите Cloudflare. Процесс:
- Зарегистрируйтесь, добавьте домен
- Поменяйте NS-записи домена на указанные Cloudflare
- Включите проксирование (оранжевое облако) для A-записи
- В настройках Speed → Optimization включите Auto Minify для CSS/JS/HTML
Всё — статика уже кэшируется и отдаётся с ближайшего к пользователю узла. Без единой строчки кода.
Шаг 2. Настройка кэширования
По умолчанию Cloudflare кэширует только явно статические ресурсы по расширению файла. Чтобы кэшировать HTML-страницы (например, лендинг, который не меняется часами), создайте Page Rule или Cache Rule:
- URL pattern:
yoursite.ru/*
- Cache Level: Cache Everything
- Edge Cache TTL: 2 hours
Для WordPress добавьте исключение для /wp-admin/* и URL с куками авторизации.
Шаг 3. Edge функция для сложных сценариев
Пример простейшего Cloudflare Worker для A/B тестирования:
export default {
async fetch(request) {
const url = new URL(request.url);
// Только для главной страницы
if (url.pathname !== '/') {
return fetch(request);
}
// Получаем или назначаем группу
const cookie = request.headers.get('Cookie') || '';
let group = cookie.match(/ab_group=(a|b)/)?.[1];
if (!group) {
group = Math.random() < 0.5 ? 'a' : 'b';
}
// Запрашиваем нужный вариант
const variantUrl = group === 'b'
? new URL('/landing-variant-b', url.origin)
: request;
const response = await fetch(variantUrl);
const newResponse = new Response(response.body, response);
// Устанавливаем куку
newResponse.headers.append(
'Set-Cookie',
`ab_group=${group}; Path=/; Max-Age=86400`
);
return newResponse;
}
};
Этот Worker перехватывает запросы к главной странице и случайно распределяет пользователей между двумя вариантами. Код исполняется на edge, до вашего сервера запрос идёт уже с определённым вариантом.
Когда CDN не нужен
Честно: не каждому проекту это нужно прямо сейчас.
Если у вас сайт-визитка или небольшой лендинг с московской аудиторией — Cloudflare Free подключить стоит в любом случае (DDoS-защита и SSL бесплатно), но выигрыш в скорости будет небольшим. Инвестировать время в тонкую настройку edge на таком проекте не нужно.
Интернет-магазин с аудиторией по России — уже имеет смысл думать об оптимизации доставки статики и изображений. Разница в скорости для пользователей из Урала и Сибири будет ощутимой.
Высоконагруженный сервис, медиа, SaaS с международными пользователями — здесь edge computing окупается и в деньгах, и в пользовательском опыте.
CDN и Core Web Vitals
Google учитывает скорость загрузки при ранжировании через метрики Core Web Vitals. CDN напрямую влияет на несколько из них:
LCP (Largest Contentful Paint) — время загрузки главного элемента страницы. Обычно это большое изображение или фоновая картинка. Отдача с ближайшего CDN-узла вместо московского сервера может срезать LCP на 0.5–1.5 секунды для региональных пользователей.
TTFB (Time to First Byte) — время до первого байта ответа. Кэшированная HTML-страница на edge отдаётся за 20–50 мс вместо 200–500 мс с удалённого сервера.
FID/INP — на это CDN влияет меньше, это скорее история про JavaScript-оптимизацию.
В Google Search Console смотрите отчёт «Основные интернет-показатели» — там видна разбивка по типам устройств и можно отследить динамику после подключения CDN.
Что нужно учесть перед внедрением
Инвалидация кэша. Если вы обновили CSS-файл, CDN может несколько часов отдавать старую версию. Решение: версионирование файлов (styles.v2.css) или использование хеша в имени файла (styles.a3f9c2.css). Большинство современных сборщиков (Vite, Webpack) делают это автоматически.
Cookies и персонализация. Если CDN кэширует страницы, он может отдать кэшированную версию «Привет, Иван» другому пользователю. Настройте правило: страницы с сессионными куками не кэшировать или кэшировать только анонимную версию.
HTTPS и сертификаты. Cloudflare выдаёт SSL-сертификат автоматически. Но между CDN и вашим origin-сервером тоже должен быть HTTPS — иначе трафик на этом участке идёт открыто. В настройках Cloudflare выберите SSL Mode: Full (Strict).
Законодательство. Если вы работаете с персональными данными российских пользователей, убедитесь, что CDN не сохраняет их на серверах за рубежом. Cloudflare позволяет настроить Data Localization Suite (платная функция), G-Core и Selectel хранят данные в России.
Итог
CDN — это не сложно и не дорого. Базовое подключение Cloudflare занимает 15 минут и стоит ноль рублей. Выигрыш в скорости для пользователей за пределами московского региона — измеримый и реальный.
Edge computing — следующий уровень. Он нужен, когда нужна персонализация без потери скорости, A/B тестирование без мерцания, или когда нагрузка на основной сервер надо снизить принципиально.
Если вы запускаете новый проект и хотите, чтобы он работал быстро с первого дня — подключение CDN закладывается ещё на этапе разработки. В REEXY при работе над корпоративными сайтами и интернет-магазинами мы настраиваем CDN как часть деплоя, а не как отдельную доработку потом. Это экономит время и позволяет сразу получить нормальные показатели скорости в любом регионе.
Проверьте свой сайт через tools.pingdom.com или GTmetrix — выберите тест из Владивостока или Новосибирска и посмотрите, сколько времени уходит на TTFB. Если больше 400 мс — CDN уже окупится.