Раскинуть сети: кому нужен CDN и как его правильно выбрать
Разбираем, на что ориентироваться при выборе поставщика CDN и в каких случаях выгоднее построить CDN самостоятельно
Отвечает за развитие инфраструктуры компании EdgeЦентр
Сгладить пики
Для начала разберемся: для чего сервис CDN нужен бизнесу? Ответ прост: он сглаживает пики нагрузки. «Черная пятница», новогодняя ночь, финал лиги чемпионов, — эти и другие масштабные события вызывают резкие скачки потребления трафика. А CDN, принимая на себя повышенную кратковременную нагрузку, дает бизнесу возможность более прогнозируемо расти. При этом сторонний CDN позволяет компаниям серьезно экономить на инфраструктуре и персонале.
Есть и дополнительные плюсы. Например, CDN любят поисковые системы: сайты, у которых подключен этот сервис, выше ранжируются в поисковой выдаче. А еще CDN на базовом уровне защищает от DDoS атак. Хотя, разумеется, полагаться только на этот сервис в данном вопросе нельзя.
Чтобы понять, нужен ли конкретной компании данный сервис, достаточно подсчитать, что выгоднее: вновь и вновь обновлять собственные сервера по мере роста проектов и увеличения генерируемого ими трафика, или же подключить CDN.
Впрочем, очень большой компании или же компании с очень специфическими задачами имеет смысл построить свою CDN. Но тут речь идет о гигантах масштаба «ВКонтакте» и «Яндекса», которых ни одна коммерческая CDN попросту не переварит без солидных капиталовложений.
Кроме того, собственную CDN имеет смысл строить, если у компании уже есть какая-то готовая инфраструктура, много дата-центров и серверов. В таком случае все что остается — это нанять команду.
Больше правил
Как выбирать CDN? Начнем с того, что скорее всего этот сервис уже есть у вашего облачного провайдера или же у компании, оказывающей вам услуги хостинга. Зачастую можно подключить CDN прямо из личного кабинета на сайте провайдера всего одной кнопкой. Другое дело, если этого пакета услуг недостаточно. Тогда стоит обратиться к списку крупных операторов CDN: в России их сегодня порядка десяти. Это не считая западных компаний, которые формально ушли с рынка, но продолжают работать в «серой зоне».
Важный критерий выбора — это правила управления трафиком. Чем их больше и чем гибче можно управлять трафиком, тем, разумеется, лучше для пользователя услуги. Кроме того, стоит обратить внимание на то, есть ли у CDN-провайдера собственный DNS-провайдер. Ведь именно наличие DNS-инфраструктуры позволяет гибко балансировать трафик для разных пользователей в разных частях света.
Так как CDN — это в первую очередь про кэш, то должно быть много дополнительных сервисов, связанных с кэшированием. Нужны функции защиты данных: secure tokens, WAF, geoip ACL и так далее. Необходима возможность сжатия и конвертации файлов «на лету», а также поддержка современных протоколов: WebSocket, HTTP/2, HTTP/3, IPv6. Отдельный вопрос — техподдержка. Она должна быть в режиме 24/7 работать по разным каналам. Причем желательно, чтобы была возможностью связаться не только с ботами, но и с живыми людьми.
Наконец, нужна статистика в личном кабинете, причем такая, которую понимают не только технические специалисты, но и обычные маркетологи и аналитики. Вплоть до возможности выгрузки детальных логов, если нужно.
Тестируй это
Главная метрика CDN — это связность. Оценить ее можно с помощью ресурсов типа radar.qrator.net и peeringdb. Там можно посмотреть список провайдеров, с которыми работает определенный CDN и понять, подходит ли он вам.
Ну и, разумеется, важно изучить прайсы провайдера и уточнить, как оплачиваются его услуги: за объем трафика или по фиксированным пакетам; сколько стоят дополнительные услуги и настройки; есть ли какие-то лимиты, про которые важно знать до того, как будет заключен контракт.
Как правило, CDN-провайдер предоставляет не только услугу доступа к географически распределенной сетевой инфраструктуре, но еще ряд дополнительных сервисов. Например в качестве origin (сервера, на котором хранятся исходные файлы или данные, раздаваемые через CDN) можно использовать S3 самого CDN-провайдера. Это еще больше снимает нагрузку с вашей инфраструктуры, но стоит дополнительных денег. По понятным причинам, очень популярна интеграция CDN с DdoS-защитой.
Когда вы уже определились с выбором, протестировать конкретный CDN можно с помощью исследовательской программы RIPE Atlas. Она позволяет оценивать качество связности из той или иной локации до нужного вам узла.
Резюмируя, отмечу, что сторонний сервис CDN, безусловно, полезен. Но не всем и не всегда: вы можете быть слишком маленькими или, наоборот, слишком большими, когда проще построить что-то свое. В любом случае нужно считать: складывать те затраты, которые есть у компании без CDN, и сравнивать их с теми затратами, которые будут после перехода на CDN.
Еще раз призываю всех изучать связность продуктов, которыми вы пользуетесь: не только точки присутствия, но и стыки с операторами связи. И все это нужно постоянно тестировать, потому что ситуация может меняться со временем в лучшую или худшую сторону.