Содержание
Что такое CDN? – Описание сети доставки контента – AWS
Что такое CDN?
Сеть доставки контента (CDN) – это сеть взаимосвязанных серверов, которая ускоряет процесс загрузки веб-страниц приложений с высокой нагрузкой. Аббревиатура CDN расшифровывается как «content delivery network» (сеть доставки контента) или «content distribution network» (сеть распределения контента). Когда пользователь заходит на веб-сайт, данные, хранящиеся на сервере этого веб-сайта, проходят через Интернет, прежде чем достичь компьютера пользователя. Если пользователь находится далеко от сервера, такие большие файлы, как видео или изображения, могут долго загружаться. Вместо этого контент веб-сайтов хранится на серверах CDN, которые географически расположены ближе к пользователям и поэтому могут намного быстрее достичь их компьютеров.
Почему CDN играет важную роль?
Основная функция сети доставки контента (CDN) – это сокращение задержек при передаче данных, вызванных особенностями проектирования сети. В связи с глобальным и сложным характером Интернета данные передаются от веб-сайтов (серверов) к пользователям (клиентам) на большие физические расстояния. Кроме того, передача данных происходит на двусторонней основе, то есть клиенты отправляют запросы на серверы, от которых им поступают ответы.
CDN повышает эффективность, внедряя промежуточные серверы между клиентами и серверами веб-сайтов. Такие серверы CDN управляют некоторыми передачами данных между клиентами и серверами. Они сокращают сетевой трафик на веб-серверах, уменьшают пропускную способность и улучшают удобство пользования вашими приложениями.
В чем заключаются основные преимущества CDN?
Сети доставки контента (CDN) обеспечивают множество возможностей, которые повышают производительность веб-сайтов и поддерживают инфраструктуру базовой сети. Например, CDN может выполнять указанные ниже задачи.
Сокращение времени загрузки страниц
Объем трафика веб-сайтов уменьшается при медленной загрузке страниц. С помощью CDN можно снизить показатель отказов и увеличить время нахождения пользователей на сайте.
Уменьшение стоимости обеспечения пропускной способности
Покрытие стоимости пропускной способности сети требует значительных затрат, поскольку с каждым входящим запросом на веб-сайт такая пропускная способность снижается. С помощью кэширования и других методов оптимизации сети CDN сокращают количество данных, которые должен предоставить сервер источника, благодаря чему владельцы веб-сайтов могут уменьшить расходы на хостинг.
Повышение доступности контента
Высокая посещаемость или сбои сетевого оборудования могут привести к поломке веб-сайтов. Сервисы CDN могут справиться с большим объемом сетевого трафика и снизить нагрузку на веб-серверы. Кроме того, когда один или несколько серверов CDN отключаются, их могут заменить другие рабочие серверы, таким образом обеспечивая бесперебойное обслуживание.
Повышение безопасности веб-сайтов
Распределенные атаки типа «отказ в обслуживании» (DDoS) пытаются остановить приложения, отправляя большое количество фальшивого трафика на веб-сайты. Сети CDN справляются с пиками трафика, распределяя нагрузку между несколькими промежуточными серверами, что позволяет уменьшить воздействие на сервер источника.
Как развивалась технология CDN?
Технология сети доставки контента (CDN) появилась в конце 1990-х годов с целью обеспечения оперативной доставки контента через Интернет.
Первое поколение
Сервисы CDN первого поколения были ориентированы на принципы интеллектуального управления сетевым трафиком и на центры обработки данных для репликации.
Второе поколение
CDN второго поколения появились в ответ на рост количества сервисов потоковой передачи аудио и видео, особенно видео по запросу и новостей по запросу. Кроме того, эта технология развивалась для решения новых проблем доставки контента на мобильные устройства. Для ускорения доставки контента в компаниях использовались методологии облачных вычислений и одноранговые сети.
Третье поколение
Сети CDN третьего поколения находятся в процессе разработки. AWS внедряет инновации в качестве одного из ведущих поставщиков сервисов CDN в мире. Поскольку большинство веб-сервисов сосредоточены в облаке, основное внимание сегодня уделяется периферийным вычислениям, в частности управлению потребляемой пропускной способностью с помощью смарт-устройств, которые интеллектуально взаимодействуют. Автономные и самостоятельно управляемые периферийные сети могут стать следующим этапом в технологии CDN.
Какой интернет-контент могут доставлять сети CDN?
Сеть доставки контента (CDN) может передавать два типа контента: статический и динамический.
Статический контент
Статический контент – это данные веб-сайтов, которые не меняются от пользователя к пользователю. Изображения заголовков, логотипы и стили шрифтов на веб-сайтах остаются неизменными для всех пользователей, поскольку компании меняют их достаточно редко. Статические данные не нужно менять, обрабатывать или генерировать, что делает их идеально подходящими для хранения на серверах CDN.
Динамический контент
Динамический контент, такой как ленты новостей в социальных сетях, прогноз погоды, статусы авторизации и сообщения в чатах, отличается для каждого пользователя веб-сайта. Эти данные меняются в зависимости от местоположения, времени авторизации или предпочтений пользователей, поэтому веб-сайт генерирует данные для каждого пользователя и взаимодействия.
В чем состоит принцип работы CDN?
Принцип работы сетей доставки контента (CDN) заключается в открытии точек присутствия (POP) или группы периферийных серверов CDN в нескольких географических местоположениях. Географически распределенная сеть работает на основе принципов кэширования, динамического ускорения и периферийных логических вычислений.
Кэширование
Кэширование – это процесс сохранения нескольких копий одних и тех же данных для обеспечения более быстрого к ним доступа. В сфере вычислительной обработки данных принцип кэширования применяется к любому виду управления памятью и хранилищем. В области технологии CDN этот термин обозначает процесс сохранения статического контента веб-сайтов на различных сетевых серверах. Кэширование в сетях CDN работает указанным ниже образом.
- Посетитель географически удаленного веб-сайта отправляет первый запрос на статический веб-контент.
- Затем запрос достигает сервера интернет-приложения или источника. Сервер источника отправляет ответ удаленному посетителю. Кроме того, он параллельно высылает копию ответа точке присутствия (POP) сети CDN, расположенной в непосредственной географической близости к посетителю сайта.
- Сервер точки присутствия (POP) сети CDN сохраняет копию в качестве кэшированного файла.
- В следующий раз, когда этот или любой другой посетитель из этого местоположения отправит аналогичный запрос, кэширующий сервер вышлет им ответ вместо сервера источника.
Динамическое ускорение
Динамическое ускорение – это сокращение времени отклика серверов на запросы на динамический веб-контент с помощью промежуточных серверов CDN между интернет-приложениями и клиентами. Кэширование работает с динамическим веб-контентом неэффективно, поскольку он меняется для каждого запроса пользователя. Серверам CDN нужно повторно подключаться к серверу источника для каждого запроса на динамический контент, но они ускоряют этот процесс, оптимизируя подключение между собой и серверами источника.
Если клиент отправит динамический запрос непосредственно на веб-сервер через Интернет, он может потеряться или прийти с опозданием из-за задержки в сети. Также время может быть потрачено на открытие и закрытие подключения для проверки безопасности. С другой стороны, если сервер CDN, находящийся в непосредственной близости, отправляет запрос на сервер источника, между ними уже будет установлено постоянное надежное подключение. Например, в дальнейшем подключение между ними можно оптимизировать благодаря перечисленным ниже возможностям.
- Алгоритмы для интеллектуальной маршрутизации
- Географическая близость к источнику
- Способность обработки запросов клиентов, что позволяет уменьшить их размер
Периферийные логические вычисления
Периферийный сервер CDN можно запрограммировать на выполнение логических вычислений, чтобы упростить передачу данных между клиентом и сервером. Например, этот сервер может выполнять следующие задачи:
- мониторинг запросов пользователей и изменение поведения кэширования;
- проверка и устранение неправильных запросов пользователей;
- изменение или оптимизация контента перед отправкой ответа.
Распределение логики приложения между веб-серверами и периферией сети позволяет разработчикам избавиться от требований к вычислениям серверов источника и повысить производительность веб-сайтов.
Для чего используется CDN?
Сеть доставки контента (CDN) помогает улучшить привычные функции веб-сайтов и повысить удовлетворенность клиентов. Ниже приведены некоторые примеры использования.
Высокоскоростная доставка контента
Соединив доставку статического и динамического интернет-контента, с помощью сетей CDN вы можете предоставить своим клиентам возможность пользоваться функционалом глобального высокопроизводительного сайта. Например, Reuters – крупнейший в мире оптовый поставщик информационных сводок для таких ведущих новостных каналов, как BBC, CNN, New York Times и Washington Post. Основная задача Reuters как агентства новостей – оперативная доставка новостного контента клиентам со всего мира. Reuters использует сервис CDN Amazon CloudFront c Простым сервисом хранения данных Amazon (Amazon S3), чтобы уменьшить зависимость от спутниковой связи и создать экономичную высокодоступную и надежную глобально распределенную сетевую платформу.
Потоковая передача в режиме реального времени
Сети CDN помогают надежно и экономично доставлять высококачественные мультимедийные файлы. Аудио- и видеостриминговые компании используют сети CDN, чтобы решить три задачи: уменьшить стоимость обеспечения пропускной способности, увеличить масштаб и сократить время доставки контента. Например, Hulu – это онлайн-платформа для потоковой передачи видео, принадлежащая Walt Disney Company. Этот сервис использует Amazon CloudFront, чтобы непрерывно транслировать более 20 Гбит/с данных для своей постоянно растущей клиентской базы.
Масштабирование пользователей
Сети CDN позволяют поддерживать большое количество одновременных пользователей. Ресурсы веб-сайтов могут справиться только с ограниченным количеством одновременных подключений клиентов. С помощью сетей CDN можно оперативно его увеличить, приняв на себя нагрузку от серверов приложений. Например, King – компания, которая занимается разработкой кроссплатформенных игр на основе социальных сетей, в которые можно играть в любое время, в любом месте и на любом устройстве. Более 350 миллионов геймеров играют в 10,6 миллиардов игр компании King в день на их платформе.
Игровые приложения King записывают игровые данные пользователей в центральных центрах обработки данных, благодаря чему они могут играть на разных устройствах, не теряя при этом своих достижений. Центры обработки данных нацелены на то, чтобы обеспечить пользователям единую среду, даже если они подключаются к играм со старого устройства с ограниченной пропускной способностью.
King использует Amazon CloudFront, чтобы доставлять сотни терабайтов контента ежедневно и справляться с резким возрастанием трафика, который достигает половины петабайта и более во время запуска новых игр или крупномасштабных маркетинговых программ.
Что такое Amazon CloudFront?
Amazon CloudFront – это сервис сети доставки контента (CDN), созданный для высокой производительности, безопасности и удобства разработчиков. С помощью Amazon CloudFront вы сможете выполнять нижеперечисленные задачи.
- Доставка данных через более чем 275 распределенных по всему миру точек присутствия (PoPs) с автоматизированной привязкой к сети и интеллектуальной маршрутизацией.
- Повышение уровня безопасности с помощью шифрования трафика и контроля доступа, а также бесплатное использование AWS Shield стандартный для защиты распределенных атак типа «отказ в обслуживании» (DDoS).
- Настраивание кода, запускаемого на периферии сети AWS, с помощью функции бессерверных вычислений, чтобы сбалансировать стоимость, производительность и надежность.
- Автоматическая масштабируемость для быстрой доставки обновлений программного обеспечения, исправлений игр и IoT.
Начните разработку с помощью AWS CloudFront благодаря бесплатной исходящей передаче данных объемом 50 ГБ на 12 месяцев. Создайте бесплатный аккаунт AWS сегодня.
Что такое CDN и как это работает? / Хабр
Цифры и факты (вместо введения)
- В 2010 году средний размер веб-страницы составлял 481 кБ. В 2019 — уже 1936.7 кБ (подробная статистика). За последние три года значение этого показателя выросло на 314.7%. Как показывают исследования, тенденция к увеличению размера веб-страниц сохраняется.
- В настоящее время набирают популярность стриминговые аудио- и видеосервисы. По состоянию на апрель 2019 года число подписчиков популярного сервиса Spotify составило 217 миллионов.
- По данным опросов 25% пользователей уходят с веб-страницы, если она загружается дольше 4 секунд. 74% пользователей, загружающих сайт с мобильного устройства, предпочитают не ждать, если загрузка длится более 5 секунд. 46% пользователей отказываются иметь дело с веб-сервисом, если он медленно работает.
О чём свидетельствуют вышеприведенные факты?
О том, что в Интернете с каждым годом становится все больше «тяжелого» контента.
А также о том, что в современном мире огромную роль играет скорость работы веб-сайтов и сервисов. Если скорость слишком мала ― это чревато потерей аудитории, а во многих случаях ― ещё и прибыли. Один из надёжных способов решения этой проблемы ― использование сетей доставки контента (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? — Объяснение сети доставки контента
Что такое CDN?
Сеть доставки контента (CDN) — это сеть взаимосвязанных серверов, которая ускоряет загрузку веб-страниц для приложений с большим объемом данных. CDN может обозначать сеть доставки контента или сеть распространения контента. Когда пользователь посещает веб-сайт, данные с сервера этого веб-сайта должны пройти через Интернет, чтобы достичь компьютера пользователя. Если пользователь находится далеко от этого сервера, загрузка большого файла, такого как видео или изображение веб-сайта, займет много времени. Вместо этого контент веб-сайта хранится на серверах CDN, географически ближе к пользователям, и гораздо быстрее достигает их компьютеров.
Почему сеть CDN важна?
Основная цель сети доставки контента (CDN) — уменьшить задержку или уменьшить задержку связи, обусловленную конструкцией сети. Из-за глобальной и сложной природы Интернета коммуникационный трафик между веб-сайтами (серверами) и их пользователями (клиентами) должен перемещаться на большие физические расстояния. Связь также двусторонняя: запросы идут от клиента к серверу, а ответы возвращаются.
CDN повышает эффективность за счет использования промежуточных серверов между клиентом и сервером веб-сайта. Эти серверы CDN управляют некоторыми взаимодействиями между клиентом и сервером. Они уменьшают веб-трафик к веб-серверу, снижают потребление полосы пропускания и улучшают взаимодействие с пользователем ваших приложений.
Каковы преимущества CDN?
Сети доставки контента (CDN) предоставляют множество преимуществ, повышающих производительность веб-сайта и поддерживающих базовую сетевую инфраструктуру. Например, CDN может выполнять следующие задачи:
Сократить время загрузки страницы
Трафик веб-сайта может уменьшиться, если время загрузки вашей страницы слишком медленное. CDN может снизить показатель отказов и увеличить время, которое пользователи проводят на вашем сайте.
Снижение затрат на пропускную способность
Затраты на пропускную способность являются значительными расходами, поскольку каждый входящий запрос веб-сайта потребляет пропускную способность сети. Благодаря кэшированию и другим оптимизациям CDN могут уменьшить объем данных, которые должен предоставлять исходный сервер, что снижает затраты на хостинг для владельцев веб-сайтов.
Повышение доступности контента
Слишком много посетителей одновременно или сбои сетевого оборудования могут привести к сбою веб-сайта. Службы CDN могут обрабатывать больше веб-трафика и снижать нагрузку на веб-серверы. Кроме того, если один или несколько серверов CDN отключаются, другие работающие серверы могут заменить их, чтобы обеспечить бесперебойную работу.
Повышение безопасности веб-сайта
Распределенные атаки типа «отказ в обслуживании» (DDoS) пытаются вывести из строя приложения, отправляя на веб-сайт большие объемы фальшивого трафика. CDN могут справляться с такими всплесками трафика, распределяя нагрузку между несколькими промежуточными серверами, уменьшая влияние на исходный сервер.
Какова история технологии CDN?
Технология сети доставки контента (CDN) появилась в конце 1990-х годов с упором на более быструю доставку контента через Интернет:
Первое поколение
Услуги CDN первого поколения, ориентированные на сетевые принципы интеллектуального управления сетевым трафиком и центры обработки данных для репликации .
Второе поколение
CDN второго поколения возникли в ответ на рост услуг потоковой передачи аудио и видео, особенно видео по запросу и новостей по запросу. Эта технология также развивалась для решения новых задач доставки контента на мобильные устройства. Компании использовали методы облачных вычислений и одноранговые сети для ускорения доставки контента.
Третье поколение
CDN третьего поколения все еще развиваются. AWS продвигает инновации как один из ведущих поставщиков услуг CDN в мире. Поскольку большинство веб-сервисов централизовано в облаке, теперь основное внимание уделяется периферийным вычислениям — управлению потреблением пропускной способности с помощью интеллектуальных устройств, которые обмениваются данными интеллектуально. Автономные и самоуправляемые пограничные сети могут стать следующим шагом в технологии CDN.
Какой интернет-контент может доставлять CDN?
Сеть доставки контента (CDN) может доставлять контент двух типов: статический контент и динамический контент.
Статическое содержимое
Статическое содержимое — это данные веб-сайта, которые не меняются от пользователя к пользователю. Изображения шапки веб-сайта, логотипы и стили шрифтов остаются одинаковыми для всех пользователей, и бизнес не меняет их часто. Статические данные не нужно изменять, обрабатывать или генерировать, и они идеально подходят для хранения в CDN.
Динамический контент
Динамический контент, такой как ленты новостей социальных сетей, отчеты о погоде, статус входа в систему и сообщения чата, различаются у разных пользователей веб-сайта. Эти данные изменяются в зависимости от местоположения пользователя, времени входа в систему или пользовательских предпочтений, и веб-сайт должен генерировать данные для каждого пользователя и каждого взаимодействия с ним.
Как работает CDN?
Сети доставки контента (CDN) работают путем создания точки присутствия (POP) или группы пограничных серверов CDN в нескольких географических точках. Эта географически распределенная сеть работает на принципах кэширования, динамического ускорения и вычислений граничной логики.
Кэширование
Кэширование — это процесс хранения нескольких копий одних и тех же данных для более быстрого доступа к ним. В вычислениях принцип кэширования применяется ко всем типам управления памятью и хранилищем. В технологии CDN этот термин относится к процессу хранения статического содержимого веб-сайта на нескольких серверах в сети. Кэширование в CDN работает следующим образом:
- Посетитель географически удаленного веб-сайта делает первый запрос статического веб-контента с вашего сайта.
- Запрос достигает вашего сервера веб-приложений или исходного сервера. Исходный сервер отправляет ответ удаленному посетителю. В то же время он также отправляет копию ответа на точку присутствия CDN, географически ближайшую к этому посетителю.
- POP-сервер CDN сохраняет копию в виде кэшированного файла.
- В следующий раз, когда этот посетитель или любой другой посетитель в этом месте сделает тот же запрос, сервер кэширования, а не исходный сервер, отправит ответ.
Динамическое ускорение
Динамическое ускорение — это сокращение времени отклика сервера на запросы динамического веб-контента из-за промежуточного сервера CDN между веб-приложениями и клиентом. Кэширование плохо работает с динамическим веб-контентом, потому что контент может меняться при каждом запросе пользователя. Серверы CDN должны повторно подключаться к исходному серверу для каждого динамического запроса, но они ускоряют процесс, оптимизируя соединение между собой и исходными серверами.
Если клиент отправляет динамический запрос непосредственно на веб-сервер через Интернет, запрос может быть потерян или задержан из-за задержки в сети. Время также может быть потрачено на открытие и закрытие соединения для проверки безопасности. С другой стороны, если ближайший сервер CDN перенаправит запрос на исходный сервер, у них уже будет установлено постоянное доверенное соединение. Например, следующие функции могут дополнительно оптимизировать связь между ними:
- Алгоритмы интеллектуальной маршрутизации
- Географическая близость к месту происхождения
- Возможность обработки клиентского запроса, что уменьшает его размер
Вычисления пограничной логики
Пограничный сервер CDN можно запрограммировать на выполнение логических вычислений, упрощающих связь между клиентом и сервером. Например, этот сервер может выполнять следующие действия:
- Проверять запросы пользователей и изменять поведение кэширования.
- Проверять и обрабатывать неверные запросы пользователей.
- Измените или оптимизируйте содержимое перед ответом.
Распределение логики приложения между веб-серверами и границей сети помогает разработчикам разгрузить вычислительные ресурсы исходных серверов и повысить производительность веб-сайта.
Для чего используется CDN?
Сеть доставки контента (CDN) улучшает обычные функции веб-сайта и повышает удовлетворенность клиентов. Ниже приведены некоторые примеры использования.
Высокоскоростная доставка контента
Комбинируя статическую и динамическую доставку интернет-контента, вы можете использовать CDN, чтобы предоставить своим клиентам глобальную, высокопроизводительную работу всего сайта. Например, Reuters – крупнейший в мире оптовый поставщик новостей для ведущих каналов, таких как BBC, CNN, New York Times и Washington Post. Задача средств массовой информации для Reuters состоит в том, чтобы оперативно доставлять новостной контент клиентам по всему миру. Reuters использует службу CDN Amazon, Amazon CloudFront, с Amazon Simple Storage Service (Amazon S3), чтобы свести к минимуму зависимость от спутниковой связи и создать более дешевую, высокодоступную и безопасную глобально распределенную сетевую платформу.
Потоковая передача в реальном времени
Сети CDN помогают надежно и экономично доставлять мультимедийные файлы с высоким качеством. Компании, занимающиеся потоковой передачей видео и аудио, используют CDN для решения трех задач: снижения затрат на полосу пропускания, увеличения масштаба и сокращения времени доставки. Например, Hulu – это онлайн-платформа потокового видео, принадлежащая компании Walt Disney. Он использует Amazon CloudFront для постоянной потоковой передачи данных со скоростью более 20 Гбит/с своей растущей клиентской базе.
Многопользовательское масштабирование
CDN помогают поддерживать большое количество одновременных пользователей. Ресурсы веб-сайта могут одновременно управлять только ограниченным числом клиентских подключений. CDN могут быстро масштабировать это число, взяв на себя часть нагрузки с сервера приложений. Например, King – это игровая компания, которая создает кроссплатформенные игры с социальными связями, в которые можно играть в любое время, в любом месте и с любого устройства. У King более 350 миллионов игроков в любое время, и они играют на платформе 10,6 миллиарда игр в день.
Игровые приложения King записывают игровые данные пользователей в центральные центры обработки данных, позволяя им играть на разных устройствах без потери прогресса. Центры обработки данных стремятся предоставить пользователям постоянный опыт, даже если пользователи присоединяются к игре на старых машинах с ограниченной пропускной способностью.
Компания King использует Amazon CloudFront для ежедневной доставки сотен терабайт контента, с пиковыми значениями до полпетабайта и более, когда компания запускает новую игру или инициирует крупномасштабную маркетинговую программу.
Что такое Amazon CloudFront?
Amazon CloudFront — это сервис сети доставки контента (CDN), созданный для обеспечения высокой производительности, безопасности и удобства для разработчиков. Вы можете использовать Amazon CloudFront для выполнения следующих задач:
- Передача данных через более чем 450 глобально рассредоточенных точек присутствия (POP) с автоматическим сопоставлением сети и интеллектуальной маршрутизацией.
- Повысьте безопасность с помощью шифрования трафика и контроля доступа, а также используйте AWS Shield Standard для защиты от распределенных атак типа «отказ в обслуживании» (DDoS) без дополнительной оплаты.
- Настройте код, который вы запускаете на границе сети AWS, используя функции бессерверных вычислений, чтобы сбалансировать стоимость, производительность и безопасность.
- Автоматическое масштабирование для доставки программного обеспечения, игровых исправлений и обновлений IoT с высокой скоростью передачи.
Начните разработку на AWS CloudFront с 50 ГБ бесплатной передачи данных в течение 12 месяцев. Создайте бесплатный аккаунт AWS уже сегодня.
Что такое сеть доставки контента (CDN)?
CDN обеспечивают более быструю загрузку, снижение потребления полосы пропускания и многие другие преимущества для веб-издателей:
Улучшение подключения и масштабируемость для веб-издателей: Сеть доставки контента позволяет пользователям сайта быстрее загружать контент. Для веб-издателей это означает большее количество просмотров страниц, всплески трафика, более активное взаимодействие с клиентами и меньшее количество покинутых сайтов.
Снижение потребления полосы пропускания : Веб-узлы взимают с организаций плату за данные, переданные с исходного сервера. Сохраняя копии контента ближе к пользователям, CDN обеспечивает меньшее количество передач данных с исходного сервера, снижая потребление пропускной способности и расходы организации.
Уменьшенная задержка: Задержка относится к задержке между временем, когда данные запрашиваются из системы, и моментом, когда система фактически начинает отправлять их в ответ. Большее расстояние между пользователем, запрашивающим веб-контент, и сервером, доставляющим его, может привести к большей задержке. Поскольку серверы сети доставки контента хранят кэши веб-контента ближе к вашим пользователям, они могут уменьшить задержку и повысить производительность.
Лучшая реакция на всплески трафика: Успешная маркетинговая кампания, ограниченное по времени предложение, видео, ставшее вирусным — события такого типа могут привести к внезапному (ожидаемому или непредвиденному) увеличению спроса на контент. Сети доставки контента используют балансировку нагрузки для распределения этого спроса между серверами, чтобы предотвратить перегрузку любого отдельного сервера. Балансировка нагрузки также помогает не допустить снижения производительности веб-сайта при резком увеличении спроса.
Аутсорсинговая поддержка инфраструктуры: Полагаясь на CDN, организации не нужно тратить время, человеческий капитал или деньги на создание и обслуживание собственной географически распределенной серверной сети.
Повышенная безопасность: сети доставки контента C используют инструменты аналитики и автоматизации, которые могут обнаруживать распределенные атаки типа «отказ в обслуживании» (DDoS), атаки «человек посередине», проблемы с брандмауэром и другие.
Более высокая удовлетворенность пользователей: Медленная загрузка и проблемы с воспроизведением мультимедиа и реагированием приложений являются одними из основных причин, по которым пользователи покидают и/или избегают веб-сайтов.