Что такое CDN и нужно ли его использовать?
Каждый веб-мастер, занимающийся оптимизацией и ускорением своего сайта, наверняка рано или поздно столкнется с таким понятием, как CDN. Давайте попробуем разобраться, что это такое.
Что такое CDN
CDN — Content Delivery Networks, что в переводится дословно как «Служба доставки контента». Но что именно эта служба делает?
Вот обычная карта, где отмечен сервер, который находится в Москве. И к этому серверу обращаются и получают с него ответ с самых разных городов и стран.
На самом деле, реальная карта, даже небольшого сайта, будет еще более сложной.
На этой карте мы видим, что на сайт заходили люди, с большого количества городов из разных стран. Это приводит к тому, что в разных странах, скорость доступа к сайту будет разной. И как бы вы свой сайт не оптимизировали бы, в некоторых странах сайт будет загружаться медленней медленней.
Чем дальше находится сервер сайта, тем дольше будет идти «ответ» до пользователя.
Обратите внимание, скорость доступа к сайту из Москвы, составила 0,2 секунды. А вот скорость доступа из Сиднея, уже 3 секунды. Конечно, это ожидаемо, но результат скорости по Австралии совсем не впечатляет.
Вы можете сами проверить пинг любого сайта, перейдя на ping-admin.ru.
Как работает CDN?
CDN хранит кэшированную версию сайта на разных серверах, расположенных по всему миру (или большей его части). Такие точки называются PoP — Points of Presence, что в переводе означает точку присутствия. И отдает кешированные данные пользователю с ближайшего к нему сервера. Это очень сильно повышает скорость работы сайта.
PoP, это фактически группа дата центров, раскиданных по всему миру. В каждом таком дата центре находятся сервера. Физически это те-же серваки, на которых размещаются обычные сайты. Но в данном случае, задача PoP приблизить сайт к посетителю.
В результате, владелец сайта получит высокую скорость не только в близких городах к своему серверу, но и любой другой точке мира. Карту серверов, можно увидеть на самом сервисе, который предоставляет услуги CDN. Например, у cloudflare.com.
Типы CDN
Выше я уже сказал, что основная цель CDN, это уменьшить время ожидания и ускорить сайт за счет близкого расположения к посетителям. Но в современном мире фотографий по два и более мегабайтов, а также 500-килобайтных библиотек JavaScript, задержка даже на три секунды, не имеет большого значения. Но у CDN есть и другие цели.
CDN, ориентированные на контент.
Это первоначальная задача, для которой предназначались CDN. Контент сайта загружается на отдаленные сервера, при необходимости, система сама обновляет данные и доставляет контент конечному пользователю.
В этом случае, данные сохраняются на сервисе CDN. И если даже в это время что-то случится с сайтом, и прямой запрос будет невозможным, то тогда сайт все ещё будет доступен через CDN.
И обычные пользователи даже не заметят, что с сайтом что-то случилось. Разве что, загрузка будет чуть медленней.
Кроме того, современные CDN часто предлагают слои автооптимизации, при которой, исходные изображения оптимизируются и это позволяет еще больше ускорить сайт. Впрочем, картинки в любом случае нужно оптимизировать и об этом вы можете подробнее узнать в этой статье.
CDN, ориентированные на безопасность.
Кроме ускоренной доставки контента отдаленным посетителям, CDN стали предлагать и другие услуги. Это защита от DDoS атак. И некоторые CDN сервисы, например Imperva.com, специализируется именно на этом.
Поскольку CDN является внешним слоем инфраструктуры веб-сайта и первым получателем трафика, он может обнаруживать атаки DDoS на раннем этапе и блокировать их с помощью специальных серверов защиты от DDoS, называемых скрубберами, для того, чтобы DDoS атака не достигла исходного сервера, тем самым, предотвратив ошибку в отказе обслуживания.
Кроме того, используя знания, полученные от многочисленных клиентов, CDN может узнавать о подозрительных IP-адресах, спамерах, вредоносных программах и даже типах сканеров и их поведении. Например, скрапер, работающий на сайте A, после идентификации перестанет работать и на сайте B, если этот сайт защищен тем же CDN, поскольку фильтр трафика распознает шаблон, который он видел ранее.
Кому нужен CDN?
Многим. С каждым годом количество сайтов, использующих CDN растет. Тем более, что на рынке можно встретить и бесплатные CDN. Тем не менее, даже в качестве бесплатной услуги, CDN не для всех.
Например, если ваш сайт рассчитан на небольшой круг посетителей, и сервер сайта расположен в регионе проживания большинства потенциальных посетителей, то использование CDN принесет не много пользы.
Точнее, в такой ситуации, использование CDN может фактически ухудшить производительность вашего сайта, поскольку в цепочку между сервером сайта и посетителем добавится ещё одна точка, через которую проходит трафик.
На этом скрине мы видим, что даже обычное подключение к сайту, произошло через одиннадцать точек. В случае с использованием CDN, точек может стать больше.
Тем не менее, многим сайтам использование CDN желательно. Это сайты интернет магазинов, корпоративные сайты, игровые, сайты с большим количеством загружаемого материала (кино, музыка, программы и так далее).
Что же касается обычных, небольших блогов и информационных сайтов, то для них подключение CDN не является обязательным. Для ускорения им достаточно обычных мер, таких как оптимизация картинок, подключение GZIP сжатия, минификация HTML, CSS, JS и тому подобных мер.
А как вы относитесь к CDN? Вы считаете его обязательным или это просто модное словечко, но которое на самом деле, никому не нужно? Оставляйте своё мнения в комментариях.
Оставить комментарий