В интернете много противоречивой информации о CDN. У этой технологии есть как сторонники, так и противники (причем, вторых значительно больше). В рекламе или в ответах поисковой выдачи по запросу «ускорение сайта» всё чаще можно встретить предложения от компаний, предоставляющих услуги CDN. Это маркетинг или правда? Давайте разберемся, что же это такое, как работает и нужно ли использовать CDN для ускорения сайта.
Аббревиатура CDN расшифровывается как content delivery network, что дословно означает «сеть доставки контента». Технология была разработана для того, чтобы усовершенствовать передачу данных с сервера на компьютеры пользователей.
Физически CDN представляет собой сеть географически рассредоточенных серверов. Каждый из таких узлов «перехватывает» запросы ближайших к нему пользователей и передает им запрошенные данные.
Помогая базовому серверу распространять данные, сеть CDN снижает нагрузку на него. В результате скорость передачи информации на компьютеры пользователей увеличивается. Но это только в теории, а на практике все гораздо сложнее. Схема передачи данных: слева — из одного сервера, справа — сетью узлов
Основной принцип ускорения данных с помощью CDN заключается в том, что физическое расстояние между отправителем и получателем сокращается.
Например:
Вы, находясь в Москве, открываете сайт, файлы которого хранятся на сервере в Нью-Йорке. Однако владелец сайта подключил CDN. Поэтому данные передаются вам не из-за океана, а из ближайшего узла сети, расположенного где-нибудь в Подмосковье.
Проблема заключается в отчасти децентрализованной структуре интернета. Коммуникация происходит через роутеры, каждый из которых выстраивает оптимальный маршрут передачи данных. Это неизбежно влечет задержки. Поэтому, чем дальше друг от друга находятся получатель и отправитель, и чем больше промежуточных узлов между ними — тем дольше идет информация.
А значит, сокращая дистанцию между устройствами, мы выигрываем во времени. Поэтому операторы сетей CDN строят множество узлов, распределенных территориально — чтобы быть как можно ближе к пользователям, находящимся в разных странах и регионах. Оригинальный сервер и узлы CDN на разных континентах
Основная функция CDN — сокращать расстояние между точками передачи данных.
Вторая задача, которую успешно решают сети доставки контента — обеспечивать интернет-вещание в режиме реального времени. Во время онлайн-трансляции данные с сервера передаются на географически распределенные узлы, а уже с них — конечным пользователям. Благодаря этому за трансляцией могут следить тысячи людей с разных континентов.
Многие современные CDN выполняют целый ряд функций по ускорению загрузки сайтов:
Кроме того, CDN ведут учет статистики и обеспечивают защиту от сетевых атак. Хотя далеко не все из них решают перечисленные задачи, а во многих сетях функции ускорения реализованы достаточно слабо.
Сети доставки контента создавались в эпоху распространения больших тяжелых видео и онлайн-трансляций. С раздачей такого содержимого CDN действительно неплохо справляются.
Технология актуальна и в тех случаях, когда аудитория географически распределена и расстояние до пользователей превышает 2-3 тысячи километров.
Но для большинства бизнес-сайтов CDN практически бесполезны, а иногда создают дополнительные проблемы.
Например:
Вы предлагаете изготовление деревянной мебели в Нижнем Новгороде, а хостинг сайта находится в Москве. Задержки на расстоянии 400 км минимальные, и дополнительный узел доставки данных не нужен.
Медленные бизнес-сайты чаще всего являются таковыми не по причине географической удаленности сервера от пользователей. Обычно проблемы кроются в огрехах разработчиков и неоптимальных настройках, а задержки сети не столь критичны для скорости загрузки.
Даже если вы используете на сайте большие видео — они, скорее всего, загружаются с серверов специализированных сервисов (например, YouTube).
Подключаясь к CDN, важно понимать, как работает сеть. Многие операторы, предлагающие услуги доставки контента, могут не иметь узлов в вашем регионе. А иногда маршрутизация настроена таким образом, что время соединения только увеличивается.
Узел CDN — это еще одна «точка отказа». Нужно тестировать, как работает сайт в выбранной сети. Возрастают и расходы: услуги операторов платные, а стоимость зависит от передаваемого трафика. Техническая оптимизация сайта
Как уже было сказано, CDN может решить некоторые задачи по ускорению сайта (оптимизировать изображения, текст, структуру контента). Но гораздо лучше с этим справится технический специалист, который исправит ошибки, упростит код, оптимизирует серверную часть.
Если же аудитория сайта географически удалена от сервера, проблема может решаться «переездом» на другой хостинг — расположенный «поближе».
Техническая оптимизация и перенос сайта — работы, выполняемые однократно. Разумнее раз и навсегда повысить производительность самого ресурса, нежели регулярно платить за подстановку внешних «костылей», которые зачастую полностью бесполезны.