cdn что это такое

Что такое CDN и нужен ли он вашему сайту

Скорость загрузки контента — показатель, который влияет на лояльность пользователей и позицию сайта в поисковых системах. Согласно информации Google, медленная скорость загрузки увеличивает число отказов (уходов пользователей). Так, если страница загружается 6 секунд, оно достигает 106%.

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

Что такое CDN и как это работает

Как устроена передача данных на обычном хостинге:

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

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

Рассмотрим, в решении каких задач помогает CDN-хостинг.

1. Увеличивает скорость загрузки сайта

Предположим, у вашего проекта большая аудитория, и на сайт заходят люди из разных стран. Если все файлы хранятся на одном сервере, который расположен, например, в Польше, скорость загрузки сайта будет отличаться по мере удалённости от сервера. Те, кто живут поблизости (жители Белоруссии, Украины), будут получать контент с хорошей скоростью.

Но если посетитель живёт на Дальнем Востоке: в Хабаровске (7 202 км от Польши), на Камчатке (7 459 км от Польши) или на Сахалине (7 521 км от Польши), он будет долго ждать загрузки контента.

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

2. Разгружает основной сервер

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

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

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

3. Повышает безопасность

Если вы храните данные только на одном сервере, это делает ваш сайт менее устойчивым к кибератакам, например, к DDoS (Distributed Denial of Service). В этом случае злоумышленники будут бомбардировать сервер массой запросов/обращений, чтобы вызвать перебои в его работе. Когда сервер «ляжет», сайт будет недоступен.

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

Каким сайтам нужен CDN

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

Если проблемы со скоростью загрузки сайта всё-таки есть, попробуйте решить их с помощью программистов:

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

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

Кому не обойтись без CDN:

Как используют CDN

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

Магазин техники «М.Видео» также использует CDN-хостинг. В отличие от Ozon, его файлы содержатся на нескольких серверах, поэтому один и тот же контент доступен по разным адресам. Например:

Популярные CDN-провайдеры

На CDN-хостинге специализируются многие компании. Мы расскажем о четырёх наиболее популярных.

CDNvideo — провайдер услуг в России и СНГ. Узлы сети (CDN-серверы) установлены в 20 городах РФ, на Украине, в Казахстане, Молдавии, Германии, Нидерландах, США и других странах. Согласно исследованию iKS-Consulting «Облачный провайдинг 2018–2022: экономика, стратегия, бизнес-модели» от 2019 года, компания заняла первое место на рынке CDN-провайдеров с долей 38,6%.

Cloudflare CDN — сеть, которая охватывает 200 городов в 100 странах. Другой важный момент: серверы обрабатывают не только статический, но и динамический контент. Ещё и базовые функции предоставляются бесплатно.

selectel.ru — российский CDN-провайдер. Вы платите за количество ТБ: чем больше трафик на серверы, тем меньше стоимость одного Гб. Компания предоставляет свои серверы и CDN зарубежного партнёра, Akamai. Вторые стоят дороже, отличаются высокой пропускной способностью и большим количеством точек присутствия.

Amazon Cloudfront — 216 точек присутствия. Подходит для кеширования статических и динамических файлов, прямой трансляции видео. Сервис бесплатный первый год и за счёт медийности компании сотрудничает с известными брендами (Canon, Slack и др.).

Клиенты RU-CENTER, которые приобрели или собираются купить лицензию 1C-Битрикс, могут подключить CDN-модуль автоматически и пользоваться им бесплатно. Подробности вы можете узнать из описания 1С-Битрикс.

Подытожим

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

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

Источник

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

Главная задача отдела эксплуатации Sports.ru и Tribuna.com — масштабирование сетевой инфраструктуры в условиях постоянного роста трафика (за 1,5 года трафик и кол-во запросов в секунду выросло в два раза), регулярных пиковых нагрузок и аудитории, распределенной по разным странам. Для решения этой задачи мы используем разные технологии; одна из них — создание собственной CDN (сети доставки контента), которая позволяет сократить нагрузку, усилить защиту от DDoS-a и ускоряет загрузку сайта в удаленных регионах. Мы решили поделиться своим опытом в этой области и составили краткое практическое руководство для системных администраторов по разворачиванию и эксплуатации своей CDN.

I. Теория.

1. Терминология.

Сеть доставки (и дистрибуции) контента (англ. Content Delivery Network или Content Distribution Network, CDN) — географически распределённая сетевая инфраструктура, позволяющая оптимизировать доставку и дистрибуцию контента конечным пользователям в сети Интернет. Использование контент-провайдерами CDN способствует увеличению скорости загрузки интернет-пользователями аудио-, видео-, программного, игрового и других видов цифрового контента в точках присутствия сети CDN.

Так говорит нам всезнающая wikipedia. Но как же устроена эта CDN? Давайте сразу определимся со склонениями. CDN — это бла-бла-бла сеть. Сеть — женского рода, соответственно склоняем аббревиатуру в женском роде.

С точки зрения как это работает, можно написать следующую формулу:

О anycast можно прочитать здесь ru.wikipedia.org/wiki/Anycast, если кому-то нужно вспомнить что такое Proxy-server, пробелы в знаниях можно восполнить тут: ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BA%D1%81%D0%B8-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80

Фактически это технология сводится к анонсированию сетевого адреса, в который резолвится сайт, помещенный в CDN, из этих “географически распределённых мест” и проксированию запросов к условному одному серверу.

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

Кажется сложным и непонятным? На самом деле это проще чем кажется, ниже всё будет описано более подробно.

2. Почему свой CDN, а не консалтинг.

Возникает вопрос, а для чего же делать свою CDN? Много прекрасных CDN-сетей, используй.
Во-первых, это не наш метод 😉
Во-вторых, эти сети уже построены, и не факт, что они подходят вам по распределенности на все сто. В случае своей CDN мы вольны где угодно размещать её узлы.
В-третьих, мы вкладываем деньги в свою инфраструктуру, а не в чужую.
В-четвёртных, настроить свою CDN мы можем как угодно. Кешировать можно не только статические данные, но и динамические, например, данные для аннонимусов или общие данные. Такой гибкости нам ни одна коммерческая сеть в полном объёме не даст.

3. Профит от использования.

Итак, что же конкретно можно получить от своей CDN-сети:

Скорость загрузки/сокращение трафика.
Размещая данные ближе к пользователю можно рассчитывать на то, что эти данные он быстрее получит. Логично. Что с сокращением трафика? Кеширование данных на узлах, позволяет сократить число обращений к “главному серверу”. Плюс, мы можем всегда передавать сжатые данные от главного сервера к узлу CDN, в keepalive-соединениях. Можно настроить узел CDN так, чтобы конкурирующий запросы, которые мы кешируем, не выполнялись параллельно. Это тоже позволяет экономить трафик и процессорное время на “главном сервере”. В случае sports.ru это всё в сумме позволяет сократить число запросов и трафик в 3,5 раза к “главному серверу”.
Так же узел CDN является прекрасным местом для размещения DNS-slave сервера. Собственно, по тем же причинам.

II. Практика.

4. Необходимые условия.

Для того, чтобы сделать свой сервер CDN нам понадобится сам сервер, своя AS ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D0%BE%D0%BD%D0%BE%D0%BC%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_(%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82) и свободный ip-routenum, в котором мы и будем размещать свой CDN. Свободных IPv4 — сетей уже практически не осталось, но никто не мешает использовать эту статью для IPv6 истории 🙂

Нужно ещё будет как-то проксировать и сохранять ответы приходящих запросов.
Отказоустойчивость будем решать тем фактом, что Proxy и Anycast будем собирать на одном сервере. Если по каким-то причинам он отключится, это никак не повлияет на всю CDN в целом. Естественно, таких серверов должно быть как можно больше 😉

5. How To.

Для реализации всего задуманного потребуется потребуется сервер с несколькими физическими ядрами для распределение нагрузки сетевой карты на каждое ядро. Достаточное количество оперативной памяти для помещения всего кеша в рамдиск. Мы же не хотим нагружать диски на сервере за тридевять земель? 😉 Сетевая карта с поддержкой распределения нагрузки на разные ядра процессора, для того чтобы иметь большую пакетную производительность. И RAID1 на SATA дисках для пущей надёжности.

А ещё это дело надо правильно настроить, чтобы заставить работать в полною силу. Тюнингу под большие веб-нагрузки и выжиманию всех соков из железа хорошо подходит FreeBSD 9.x. Можно использовать и Linux, но в плане прозрачноcти и простоты настройки, единого типа конфигов в моём личном рейтинге выигрывает FreeBSD.
Чтобы не повторятся приведу примеры дельных рекомендаций по настройки FreeBSD под аналогичный тип нагрузки:

или погууглить на соответствующую тему.

Анонсируемую сеть или часть этой сети я предлагаю разместить на интерфейсе локальной петли:

добавляем строчки в /etc/rc.conf:

ifconfig_lo0_alias0=«inet /32»
ifconfig_lo0_alias1=«inet /32»

и, конечно, не забыть включить маршрутизацию:

добавляем строчки в /etc/sysctl.conf:

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

добавляем строчки в /boot/loader.conf:

tmpfs /mnt/tmpfs tmpfs rw,mode=777 0 0

Он обладает всем необходимым функционалом и просто настраивается. Скупая информация о нём в интернете нивелируется подробным Man-ом. Так же он может интегрироваться с пакетным фильтром PF, если нам захочется использовать его. Вот простой конфиг, который будет делать всё, что необходимо:

Перейдём к настройке Nginx. Фактически нам необходимо настроить на Nginx кешируюший статику proxy-сервер c агрегацией и сжатием остальных запросов и кеширумых данных.

Не забываем при сборке Nginx указать сборку с модулем gunzip, для разжимания данных для клиентов, не поддерживающих сжатие.

Если по каким-то причинам не нужно кешировать динамические запросы на сайте, выключаем кеширование в секции location /. Раскешировать статические данные можно, изменив в них GET-парамметр, например, указывая номер ревизии.

Bind.
Тут всё просто, устанавливаем и добавляем строчки в named.conf:

Не забываем разрешить скачивание всей DNS-зоны c мастер-сервера.

That’s all! CDN-сервер настроен. Немного будет переделок, если захочется CDN-нить ещё несколько сайтов 😉

Источник

Быстрый сайт, высокие позиции в поиске, бесперебойный стриминг: для чего нужна сеть доставки контента

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

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

Что такое CDN: смотрим на примерах

CDN (сеть доставки контента) — это специальная система для ускорения доставки контента пользователям.

Например, серверная часть приложения размещена в дата-центре в Москве, а пользователи приложения живут по всей России: от Калининграда до Владивостока. Чем дальше пользователь от столицы — тем дольше приложение обменивается с сервером данными и «тормозит». Чтобы ускорить загрузку, данные, которые загружает приложение, дублируют на серверах, размещенных в разных географических зонах. В итоге пользователи быстро подгружают нужные данные вне зависимости от региона.

С помощью CDN можно быстро доставлять пользователям любой контент, например:

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

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

Без CDN

cdn что это такое. Смотреть фото cdn что это такое. Смотреть картинку cdn что это такое. Картинка про cdn что это такое. Фото cdn что это такое

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

С CDN

cdn что это такое. Смотреть фото cdn что это такое. Смотреть картинку cdn что это такое. Картинка про cdn что это такое. Фото cdn что это такое

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

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

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

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

Компании чаще получают CDN в виде услуги

Как следует из принципа работы технологии, CDN включает в себя большое количество серверов, находящихся в ЦОДах, и соединяющие их каналы — желательно, чтобы они были зарезервированы, то есть сдублированы. Если ваши клиенты живут в разных точках земного шара, то серверы и каналы должны располагаться по всему миру. Немногие компании могут позволить себе содержать такую инфраструктуру.

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

В каких случаях нужно подключать CDN

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

Интернет-магазины. Скорость загрузки страниц влияет на продажи. Есть очевидное прямое влияние: если сайт долго грузится, клиенты его закрывают. По рекомендациям Google, в 2020 году оптимальное время загрузки сайта — до 3 секунд. При этом 40% покупателей, зашедших в интернет-магазин с мобильного, не готовы ждать более 6 секунд.

cdn что это такое. Смотреть фото cdn что это такое. Смотреть картинку cdn что это такое. Картинка про cdn что это такое. Фото cdn что это такое

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

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

cdn что это такое. Смотреть фото cdn что это такое. Смотреть картинку cdn что это такое. Картинка про cdn что это такое. Фото cdn что это такое

С помощью CDN контент приложений и обновления с сервера-источника быстро доставляют компьютеры и мобильные устройства пользователей

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *