[Из песочницы] Почему CDN не нужны: развенчиваем старый миф
Технология CDN была создана для ускорения раздачи тяжелого контента и обеспечения стабильности онлайн-трансляций. Но для большинства медленных бизнес-сайтов — это не более чем лишний «костыль», который во многих случаях не решает, а усугубляет проблему. От него следует отказаться в пользу разовой технической настройки интернет-ресурса.
Как работают CDN
Сети доставки контента (content delivery network) работают по двум основным сценариям:
- Узлы в составе сети кэшируют определенные данные (которые часто запрашиваются пользователями) и каждый раз отдают их по запросу без обращения к origin-серверу.
- Контент с исходного сервера раздается на все узлы сети, а уже с них — на компьютеры пользователей.
В первом случае узлы CDN «перехватывают» пользовательские запросы, чтобы ускорять передачу данных, одновременно сокращая нагрузку на основной сервер.
Во втором случае информация транслируется в режиме реального времени для всех пользователей, территориально распределенным по регионам, странам, континентам.
Преимущества технологии:
- поддерживается отказоустойчивость через раздачу тяжелых типов контента, когда веб-ресурс получает большую нагрузку;
- обеспечивается более надежная и быстрая, с меньшими задержками, коммуникация с географически близким потребителями;
- разгружается основной веб-сервер.
Одно из значимых преимуществ технологии — возможность отдельно настраивать, масштабировать, обслуживать раздачу статики (CDN) и сервер с бизнес-логикой приложения (API). С помощью CDN достаточно просто и эффективно масштабировать сеть раздачи контента. Во многих случаях это недорогое решение, хорошо заточенное под свою задачу.
Принцип работы CDN
CDN для коммерческих сайтов
Нужна ли CDN рядовому коммерческому сайту, страдающему низкой скоростью загрузки? Скорее всего — нет. Сеть доставки контента не решит технических проблем такого ресурса, хотя и может исправить некоторые настройки по умолчанию (если оператор сети предоставляет подобные услуги).
Но главные функции CDN заключаются не в технической оптимизации, а в подстановке «костылей» для передачи тяжелого контента и распространения данных на большие расстояния. Большинство бизнес-сайтов в этом не нуждаются:
- они не ведут онлайн-трансляции на широкую аудиторию;
- между их пользователями и сервером обычно нет чересчур большой дистанции;
- они не раздают тяжелый контент.
Например, видео загружается сторонними сервисами (YouTube). А география передачи данных часто ограничивается одним федеральным округом — на таком расстоянии физические потери скорости слишком малы, чтобы существенно влиять на скорость загрузки сайтов.
Выходит, для коммерческих интернет-ресурсов с отсутствием специфического статического контента от CDN нет никакой пользы.
Вред CDN для сайта
А может ли CDN вредить сайту? Запросто, и тому много примеров.
Во-первых, выбирая CDN, вы получаете дополнительную точку задержки, ведь теперь система усложняется за счет подключения еще одного узла, а это влечет новые траты ресурсов и задержки.
Во-вторых, узел CDN — это еще и потенциальная точка отказа. Поэтому, прежде чем подключаться, следует выяснить: где находится узел, как настроена маршрутизация в системе и не возникнут ли ошибки сайта.
При всем этом за услуги сети доставки контента нужно платить. А плата чаще всего зависит от объема передаваемого трафика. Придется дополнительно контролировать количество данных, чтобы планировать бюджет.
Серверное оборудование
Какие проблемы CDN не решают
Потери в скорости из-за удаленности сервера от пользователей обычно несущественны, а на многих бизнес-сайтах нет тяжелого контента. Зато есть другие острые проблемы, критичные для быстродействия интернет-ресурса:
- неоптимизированные изображения;
- тяжелый и лишний код;
- неправильное подключение JS и CSS;
- ошибки в настройке базы данных;
- недостаточная мощность сервера.
Оператор CDN, теоретически, может свести на нет ошибки, допущенные при разработке и в настройках серверах. Но это разовые работы, которые целесообразно проводить на стороне сайта — так выгоднее и безопаснее.
Существует множество проверенных инструментов ускорения, включая серверное кэширование, использование Nginx и Apache, минификацию CSS и JS, предварительную загрузку ключевого содержимого, сжатие фото и текста, компрессию данных и многое другое.
Если же сайт разработан опытными специалистами и прошел техническую оптимизацию, вполне возможно обойтись без CDN.
CDN — для кого?
В мире построено немало станций content delivery network. Они располагаются на всех континентах, в различных регионах, странах и районах. Услуги сетей CDN пользуются спросом — со стороны кого?
Основными пользователями сетей доставки контента выступают проекты, работающие с большими и тяжелыми данными, в том числе на постоянном потоке. Многие крупные компании строят собственные станции, через которые транслируют информацию широкой аудитории. Для них технология CDN незаменима.
Сайт компании, ведущей деятельность на территории московского региона, с сервером в Подмосковье в услугах сетей доставки контента не нуждается. А проблема медленной загрузки решается один раз — проведением технических работ на самом ресурсе.