Что такое cdn сервер
«Распределяй и ускоряй», или зачем вашей компании CDN
Время чтения : 8 минут
Подробно рассказываем, что такое CDN и как она используется. Разбираемся, нужна ли она вашему бизнесу и как правильно выбрать партнера, чтобы получить удовольствие и повышение прибыли в процессе работы.
«Распределяй и ускоряй», или зачем вашей компании CDN
Глоссарий
Что такое CDN
Content Delivery Network (CDN) – это сеть доставки контента, состоящая из геораспределенной серверной и сетевой инфраструктуры. Сеть используется для доставки статического контента в широком географическом регионе.
Использование сетей доставки контента помогает веб-сайтам снизить потребление пропускной способности, а также уменьшить время загрузки страниц. За счет этого экономятся драгоценные секунды, которые необходимо было бы потратить на обработку запроса каждого пользователя в отдельности на ресурсе без CDN.
Принцип работы CDN
Доставка контента при использовании обычного хостинга (без CDN) устроена таким образом:
Что меняет CDN? Она добавляет в эту цепочку еще один очень важный компонент – серверы для кеширования страниц или части контента. Они являются промежуточным звеном между исходным сервером и конечным пользователем, хранят и передают друг другу информацию для быстрой загрузки конечному пользователю. Таким образом, даже если origin сайта находится в Москве, а запрос сделан из Владивостока, пользователь увидит страницу моментально, так как получит ранее закешированные данные от ближайшего к нему сервера сети доставки контента.
Контент загружается из CDN при помощи двух востребованных сегодня технологий:
AnyCast – маршрутизация осуществляется в пределах региона на близлежащие серверы.
GeoDNS – несколько IP-адресов находятся на одном доменном имени. Местоположение пользователя определяется по IP и перенаправляет его в ближайший сервер CDN.
Предоставлением CDN-хостинга занимаются провайдеры. Благодаря тому, что они размещают сеть связанных между собой и занимающихся кешированием серверов в разных точках мира, расстояние между origin и клиентами не влияет на скорость передачи контента.
Настройка и подключение собственной CDN
Какие шаги необходимо сделать для настройки собственного CDN:
Подобное решение потребует значительных затрат. Если компания не располагает достаточными ресурсами или ИТ-директор не считает целесообразным тратить время на дополнительные процессы по настройке, выгоднее приобрести готовое решение у провайдера.
В этом случае настройка и подключение CDN проводится всего в два этапа:
Все! Теперь, например, картинка с сайта https://ваш-адрес.com/im.jpg будет грузиться с адреса https://сdn-адрес.com/im.jpg, а cdn-адрес.com будет взаимодействовать с множеством распределенных по разным точкам мира кеширующих серверов.
Преимущества использования CDN
Плюсы CDN для сайтов и онлайн-сервисов:
Минусы и возможные альтернативы CDN
Одна из проблем, с которой могут столкнуться веб-сервисы, использующие CDN, это вероятность блокировки ресурса «за компанию» с другим ресурсом, который находится на том же сервере. В этом случае рекомендуется обратиться к провайдеру и сменить IP-адрес.
Еще один вероятный минус использования CDN – это задержка кеширования. Этот фактор снижает производительность интернет-приложений, повышает нагрузку на серверную часть, замедляет время выполнения запросов. Решить эту задачу можно регулярной очисткой кеша.
В качестве альтернативы может выступать VPS/VDS-хостинг. Технология обладает идентичными с CDN качествами: масштабируемость, отказоустойчивость, высокий уровень безопасности. Однако управление таким хостингом требует значительных финансовых вливаний, так как для управления придется нанимать штат квалифицированных программистов.
Какие задачи решает CDN и для кого она особенно актуальна
В качестве предварительного резюме можно выделить несколько основных задач, которые с успехом решает CDN. Среди них – ускорение работы онлайн-ресурса, что способствует росту трафика и улучшению позиций в поисковых системах. Также распределительная сеть снижает нагрузку на сервер, обеспечивает защиту от DDoS-атак, делает онлайн-проект более безопасным, дает возможность организовать стабильную работу сайта.
CDN позволит операторам связи, например, экономить на магистральном канале, привлекать дополнительных клиентов при помощи собственной локальной сети CDN. Для проектов, связанных с демонстрацией видео (онлайн-трансляции или видео по запросу), подключение к CDN чуть ли не обязательный шаг в развитии сервиса. Для поддержки высокого качества воспроизведения у пользователей, независимо от географии подключения, необходимо либо вкладывать огромные ресурсы, как финансовые, так и человеческие, в создание инфраструктуры, либо брать их «в аренду» у операторов сетей доставки. Это позволит сосредоточиться на развитии бизнеса и внутренних сервисов, не переживать о росте аудитории и приходящих с ним запросов к ресурсной части проекта и предоставлять стабильное качество видео.
CDN будет особенно актуальна для:
Как скорость загрузки ресурсов влияет на пользовательский опыт
Видео как способ привлечения аудитории
Как ускорить работу веб-ресурсов, учитывая наличие «тяжелого» контента
Чтобы необходимость нагружать сайт «тяжелым» контентом и пользовательский опыт не вступали в противоречие, нужно решать вопрос ускорения веб-ресурса. Иногда проблема медленной загрузки сайта успешно решается без задействования CDN-хостинга. Можно предпринять такие меры:
Но даже грамотно и последовательно выполненная подобная работа не даст гарантий того, что скорость сайта будет увеличена. Так, если компания занимается организацией онлайн-трансляций, масштабных бизнес-конференций и прочих мероприятий, скорость соединения играет для неё ключевую роль. В этом случае поможет только качественный CDN. Благодаря присутствию копии страницы в CDN, пользователь все равно получит запрашиваемую информацию из других узлов сети, даже если откажет сервер или сам сайт.
Чек-лист: на что обратить внимание при выборе CDN-провайдера
SberCloud CDN
SberCloud CDN содержит весь набор стандартных качеств, и выделяется такими особенностями:
Выбирая CDN от SberCloud, клиент может «в том же окне» подключить другие необходимые услуги – например, защищенное объектное хранилище S3 и инструмент для защиты от DDoS-атак.
Резюме
CDN-хостинг позволяет сделать более «быстрым» онлайн-кинотеатр, стриминг, игровой сайт или интернет-магазин, увеличить конверсию, улучшить выдачу в поисковых системах, завоевать доверие еще большей целевой аудитории. Главное, внимательно выбрать провайдера, в надежности которого не придётся сомневаться.
Что Такое CDN? Сеть Доставки Контента: Разъяснения
Что такое CDN? CDN это Сеть Доставки Контента — группа серверов, установленных в разных местах для предоставления веб-контента в широком географическом регионе.
Их также называют «распределительными сетями», и идея состоит в том, чтобы предложить несколько точек присутствия (PoP) за пределами исходного сервера. Это позволяет веб-сайтам лучше управлять трафиком за счёт более быстрой обработки пользовательских запросов, что в целом обеспечивает более приятный опыт.
Вы используете CDN каждый раз, когда заходите на сайт электронной коммерции с большим трафиком, например Amazon, или встречаетесь с друзьями на Facebook. Эти центры обработки данных поддерживают связь между собой, приближая контент к людям, которые в нём нуждаются, независимо от географического расположения отдельных пользователей или главного сервера веб-сайта.
Распространяя системы доставки по большой площади, веб-сайты могут снизить потребление пропускной способности и время загрузки страниц, сэкономив драгоценные секунды времени, которое требуется для обработки запросов нескольких пользователей.
Понимание содержания
Прежде чем говорить о доставке контента, нам нужно знать, что такое контент. Это любой текстовый, аудио и визуальный элемент сайта: текст, изображения, аудиофайлы, видео и многое другое.
Существует два типа контента: статический и динамический. Контент называется статическим, когда его оригинальная версия (входные данные) — это то, что люди действительно видят на странице (выходные данные). Проще говоря, он остаётся неизменным. Сервер предоставляет одинаковые данные каждому пользователю. Процесс прост: пользователь запрашивает файл с веб-сервера, сервер передаёт файл.
Динамический контент — это любой контент, который изменяется в зависимости от запроса. Он персонализирован на разных страницах, в зависимости от запроса пользователя. Одним из примеров динамического контента является страница продукта, которая состоит из названия продукта, описания и цены, включая изображения. Другим примером является веб-страница, которая показывает соответствующую информацию или регистрирует взаимодействие пользователей.
Как работает CDN?
Киберпространство представляет собой достаточно сложную концепцию для обычного пользователя. Сидя у себя дома в Anytown, США, вы вводите запрос в поисковик или веб-адрес в строку URL, нажимаете ввод и ждете.
Из какого-то неизвестного места, далеко от вас, ваш запрос получен. Миллиарды битов информации распределяются между исходным сервером и вашим компьютером или мобильным устройством. Это достаточно сложно для эффективного управления статическим контентом. Большинство веб-страниц содержат сотни элементов, от простого текста до интерактивного мультимедийного контента.
Само собой разумеется, что чем ближе вы находитесь к источнику, тем быстрее ваш запрос может быть удовлетворён.
Запросы обрабатываются любым ближайшим сетевым сервером к компьютеру, выполняющему запрос. Благодаря кэшированию данных и распределению нескольких запросов на одну и ту же информацию по сети, а не по одному серверу, нагрузка на трафик более сбалансирована. Это устраняет проблемы старой школы, такие как медленная загрузка страниц, сбой браузеров и перебои в обслуживании.
Преимущества использования CDN
Преимущества зависят от размера вашего сайта, его местоположения относительно вашего основного источника трафика и объёма генерируемого трафика. Например, местный бизнес с физическим местоположением, которое обслуживает один небольшой географический район, не получит много пользы от CDN.
Однако, если вы владелец бизнеса электронной коммерции, которому нужен более широкий охват, или ваш сайт генерирует большой трафик из разных мест по любой причине, то быстрый и эффективный CDN поможет вам сохранить свои конкурентные преимущества и предоставит тот тип UX, который ищет двигатели и награды клиентов.
Существует четыре основных преимущества использования серверов CDN. Каждый из них основан на другом, чтобы помочь решить проблемы управления сложным контентом и обслуживания трафика большого объёма.
Эффективные сети распространения контента должны выполнять следующие четыре вещи:
1. Уменьшить пропускную способность
Один из самых больших расходов с некоторыми услугами хостинга — пропускная способность. Экономия пропускной способности, необходимой для обработки трафика путём умножения количества точек присутствия, снижает ваши расходы.
Это достигается с помощью инструментов оптимизации, таких как кэширование, которое помещает данные во временное хранилище на разных компьютерах или мобильных устройствах для облегчения доступа.
2. Увеличить скорость
Одним из основных факторов, способствующих высоким показателям отказов (англ), является задержка. Это увеличенное время, необходимое для передачи информации от пользователя к источнику и обратно, и это вызвано:
Многие из этих проблем могут быть решены или, по крайней мере, уменьшены с помощью эффективной сети доставки.
3. Улучшить безопасность
Когда вся передача данных осуществляется с одного сервера, это увеличивает вашу уязвимость к вредоносным событиям, таким как атаки типа «отказ в обслуживании» (DDoS) и другие уязвимости (англ).
Это скоординированный запрос для информации, которая проводится из нескольких мест и пользователей в назначенное время; они также могут производиться автоматически через ботов. Цель состоит в том, чтобы вызвать сбой сервера из-за перегрузок трафика, чтобы сделать политическое заявление или просто ради вреда.
Вы даже можете использовать свой CDN для защиты от хакеров и защиты ваших конфиденциальных данных. Это достижимо, потому что CDN постоянно обновляют сертификаты TLS/SSL (англ), обеспечивая более высокие стандарты аутентификации и шифрования. Они также отклоняют трафик от вашего исходного сервера до прокси.
4. Улучшить распространение контента
Большие нагрузки трафика в сочетании с аппаратными сбоями означают большее время простоя, чем может позволить большинство веб-сайтов. Распределяя нагрузку по нескольким системам доставки контента, вы уменьшите нагрузку на свою инфраструктуру и серверы.
Теперь, кому действительно нужна сеть доставки контента (CDN)? Вот предприятия, которым нужен CDN:
Электронная коммерция
Говоря об электронной коммерции, речь идет о массовом трафике со всего мира. Продукты в большом разнообразии, но у клиентов есть только ограниченное время. Если веб-сайт не может предоставить необходимую информацию с первого взгляда, можно упустить бесчисленные возможности. Электронной коммерции необходим CDN для обработки запросов из разных мест. Здесь CDN может показать своё преимущество. Храня контент на ближайшем сервере и обеспечивая более быстрый отклик, CDN также может предотвратить любые всплески веб-трафика, чтобы не было сбоев на сервере.
Реклама
При адаптации к цифровому миру рекламный бизнес использует мультимедийную рекламу. Они более привлекательны и информативны. Но возникает проблема: мультимедиа требует больше ресурсов. В худшем случае веб-сайт с мультимедийной рекламой загружается очень медленно. Чем медленнее сайт, тем больше клиентов от него отказываются. Рекламные компании нуждаются в CDN, чтобы решить эту проблему. Поскольку CDN хранит содержимое кэша на ближайшем к пользователю сервере, содержимое будет загружаться быстрее. Минимальное время загрузки может быть сохранено, и производительность сайта будет лучше.
Онлайн игры
Если для рекламы требуются большие ресурсы, онлайн-играм требуется ещё больше ресурсов. Это самая большая проблема для игровой индустрии: продолжать предоставлять лучший контент, но в то же время избегать плохой игровой производительности. Технология CDN позволяет сетевым играм иметь «push-зоны» — место, где разработчики могут разместить всю игру на сервере CDN. В этом случае потребность в запросе непосредственно с исходного сервера ставится на минимальное значение.
Развлечения
Контент — это сердце медиа и индустрии развлечений. От загрузки до потоковой передачи развлекательный контент привлекает миллионы людей по всему миру. Владельцы веб-сайтов предоставляют такой контент, чтобы иметь надёжную стратегию, позволяющую поддерживать их веб-сайты в идеальном состоянии. Опять же, кешированный контент CDN является спасителем, помогающим избежать катастрофы. Копии содержимого, хранящегося на нескольких серверах, будут готовы к запросам пользователей в зависимости от их местоположения. Это, безусловно, ускорит обработку контента на основе контента.
Часто задаваемые вопросы о CDN
Если вы скиммер, как многие люди в эти дни, вот некоторая сжатая информация в виде часто задаваемых вопросов о CDN.
Как CDN делает мой сайт быстрее?
Существует три способа, которыми надежный CDN может увеличить время загрузки и общую скорость.
Какие типы сайтов выиграют от CDN?
Любой веб-сайт B2B или B2C, у которого есть пользовательская база за пределами их непосредственного географического местоположения, мог бы извлечь выгоду из CDN. Они также полезны для блоггеров и веб-сайтов с большим объёмом трафика.
CDN безопасны?
Да. Поскольку они развёрнуты на границе более широкой сети, они обеспечивают безопасный буфер между вашим веб-сайтом, трафиком и любыми враждебными субъектами. Думайте о своем CDN как о защитном ограждении, которое окружает периметр вашей серверной сети.
В чем разница между CDN и VPN?
Сети доставки контента ускоряют доставку информации, отправляя и/или сохраняя контент сайта через сеть серверов, позволяя посетителям сайта получать доступ к веб-страницам из ближайшего доступного источника.
Виртуальные частные сети (VPN) защищают личность пользователя и используют ряд серверов в разных местах, чтобы обойти географические и другие ограничения на определённые типы контента. Оба обеспечивают дополнительную безопасность и улучшают доступ, но для разных целей.
CDN это то же, что и хостинг?
CDN не размещают веб-сайты сами по себе, но они могут повысить производительность размещённых серверов, используя кеширование и другие методы оптимизации для экономии пропускной способности. Они также повышают скорость и предотвращают такие проблемы, как нарушение соединения, слабая безопасность и медленная доставка контента.
Сети распространения контента могут даже работать с вашим сервером, потому что хостинг предоставляет вам платформу для размещения вашего основного веб-сайта, а CDN предоставляет прокси-серверы для более эффективного его распространения. Это помогает посетителям лучше, уменьшая ваши затраты на ведение бизнеса.
Работают ли CDN с мобильными устройствами?
Они работают с любым настольным компьютером, ноутбуком или мобильным устройством, которое может быть подключено к интернету. Все процессы выполняются из источника, а не со стороны пользователя.
Все CDN одинаковы?
Популярность CDN и потребность в скорости вызвали бум в бизнесе доставки контента. Как и другие типы поставщиков услуг, не все CDN предлагают одинаковый уровень обслуживания, преимущества или функциональность.
Некоторые CDN являются бесплатными, другие — абонентскими, а некоторые предлагают как платные, так и бесплатные услуги. Посмотрите, что могут предложить крупные поставщики, такие как CloudFare (англ).
Что мне нужно искать в CDN?
Несколько вещей, которые следует учитывать, это ваш бюджет и требования, и это включает в себя ожидаемые потребности в случае будущего роста.
Помимо этих соображений, вот список функций, которые должен иметь любой хороший CDN:
Подведение итогов
Владение веб-сайтом — это увеличение трафика и эффективное управление им.
Исследования показывают, что даже задержка в одну секунду приводит к снижению конверсии на 7 процентов, падению просмотров страниц на 11 процентов и снижению степени удовлетворённости клиентов на 16 процентов (просто спросите Amazon)(англ).
Если вы хотите поддерживать свой уровень обслуживания по мере расширения своего присутствия в интернете, надёжная, масштабируемая сеть доставки контента — это достойное вложение.
Это уменьшит проблему, вызванную задержками, и даст вашим посетителям ту скорость, производительность и согласованность, которые они ожидают от веб-сайта в 21-м веке.
Анна долгое время работала в сфере социальных сетей и меседжеров, но сейчас активно увлеклась созданием и сопровождением сайтов. Она любит узнавать что-то новое и постоянно находится в поиске новинок и обновлений, чтобы делиться ими с миром. Ещё Анна увлекается изучением иностранных языков. Сейчас её увлёк язык программирования!
Что такое 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 и другие).