Что такое CDN, как они работают и почему вам следует их использовать?!

Опубликовано: 2016-03-22

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

Сеть доставки контента (или сокращенно CDN ) — один из шагов на пути к достижению этой цели.

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

Что такое CDN?

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

Какова основная цель CDN?

Основная цель CDN — более эффективно ( то есть быстрее ) доставлять контент вашего веб-сайта конечным пользователям.

Если вы используете CDN, когда пользователь загружает контент вашего веб-сайта, ближайший к пользователю сервер CDN будет предоставлять этот контент.

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

Однако, как мы увидим, это не единственное преимущество использования CDN!

Как работает CDN?

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

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

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

Базовая схема работы CDN.

Вам может быть интересно, как ваш веб-сайт попадает с исходного сервера на эти пограничные серверы?

Ну, это зависит от того, является ли у вас CDN push или pull

Что такое Pull CDN (и как он работает)?

Настройка CDN по запросу работает путем извлечения файлов с исходного сервера по мере необходимости.

Когда пользователь впервые запрашивает файл, пограничный сервер должен будет прочитать файл с вашего исходного сервера (т. е. вашего текущего хостинг-провайдера).

Затем пограничный сервер сохранит кэшированную версию этого файла. «Кэшированная» версия означает просто копию файла в определенный момент времени.

Будущие запросы к файлу будут поступать непосредственно с пограничного сервера (а не с исходного сервера), пока срок действия файла не истечет (устареет).

По истечении срока действия файл снова необходимо будет обновить с исходного сервера и кэшировать.

Что такое Push CDN (и как он работает)?

Push CDN позволяет пользователям загружать («пересылать») свои файлы в сам CDN , а затем файлы после загрузки немедленно распространяются на пограничные серверы.

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

Это менее распространенный вариант; однако это выгодно для распространения больших медиафайлов , поскольку копия мультимедиа всегда будет храниться на пограничных серверах.

Заменяет ли CDN ваш веб-хостинг?

Нет, CDN не заменяет ваш веб-хостинг . Они работают совместно.

Все ваши исходные файлы хранятся на сервере вашего веб-хостинга. Это исходный сервер.

Серверы CDN содержат только копии файлов на исходном сервере.

Если вы избавитесь от своего веб-хостинга, CDN некуда будет копировать файлы!

Видео-обзор CDN

Если вы все еще немного запутались, вот короткое видео, в котором очень простыми словами объясняется CDN:

Что такое CDN?

Проблема с веб-хостингом без CDN

При использовании традиционной модели веб-хостинга все файлы вашего веб-сайта (HTML, CSS, изображения и т. д.) размещаются в одном месте в мире — практически там, где расположен центр обработки данных вашего провайдера веб-хостинга.

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

В этом есть несколько недостатков:

1. Скорость уменьшается с расстоянием.

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

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

Таким образом, пользователь веб-сайта из Великобритании будет загружать ваш веб-сайт медленнее, чем пользователь из США, из-за их близости к центру обработки данных в Техасе.

2. Ограниченная скорость передачи

Рассмотрим ситуацию, когда несколько пользователей пытаются загрузить ваш сайт одновременно.

Точно так же, как ваш персональный компьютер имеет ограничения на скорость передачи файлов по сети (скорость передачи), серверы также имеют ограничения на скорость передачи файлов.

Готов ли ваш нынешний веб-хостинг к такому всплеску трафика?

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

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

Преимущества использования CDN

С помощью модели CDN мы можем преодолеть недостатки традиционной модели веб-хостинга. Действительно, CDN имеет несколько преимуществ, таких как:

1. Ускоренная загрузка (за счет предоставления контента с ближайшего к пользователю сервера)

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

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

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

CDN автоматически определит, какой сервер является наиболее эффективным выбором для каждого конечного пользователя.

Схема традиционной модели хостинга и модели CDN.

2. Улучшенная обработка всплесков трафика (за счет рассредоточенной передачи файлов)

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

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

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

3. Повышенная безопасность (за счет предотвращения и защиты от DDoS-атак).

DDoS-атака — это когда ваш сервер переполнен незаконными запросами к вашему веб-сайту с целью привести к сбою вашего сайта или вызвать увеличение платы за пропускную способность из-за чрезмерной передачи.

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

Недостатки использования CDN

Однако есть несколько недостатков использования CDN.

1. Стоимость: обычно CDN оплачиваются по факту использования.

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

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

Обратите внимание, что провайдеры «push CDN» часто также взимают плату за место для хранения (см. ниже).

Чтобы помочь вам понять, во сколько вам обойдется переход на облако, рассмотрим следующий сценарий…

Предположим, размер вашего веб-сайта составляет 1 МБ, а ваш провайдер CDN взимает за передачу 0,085 доллара США за ГБ . Стоимость доступа 10 000 пользователей ко всему вашему веб-сайту составит: ((1/1024) × 10 000) ÷ 0,085 = 114 центов, или 1,14 доллара США за 10 000 запросов .

Как видите, это не запредельная стоимость.

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

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

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

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

Примечание. Многие из лучших провайдеров веб-хостинга теперь включают в свои планы бесплатные услуги CDN.

2. Для кэширования изменяющегося контента необходима дополнительная настройка.

Имейте в виду, что CDN кэширует копии контента вашего сайта по всему миру.

Однако большинство веб-сайтов содержат некоторый контент, который меняется в зависимости от конкретного пользователя, обращающегося к веб-сайту, или других критериев (приветственные сообщения для конкретного пользователя, корзины покупок и т. д.).

Этот тип контента не так просто кэшировать по всему миру, поскольку он постоянно обновляется для каждого запроса.

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

Другие соображения по поводу CDN

Обновление кэша файлов при обновлении файлов

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

Чтобы это произошло, вам может потребоваться либо дождаться истечения срока действия по умолчанию (который зависит от поставщика), либо принудительно сделать кэшированные файлы недействительными (путем очистки кэша вручную).

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

Обеспечьте достаточный срок хранения файлов, к которым редко обращаются.

Решения Pull CDN не обязательно постоянно содержат копии ваших файлов на каждом пограничном сервере (подробнее обсуждается ниже). Если кэшированная версия файла еще не существует, файл необходимо извлечь с исходного сервера.

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

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

Статический и динамический контент

Веб-сайты содержат два основных типа данных – статический контент и динамический контент.

Большая часть контента, который вы видите на веб-сайте (то есть внешний вид, изображения, видео, файлы CSS и JavaScript и т. д.), обычно представляет собой статический контент. Статический контент никогда не меняется (если вы повторно не загрузите исходный файл).

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

Динамический контент меняется в зависимости от того, кто запрашивает данные или других критериев.

Например, когда Джон входит в свой банковский счет, он видит свои балансы. Однако когда Дэвид входит в систему, балансы отличаются от того, что видит Джо.

Другой пример: после входа в панель управления WordPress вы увидите такое сообщение, как «Привет, Джон!».

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

Как CDN обрабатывает статический, динамический и потоковый контент?

На этом этапе мы подходим к важному вопросу: «Какие файлы я могу хранить в CDN?».

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

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

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

Многие провайдеры CDN также внедрили решения для потоковой передачи медиафайлов в реальном времени и по запросу через CDN.

Как настроить CDN

Итак, теперь вы, вероятно, думаете: «Я убежден, что моему сайту нужен CDN! Как мне перейти?».

Ответ зависит от того, какого хостинг-провайдера вы используете и какой тип решения CDN вам нужен.

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

Добавьте слой CDN на весь ваш сайт

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

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

Pull CDN фактически будет реализован «за кулисами» для распространения файлов через CDN.

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

Как это настроить

Основным шагом в настройке системы CDN этого типа является обновление записей DNS вашего веб-сайта, чтобы они указывали на уровень CDN. Уровень CDN затем будет при необходимости направлять запросы на ваш исходный сервер.

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

Как настроить Pull CDN

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

Вам также потребуется либо обновить ссылки на файлы на вашем веб-сайте на конечную точку CDN, либо обновить настройки DNS, чтобы они указывали на CDN.

Как настроить Push CDN

Загрузите свои файлы провайдеру CDN. Вам также потребуется либо обновить ссылки на файлы на вашем веб-сайте на конечную точку CDN, либо обновить настройки DNS, чтобы они указывали на CDN.

Должен ли я покинуть своего провайдера веб-хостинга?

Нет. Даже после приобретения решения CDN вам придется оставаться с провайдером веб-хостинга.

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

Какие хостинговые компании предоставляют CDN?

В наши дни многие хостинговые компании предоставляют CDN как часть своих планов общего хостинга:

  • SiteGround (используйте собственный CDN SiteGround)
  • Bluehost (Cloudflare предварительно включен)
  • Kinsta (платный план Cloudflare включен бесплатно)
  • WP Engine (платный план Cloudflare включен бесплатно)
  • HostGator (Cloudflare включен только в бизнес-план)
  • IONOS (Cloudflare включен только в план Expert)
  • Cloudways (Cloudflare Enterprise можно добавить всего за 4,99 доллара в месяц)

Заключение

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

CDN также снизит нагрузку на файловые запросы на вашем текущем хостинге, что может помочь в обработке больших объемов трафика.

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

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

И есть также много других вещей, которые вы можете сделать, чтобы в целом увеличить скорость вашего веб-сайта (например, сжатие изображений) и, в частности, улучшить время загрузки вашего веб-сайта WordPress!

Использовали ли вы CDN для своего сайта? Дайте нам знать в комментариях ниже, что вы думаете о CDN!