[Из песочницы] Почему CDN не нужны: развенчиваем старый миф

Технология CDN была создана для ускорения раздачи тяжелого контента и обеспечения стабильности онлайн-трансляций. Но для большинства медленных бизнес-сайтов — это не более чем лишний «костыль», который во многих случаях не решает, а усугубляет проблему. От него следует отказаться в пользу разовой технической настройки интернет-ресурса.

orfusyi7ys4lkauzcg6fbdnarrw.png

Как работают CDN


Сети доставки контента (content delivery network) работают по двум основным сценариям:

  1. Узлы в составе сети кэшируют определенные данные (которые часто запрашиваются пользователями) и каждый раз отдают их по запросу без обращения к origin-серверу.
  2. Контент с исходного сервера раздается на все узлы сети, а уже с них — на компьютеры пользователей.


В первом случае узлы CDN «перехватывают» пользовательские запросы, чтобы ускорять передачу данных, одновременно сокращая нагрузку на основной сервер.

Во втором случае информация транслируется в режиме реального времени для всех пользователей, территориально распределенным по регионам, странам, континентам.

Преимущества технологии:

  • поддерживается отказоустойчивость через раздачу тяжелых типов контента, когда веб-ресурс получает большую нагрузку;
  • обеспечивается более надежная и быстрая, с меньшими задержками, коммуникация с географически близким потребителями;
  • разгружается основной веб-сервер.


Одно из значимых преимуществ технологии — возможность отдельно настраивать, масштабировать, обслуживать раздачу статики (CDN) и сервер с бизнес-логикой приложения (API). С помощью CDN достаточно просто и эффективно масштабировать сеть раздачи контента. Во многих случаях это недорогое решение, хорошо заточенное под свою задачу.
51l6pctg4uaglyk-48popbcphkq.jpeg
Принцип работы CDN

CDN для коммерческих сайтов


Нужна ли CDN рядовому коммерческому сайту, страдающему низкой скоростью загрузки? Скорее всего — нет. Сеть доставки контента не решит технических проблем такого ресурса, хотя и может исправить некоторые настройки по умолчанию (если оператор сети предоставляет подобные услуги).

Но главные функции CDN заключаются не в технической оптимизации, а в подстановке «костылей» для передачи тяжелого контента и распространения данных на большие расстояния. Большинство бизнес-сайтов в этом не нуждаются:

  • они не ведут онлайн-трансляции на широкую аудиторию;
  • между их пользователями и сервером обычно нет чересчур большой дистанции;
  • они не раздают тяжелый контент.


Например, видео загружается сторонними сервисами (YouTube). А география передачи данных часто ограничивается одним федеральным округом — на таком расстоянии физические потери скорости слишком малы, чтобы существенно влиять на скорость загрузки сайтов.

Выходит, для коммерческих интернет-ресурсов с отсутствием специфического статического контента от CDN нет никакой пользы.

Вред CDN для сайта


А может ли CDN вредить сайту? Запросто, и тому много примеров.

Во-первых, выбирая CDN, вы получаете дополнительную точку задержки, ведь теперь система усложняется за счет подключения еще одного узла, а это влечет новые траты ресурсов и задержки.

Во-вторых, узел CDN — это еще и потенциальная точка отказа. Поэтому, прежде чем подключаться, следует выяснить: где находится узел, как настроена маршрутизация в системе и не возникнут ли ошибки сайта.

При всем этом за услуги сети доставки контента нужно платить. А плата чаще всего зависит от объема передаваемого трафика. Придется дополнительно контролировать количество данных, чтобы планировать бюджет.

vvrcruontael_oufekyro7udckc.jpeg
Серверное оборудование

Какие проблемы CDN не решают


Потери в скорости из-за удаленности сервера от пользователей обычно несущественны, а на многих бизнес-сайтах нет тяжелого контента. Зато есть другие острые проблемы, критичные для быстродействия интернет-ресурса:

  • неоптимизированные изображения;
  • тяжелый и лишний код;
  • неправильное подключение JS и CSS;
  • ошибки в настройке базы данных;
  • недостаточная мощность сервера.


Оператор CDN, теоретически, может свести на нет ошибки, допущенные при разработке и в настройках серверах. Но это разовые работы, которые целесообразно проводить на стороне сайта — так выгоднее и безопаснее.

Существует множество проверенных инструментов ускорения, включая серверное кэширование, использование Nginx и Apache, минификацию CSS и JS, предварительную загрузку ключевого содержимого, сжатие фото и текста, компрессию данных и многое другое.

Если же сайт разработан опытными специалистами и прошел техническую оптимизацию, вполне возможно обойтись без CDN.

CDN — для кого?


В мире построено немало станций content delivery network. Они располагаются на всех континентах, в различных регионах, странах и районах. Услуги сетей CDN пользуются спросом — со стороны кого?

Основными пользователями сетей доставки контента выступают проекты, работающие с большими и тяжелыми данными, в том числе на постоянном потоке. Многие крупные компании строят собственные станции, через которые транслируют информацию широкой аудитории. Для них технология CDN незаменима.

Сайт компании, ведущей деятельность на территории московского региона, с сервером в Подмосковье в услугах сетей доставки контента не нуждается. А проблема медленной загрузки решается один раз — проведением технических работ на самом ресурсе.

© Habrahabr.ru