Сеть доставки контента что это
Что такое CDN и как это работает?
Цифры и факты (вместо введения)
О том, что в Интернете с каждым годом становится все больше «тяжелого» контента.
А также о том, что в современном мире огромную роль играет скорость работы веб-сайтов и сервисов. Если скорость слишком мала ― это чревато потерей аудитории, а во многих случаях ― ещё и прибыли. Один из надёжных способов решения этой проблемы ― использование сетей доставки контента (Content Delivery Networks, CDN).
Selectel предлагает услугу CDN с 2014 года, и мы подробно изучили техническую сторону вопроса. В этой статье поговорим об устройстве и особенностях работы современных CDN.
Основные термины
Прежде чем начать предметный разговор об особенностях CDN, определимся с основной терминологией.
CDN (Content Delivery Network) — это географически распределённая сетевая инфраструктура, обеспечивающая быструю доставку контента пользователям веб-сервисов и сайтов. Входящие в состав CDN cерверы географически располагаются таким образом, чтобы сделать время ответа для пользователей сайта/сервиса минимальным.
Ориджин (origin) — сервер, на котором хранятся исходные файлы или данные, раздаваемые через CDN.
PoP (point of presence, точка присутствия) — кэширующий сервер в составе CDN, расположенный в определенной географической локации. Для обозначения таких серверов также используется термин edge.
Динамический контент ― контент, генерируемый на сервере в момент получения запроса (либо изменяемый пользователем, либо загружаемый из базы данных).
Статический контент ― контент, хранимый на сервере в неизменяемом виде (например, бинарные файлы, аудио- и видеофайлы, JS и CSS).
Немного истории и теории
Резкий рост Интернета в середине 1990-х привел к ситуации, что серверы стали с трудом выдерживать нагрузку. С серверами того времени (которые по техническим характеристикам иногда были слабее не самого производительного современного ноутбука) приходилось идти на разные ухищрения: погуглите, например, «иерархическое кэширование» и information superhighway ― сейчас эти словосочетания используются разве что в статьях по истории интернет-технологий. Чтобы понять, как развивались технологии раздачи контента, сделаем небольшое теоретическое отступление.
Обратим внимание: раздача статического и динамического контента связаны с разными типами нагрузки на сервер. В случае с динамическим контентом, генерация которого связана с обращениями к базе данных, важны быстродействие процессора и объём оперативной памяти.
Для раздачи статического контента, который в большинстве случаев оказывается очень «тяжелым» и который нужно загрузить очень быстро, важна в первую очередь скорость сети. Смысл технических решений для ускорения раздачи статики заключается в следующем: обеспечить горизонтальное масштабирование без сложных двусторонних синхронизаций с основным сервером.
Для снижения нагрузки владельцы веб-сервисов ещё в конце 1990-х годов начали раздавать статику и динамику с разных серверов. Крупные веб-проекты с огромной аудиторией, разбросанной по всему миру, начали размещать серверы со статикой в разных географических точках.
Тогда же, в конце 1990-х, стали появляться компании, у которых организация раздачи статики стала одним из основных направлений бизнеса. В 1998 году студент Массачусетского технологического института Дэниэл Левин и преподаватель математики Томсон Лейтон основали компанию Akamai. Ныне она является одним из крупнейших (если не самым крупным) CDN-провайдером в мире.
Уже в 2004 году CDN использовали более 3000 компаний; общий объем расходов на доставку контента составлял до 20 миллионов долларов в месяц.
Количество CDN во всём мире постоянно растет: соответствующие услуги предоставляют как крупные международные компании (например, Akamai, Amazon, Cloudflare), так и многочисленные региональные провайдеры (подробные обзоры).
CDN используется не только для раздачи статики в строгом смысле слова: распределение контента по многочисленным серверам в разных точках планеты помогает обеспечивать доступность в периоды пиковых нагрузок.
В течение последних 10-12 лет широкое распространение в Интернете получил еще один тип контента ― стриминговый (многочисленные сервисы потокового аудио и видео, которые в наши дни имеют огромную популярность и миллионную, если не миллиардную, аудиторию). Раздача сегодня является еще одним распространенным сценарием использования CDN.
Рассмотрим принципы работы и особенности использования CDN более подробно.
Как работает CDN
Представим себе веб-сервис, которым пользуются люди на всей территории России. Основные серверы расположены в Санкт-Петербурге, а пользователи находятся в самых разных географических точках: скажем, в Краснодаре (2 604,2 км от Петербурга), Новосибирске (3 826,1 км), Иркутске (5 661, 7 км) или Владивостоке (9 602, 4 км). Чем дальше пользователь находится от оригинального сервера, тем больше время «оригинального» ответа. На заре Рунета, в самом начале 2000-х, жители Южно-Сахалинска или Петропавловска-Камчатского могли дожидаться полной загрузки простой веб-страницы полновесные 5, а то и все 10, минут.
При использовании CDN всё происходит по-другому: пользователь из Владивостока переадресуется к географически ближайшему кэширующему серверу в составе CDN, благодаря чему доставка статического контента происходит гораздо быстрее.
Для ускорения раздачи динамики при использовании CDN используются другие механизмы: CDN-провайдер за счет своей сети сокращает сетевой маршрут.
Ещё один интересный сценарий использования CDN ― так называемый live-streaming: пользователи Интернета со всего мира могут в браузере (а иногда и в специальном приложении) смотреть или слушать трансляцию с мест событий. Устроено это так: один или несколько ориджин-серверов принимают c видеокамеры транслируемый поток, который сразу же ретранслируется на точки присутствия. Ориджин-серверы при этом контент клиентам не раздают. В состав стриминговых CDN входят также балансировщики нагрузки, перенаправляющие запросы к наименее загруженным на текущий момент edge-серверам.
Как организована раздача контента?
Как правило, для настройки раздачи статического контента через CDN необходимо выполнить следующие шаги:
Шаг 1: Вынести статику сайта на отдельный домен, например, static.example.com — это будет origin.
Шаг 2: Для работы через CDN создать домен вида cdn.example.com.
Шаг 3: Подключить CDN у провайдера. Для подключения владельцу веб-сервиса необходимо сообщить провайдеру следующее:
домен, с которого он будет забирать статику — static.example.com;
домен, с которого будет идти раздача — cdn.example.com.
Шаг 4: У своего DNS-регистратора настроить CNAME запись с cdn.example.com на домен CDN-провайдера, который CDN провайдер выделяет при подключении.
Например, в CDN Selectel такой домен имеет вид 85e77c09-bc03-43bf-b8f3-9492ae33390f.selcdn.net, где 85e72c09-bc03-43bf-b8f3-9492ae33390f генерируется автоматически.
Шаг 5: На своем сайте изменить домен для статики, которую планируется раздавать через CDN, на cdn.example.com.
Пользователь набирает в строке браузера адрес www.example.com, с которого он получает HTML-страницу. При этом весь статический контент, например, графические изображения, подгружается из CDN (с адреса cdn.example.com).
Статический контент, предназначенный для раздачи, часто помещается в объектные хранилища (об этом мы писали еще шесть лет назад). Существует множество плагинов и расширений для популярных CMS (WordPress, Joomla, Drupal, 1C Битрикс и других), с помощью которых можно настроить интеграцию с облачными сервисами хранения и раздачу статики через CDN.
Веб-сервис после подключения CDN будет работать на том же оригинальном сервере. Кэшированные части сайта будут загружены на серверы CDN-сети. Система находит для пользователя ближайший сервер и максимально быстро загружает статику сайта с него.
Обратим внимание на один важный момент: серверы, входящие в состав CDN, не являются подобием файловых серверов, на которые контент размещается для последующего скачивания. CDN используются не для хранения контента, а для кэширования на основе конкретных алгоритмов.
Как CDN понимает, где находится ближайший кэширующий сервер?
Как правило, для подгрузки контента из CDN используются две популярные технологии: GeoDNS и AnyCast.
С помощью GeoDNS можно привязать к одному доменному имени несколько IP-адресов. В зависимости от географического положения (определяется по IP-адресу, с которого пришел запрос) пользователь перенаправляется на ближайший сервер. Об особенностях работы GeoDNS можно почитать в этой статье (на английском языке).
При использовании технологии Anycast адреса общие, но маршрутизация происходит на «свои» серверы в пределах региона. При обращении к адресу www.example.com пользователь переадресуется на ближайшую точку присутствия. Провайдер пользователя получает несколько анонсов от разных сетей, в которых есть точка присутствия, и маршрутизатор провайдера выбирает из них самый близкий. Ответ аналогичным образом возвращается по наиболее короткому маршруту.
Как кэшируется контент?
Самой распространенной является схема по первому обращению: максимальное количество времени на загрузку затрачивает пользователь, обратившийся к оригинальному серверу первым. Все последующие пользователи будут получать данные, кэшированные на ближайшей к ним точке присутствия.
Здесь очень важна география: например, после обращения пользователя из Рио-де-Жанейро данные будут закэшированы на сервере, находящемся на территории Бразилии, что не решит проблемы со скоростью доступа для пользователей из Парижа или Лондона.
Для преодоления ограничений, накладываемых этой схемой, используются технологии регионального извлечения: соседние серверы, входящие в состав CDN, забирают контент друг у друга, а не обращаются к оригинальному серверу.
В большинстве CDN пользователь, отправивший запрос на получение статического контента, переадресуется к ближайшей точке присутствия и получает кэшированную версию этого контента с неё. Если ближайшая точка присутствия не сможет найти файлы, начнётся поиск по соседним точкам присутствия, откуда и будет перенаправлен ответ пользователю. В CDN Akamai эта процедура называется tiered distribution (на русский можно перевести как «многоуровневая раздача»).
Для чего используются CDN?
Чаще всего CDN используется для уменьшения времени отклика кэшированного контента, что, как мы уже упоминали выше, уменьшает отток посетителей из-за медленной загрузки ресурса и тем самым сокращает возможные финансовые потери. Также CDN помогает снизить риск потери доступа к контенту из-за падения основного сервера. Контент будет доступен всё время, пока вы восстанавливаете работоспособность основного сервера.
Использование CDN существенно снижает нагрузку на основной сервер, что помогает решить проблему пиковых нагрузок. Современная CDN способна переживать очень большие нагрузки. В конце 2018 года компания Akamai заявила о рекордном объеме передаваемого через CDN трафика: 72 Тб/c.
В наше время CDN активно используются также для раздачи стримингового контента.
О чем важно помнить при работе с CDN?
Как и любая технология, CDN обладает рядом особенностей.
Самая первая проблема, с которой могут столкнуться использующие CDN веб-сервисы ― это задержки кэширования. Вполне вероятна следующая ситуация: на основном сервере файл был изменён, а вот на кэширующих серверах он всё ещё будет лежать в неизмененном виде. Это особенно важно, когда через CDN распространяется часто обновляемый контент (фотографии с места событий, новые версии ПО и так далее)
Чтобы обеспечить доставку «свежего» контента в современных CDN имеется функция очистки кэша, то есть удаление контента из пула кэширования. Кроме того, владельцы сайтов и сервисов могут сами управлять настройками, используя заголовки-валидаторы (см. наши рекомендации на эту тему в опубликованной ранее статье).
Еще одна сложность связана с блокировками: если по той или иной причине будут заблокированы сервисы, являющиеся вашими «соседями» по IP CDN-провайдера, вместе с вами может оказаться заблокированным и ваш сайт. Но и это проблема решаема: по запросу CDN-провайдеры могут изменить ваш IP-адрес.
Кому нужны CDN?
CDN нужны в первую очередь проектам с большой аудиторией в разных регионах или странах. Здесь всё ясно: снижение задержек, быстрая раздача контента и повышение уровня удобства, и, как следствие, больше довольных пользователей.
CDN может пригодиться также разработчикам мобильных приложений: по статистике, пользователи часто отказываются продолжать работу с приложением из-за проблем со скоростью. В последнее время появились специальные технические решения, ориентированные на раздачу контента на мобильные устройства. Они так и называются ― Mobile CDNs. Соответствующие услуги предлагают многие крупные CDN-провайдеры ― например, Akamai или Amazon.
Нужны CDN и проектам, ориентированным на распространение игрового, мультимедийного контента и стриминг (об этом уже было сказано выше).
На что обратить внимание при выборе CDN-провайдера (вместо заключения)
Число пользователей вашего веб-сервиса растет, аудитория расширяется, и вы задумываетесь о подключении CDN для оптимизации и ускорения раздачи статики и снижения нагрузки на основные серверы.
На что нужно обратить внимание при выборе CDN-провайдера?
Во-первых, на количество точек присутствия. Это особенно актуально для проектов с обширной международной аудиторией. Нелишним будет узнать информацию о точках присутствия в наиболее интересных для вас регионах и сопоставить их с потенциальной аудиторией сайта.
Во-вторых, это наличие стыков с операторами связи. Это тоже немаловажный фактор, от которого зависит скорость и эффективность работы CDN. Например, у CDN-провайдера с точками присутствия в 100 городах, но небольшим количеством стыков задержка может быть больше, чем у провайдера, у которого точки присутствия расположены в 5 городах, но стыков с операторами связи гораздо больше.
К сожалению, такую информацию в большинстве случаев CDN-провайдеры не публикуют, поэтому проверить всё можно только тестированием.
В-третьих, на наличие дополнительных услуг и функций. Многие CDN-провайдеры предоставляют такие услуги, как анализ статистики потребления, управление политиками кэширования, управление HTTP-заголовками, предзагрузка очень «тяжёлого» (от 200 МБ и более контента), полная и выборочная очистка кэша.
Кроме того, при выборе CDN-провайдера нужно проверить, поддерживает ли он необходимые вам технологии и протоколы (HTTP/2, IPv6, сертификаты SSL и другие).
Что такое CDN и как работает данная технология
Рассмотрим реальную ситуацию. Я включаю компьютер, запускаю браузер и пытаюсь зайти в свой электронный почтовый ящик. Секунд через десять вижу на экране следующее сообщение:
В этом же браузере страницы других сайтов открываются в течение двух-трех секунд. Это означает, что проблема связана не со скоростью интернета, конкретным браузером или ресурсной мощностью моего компьютера. Она полностью находится на стороне почтового сервера. Конечно, я дождусь загрузки, у меня для этого есть мотив.
В подобной ситуации другой пользователь, получивший миллионы ссылок по поисковому запросу, просто закроет проблемную страницу и воспользуется альтернативным ресурсом. По статистике 75% посетителей принимает решение о целесообразности нахождения на конкретном сайте в течение 5 секунд. Пользователи мобильных устройств закрывают проблемную страницу еще раньше.
Для рядового посетителя это всего лишь легкое неудобство, которое можно мгновенно исправить. Представьте потери огромного интернет-магазина, клиенты которого живут на территории всей страны. В момент пиковых посещений веб-сервер перестает справляться с нагрузкой, сайт может полностью упасть. Клиенты уходят к конкурентам. Конверсия, а значит, и доходы стремятся к нулю. Поисковые системы понижают рейтинг сайта. Огромные деньги, потраченные на рекламу, потеряны.
Есть ли решение этой проблемы? Да, и называется оно CDN (Content Delivery Network) или «Сеть распределения контента».
Определение CDN
На обычном хостинге передача данных происходит следующим образом:
Конечный пользователь (клиент) начинает загружать страницу сайта. Браузер отсылает запрос веб-серверу, на котором хранится соответствующий контент.
Сервер получает запрос, обрабатывает его согласно алгоритму и передает соответствующий пакет данных.
Страница загружается, пользователь получает необходимую информацию.
CDN-хостинг добавляет в эту схему дополнительные узлы хранения и передачи данных. Это серверы, на которых кэшируется часть контента или страница головного ресурса целиком. Эту услугу предоставляют провайдеры CDN. Они размещают серверы в различных точках мира. Запрос обрабатывается в том ЦОД, который географически расположен ближе всего к месту получения контента. За счет этого трафик проходит по минимально-оптимальному маршруту, снижается нагрузка на сеть, достигается максимальная скорость соединения. В результате сайты, использующие CDN, загружаются намного быстрее.
Все веб-ресурсы хранят и обрабатывают на хостинг-серверах информацию двух типов – статическую и динамическую. К первой относится «тяжелый» контент, который практически не изменяется: бинарные файлы, тексты, картинки, видео- аудиофайлы, скрипты. При этом объем файлов не должен влиять на скорость их загрузки в браузере клиента. Динамический контент отображается по-разному в зависимости от запросов пользователей. Например, местоположение, пол, блок рекомендаций, история просмотра.
Динамический контент задействует в первую очередь оперативную память сервера, а также зависит от мощности процессора. Скорость обработки статического контента зависит от ширины пропускного канала. Если оба вида контента хранятся на одном хостинге, это создает дополнительную нагрузку на сервер, в определенные моменты сайт начинает работать медленно.
При использовании CDN часть данных, в первую очередь статических, кэшируется на распределенных серверах CDN-сети. На них обрабатывается запрос пользователя и происходит передача данных. Таким образом, нагрузка на центральный сервер резко снижается, происходит перераспределение трафика, страницы сайта на конечном устройстве загружаются быстрее.
Впервые проблема возросшей нагрузки на веб-серверы была обозначена еще в 90-х годах прошлого столетия. Владельцам ресурсов приходилось идти на различные ухищрения, чтобы решить ее. Например, были разработаны методы «иерархического кэширования» и information superhighway, которые сегодня известны разве что историкам интернета. Контент стали разделять на динамический и статический, хранить на разных серверах. Сами точки подключения распределялись географически. Тогда же возникла идея аутсорсинга данной услуги.
В 1998 году студент Массачусетского технологического института Дэниел Левин и преподаватель математики Томсон Лейтон основали компанию Akamai. Сегодня она является одним из крупнейших CDN-провайдеров в мире. Уже в 2004 году CDN использовали более 3000 компаний, общий объем расходов на доставку контента составлял около 20 миллионов долларов в месяц. В конце 2018 года компания Akamai заявила о рекордном объеме передаваемого через CDN трафика – 72 Тб/c.
Принцип работы CDN и терминология
Основные понятия, используемые в описании принципа работы сети распределения контента:
Предположим, центральный сервер («ориджин») интернет-компании находится в Санкт-Петербурге, пользовательская аудитория распределена по всей России. Расстояние до одной из самых дальних точек подключения во Владивостоке составляет 9 607 км. Следует учитывать, что дальность указана «по прямой», но оптоволоконные кабели веб-паутины прокладываются сложными маршрутами. С учетом ограничения на скорость передачи данных по сети и замедлении трафика в процессе обработки промежуточными узлами-ретрансляторами (маршрутизаторами), открытие страницы у пользователя где-нибудь в Южно-Сахалинске или Петропавловске-Камчатском может занять несколько минут.
При использовании CDN запрос пользователя из Владивостока идентифицируется по заголовку и содержанию, затем переадресуется к географически ближайшему кэширующему серверу сети. В результате доставка статического контента занимает считанные секунды.
Настройка технологии CDN
На уровне администрирования веб-ресурса для раздачи статического контента через CDN необходимо произвести следующие настройки:
Перенести статический контент сайта на отдельный домен типа cdn.example.ru.
Подключить услугу CDN у провайдера, сообщив ему следующее: домен, с которого он будет забирать статику — static.example.ru, и домен, с которого будет идти раздача — cdn.example.ru.
У своего DNS-регистратора настроить CNAME-запись с cdn.example.ru на домен CDN-провайдера, который он выделяет при подключении.
На своем сайте изменить домен для статики, которую планируется раздавать через CDN, на cdn.example.ru.
Для размещения статического контента в объектных хранилищах и интеграции с облачными сервисами и раздачи через CDN используются плагины и расширения для CMS (WordPress, Joomla, Drupal, 1C Битрикс и других). Веб-сервис после подключения CDN будет работать на том же оригинальном сервере. Кэшированные части сайта будут загружены на серверы CDN для последующего быстрого скачивания.
Следует учитывать, что CDN-сервер не выступает в роли классического хранилища контента для скачивания, он лишь выполняет функции кэширования и передачи данных на основе конкретных алгоритмов. Кэшированные данные не хранятся постоянно в неизменном виде, периодически обновляются для актуализации.
Для загрузки контента из CDN используются две популярные технологии – GeoDNS и AnyCast.
GeoDNS привязывает к одному доменному имени несколько IP-адресов. По нему система определяет географическое положение пользователя, отправившего запрос, и перенаправляет его на ближайший сервер сети.
AnyCast использует общие адреса, маршрутизация происходит на ближайшие серверы в пределах региона. Провайдер пользователя получает несколько анонсов от разных сетей, в которых есть точка присутствия, маршрутизатор провайдера выбирает самый близкий. Ответ аналогичным образом возвращается по наиболее короткому маршруту.
Принцип кэширования контента
Наиболее распространенной является схема «по первому обращению». При первом обращении пользователя с запросом на определенный контент к оригинальному серверу определяется точка его локации. Все последующие пользователи будут получать данные, кэшированные на ближайшей к ним точке присутствия.
Сложность этой схемы в том, что последующие аналогичные запросы могут быть осуществлены пользователями, находящимися в других географических регионах. Для преодоления этого ограничения используется технология регионального извлечения. При повторных запросах пользователей с локацией в других регионах соседние серверы, входящие в состав CDN, забирают контент друг у друга, а не обращаются к оригинальному серверу. В Akamai эта процедура называется tiered distribution («многоуровневая раздача»).
Преимущества использования CDN
К неоспоримым плюсам использования технологии распределения контента относится следующее:
Высокая скорость загрузки. Время отклика веб-сервера, использующего VDS, в зависимости от загруженности каналов, обычно составляет 50-200 мс. При использовании CDN, благодаря тому, что сетевой маршрут между конечными пользователями и серверами с информацией укорочен до минимума, это число редко превышает 10 мс.
Снижение нагрузки на головной сервер. Пользовательская нагрузка при использовании CDN распределяется равномерно между серверами сети. Исходный сервер используется только для обновления данных и основных настроек. Если на центральном сервере отсутствует динамический контент и обновления происходят редко, то ресурсные требования к его конфигурации минимальные, что приводит к снижению стоимости хостинга. В этом случае основной сервер отвечает только за обновление информации и ее раздачу в сеть распределения контента.
Размещение ресурсоемкого контента. При размещении программного обеспечения или интерактивных медиа-материалов исходный сервер может быть загружен «тяжелыми» запросами, обработка которых занимает продолжительное время (до нескольких часов). Возрастает нагрузка на основной ресурс, требуются дополнительные усилия по обеспечению его отказоустойчивости при длительных соединениях и обработке данных большого объема. CDN позволяет обеспечить одновременное обслуживание десятков и сотен тысяч «медленных» запросов. Кластерная архитектура CDN с использованием RAID-технологий позволяет гарантировать стопроцентную устойчивость при самой высокой нагрузке.
Обеспечение безопасности и отказоустойчивости. Сеть CDN представляет собой сложную систему взаимосвязанных и дублирующих ресурсов, состоящую из сотен и тысяч серверов. Центры обработки данных географически распределены по регионам и странам. Такая структура хранения и обработки данных позволяет выдерживать практически любые нагрузки и увеличивает стоимость эффективной DDoS-атаки на нее до фантастических величин.
Масштабируемость и надежность. Возможности одномоментной обработки пользовательских запросов сетью CDN практически неограниченны. Даже при пиковой нагрузке в миллионы посещений это никак не скажется на доступности центрального сервера, его содержимое будет отдаваться по-прежнему быстро и без каких-либо перебоев. Даже при аварийном выходе из строя основного сервера пользователям будет доступен как минимум статический контент.
Кому не обойтись без CDN
Очевидно, что сеть распределения контента в первую очередь необходима проектам с большой аудиторией в разных регионах и странах. Услуги CDN востребованы:
крупными интернет-магазинами с широкой географией распределения аудитории;
стриминговыми аудио- и видеосервисами (live-streaming), популярность которых стремительно растет во всем мире;
игровыми порталами, использующими облачный гейминг;
платформами для дистрибуции программного обеспечения;
веб-проектами, использующими высокоскоростные мобильные приложения.
В последнее время появились специальные технические решения, ориентированные на раздачу контента на мобильные устройства, которые так и называются ― Mobile CDNs.
Недостатки и альтернативы CDN
Как и любая IT-технология, CDN обладает рядом особенностей, которые следует учитывать при принятии решения об ее использовании.
Первая проблема, с которой могут столкнуться использующие CDN веб-сервисы ― это задержки кэширования. Может возникнуть ситуация, когда на центральном сервере исходный файл был изменен, но на кэширующих серверах все еще присутствует его старая версия. Решается эта проблема путем периодической очистки и обновления кэша. Кроме того, владельцы сайтов и сервисов могут сами управлять настройками, используя заголовки-валидаторы.
В случае блокировки сервисов, являющихся вашими «соседями» по IP у CDN-провайдера, вместе с ними может оказаться заблокированным и ваш сайт. В этом случае придется обращаться к CDN-провайдеру для смены IP-адреса.
Прежде чем принимать решение о покупке недешевой услуги CDN, следует разобраться в причинах задержки отклика вашего веб-ресурса. Если на вашем сайте нет большого количества статических данных, аудитория локализована в пределах региона, то, возможно, проблемы со скоростью решаются иными способами. Попробуйте сделать следующее:
уменьшить размер изображений на сайте;
устранить дублирующиеся JS-библиотеки и плагины;
подключить JS-скрипты и CSS-стили в правильном порядке;
использовать более мощный сервер для быстрой генерации HTML-страниц;
оптимизировать настройки СУБД и веб-приложений.
Если программная оптимизация не дала желаемого результата и наблюдается стабильная динамика роста пользовательских запросов, что приводит к замедлению работы ресурса, стоит обратиться к CDN-провайдерам.
В качестве альтернативы CDN можно рассматривать использование облачного VPS/VDS-хостинга. Как и сеть распределения контента, данная технология обладает возможностями масштабируемости, отказоустойчивостью и высокой безопасностью. Следует учитывать, что управление облачным хостингом потребует наличия штата профессиональных программистов, и по затратной составляющей может оказаться дороже, чем услуги CDN-провайдеров.
Вам может быть интересно: Обзор лучших CDN-провайдеров
Заключение. На что обратить внимание при выборе провайдера CDN
Еще немного статистики:
В 2010 году средний размер веб-страницы составлял 481Кб. В 2019 уже 1936 Кб. За последние три года значение этого показателя увеличилось на 314.7% и продолжает расти.
В настоящее время набирают популярность стриминговые аудио- и видеосервисы. По состоянию на начало августа 2020 года аудитория популярного сервиса Spotify достигла 299 миллионов пользователей.
Итак, вы не просто желаете вписаться в тренд развития интернет-бизнеса, но и реально осознали необходимость подключения CDN-хостинга. На что нужно обратить внимание при выборе CDN-провайдера?
Количество точек присутствия. Сопоставьте эту информацию с географией распределения вашей аудитории реальных и потенциальных клиентов.
Наличие стыков с операторами связи. У CDN-провайдера с точками присутствия в 100 городах, но небольшим количеством стыков, задержка может быть больше, чем у провайдера, у которого точки присутствия расположены в 5 городах, но стыков с операторами связи гораздо больше. Следует учесть, что подобную информацию невозможно получить от самих провайдеров. Пользуйтесь экспертными обзорами и тестами.
Наличие дополнительных услуг и функций. К ним относятся: анализ статистики потребления, управление политиками кэширования и HTTP-заголовками, предзагрузка очень «тяжелого» контента, полная и выборочная очистка кэша.
Поддержка необходимых вам технологий и протоколов (HTTP/2, IPv6, сертификаты SSL и т.д.).
Обратите внимание на то, что некоторые лидеры рынка предоставления услуг CDN-хостинга обрабатывают не только статические, но и динамические данные.
Сопоставив все «за» и «против», смело принимайте решение. Используя CDN, вы повысите скорость загрузки сайта, а значит, угодите пользователям и поднимитесь в поисковой выдаче.