Почему сегодня от CDN больше вреда, чем пользы

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

CDN(Content Delivery Network) - это подход, позволяющий хранить части страниц вашего сайта на других серверах. Обычно это кастомные шрифты, таблицы стилей, скрипты и иконки. CDN хорош тем, что позволяет кэшировать часто используемые библиотеки типа jQuery, не загружая их заново для каждого сайта. При большом количестве подключаемых файлов на странице, браузер не может делать много запросов к одному домену одновременно. Однако использование CDN, расположенного на другом домене, позволяет обойти эту проблему. На сайтах с огромной посещаемостью CDN позволяет экономить ресурсы серверов. В общем это замечательная технология. А под катом я расскажу, почему первым делом при получении сайта на поддержку, я вырезаю все ссылки на CDN и заменяю их на локальные ресурсы.

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

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

Третья проблема - это скорость самих CDN. Во-первых она нестабильна сама по себе, и можно достаточно долго смотреть как в статус баре браузера меняются надписи "Ожидание ответа от *.cdn.net". После каждой смены надписи страница может кардинально перерисовываться, в зависимости от того какие стили и шрифты подгрузились. А что может быть лучше, чем когда за долю секунды до нажатия на кнопку, вы нажимаете на другую кнопку, которая внезапно оказывается у вас под пальцем? Особенно болезненно CDN ощущается на мобильном интернете, потому что по создание соединения там - гораздо более долгая операция, чем передача данных по уже открытому. А нестабильный характер самого мобильного интернета приводит к тому, что сайт может загружаться очень долго и в итоге не до конца.

Четвертая проблема - это локальная разработка. Если у тебя нет интернета в дороге или он плохой, то полноценно работать над сайтом невозможно.

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

Шестая проблема - это поменявшийся характер использования интернета. Теперь пользователи довольно мало ходят по сайтам, придерживаясь нескольких основных, но посещая их регулярно. И тут плюсы кэширования сходят на нет - чем меньше сайтов посещает пользователь, тем меньше вероятность что в кэш будут попадать какие-то общие для этих сайтов библиотеки. Последнее помножается на количество этих библиотек и их версий. И есть шанс что на всех сайтах, посещаемых пользователем не будет ни одной общей версии Bootstrap или jQuery.

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

Источник: https://habr.com/ru/post/584286/


Интересные статьи

Интересные статьи

Глобальное потепление наступает. В центре Гренландии недавно прошел дождь — впервые в известной нам истории. А 9 августа ООН опубликовала огромный доклад, в котором предупредила о том, что м...
Доброго времени суток, дорогие любители науки!В этот замечательный день будет не совсем обычный пост, а пост - обзор на микроскоп. Но не обычный микроскоп, а походный мин...
Сеттинг — один из важнейших факторов успеха игры. Узнали у Владимира Семыкина, автора направления «Геймдизайн» в Нетологии, почему важно выбрать правильный сеттинг, чем о...
От тимлида зависит многое — эффективность команды, достижение поставленных целей, профессиональный рост сотрудников. И чтобы разобраться в нюансах работы тимлида, мы поговорили с Иван...
Автор статьи: Джон Селавски (John Selawsky). Любви все возрасты покорны. Многие соглашаются с этим выражением, однако мы убеждаем себя, что уже поздно учиться или менять профессию. Почему ...