img29 января 2009 в 01:32

Зачем нам услуги CDN

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

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

Представим себе, что мы -- телеканал, и хотим организовать свое потоковое вещание в Интернете. Вопросы с авторскими правами как-то решили -- например, снимаем все передачи сами. Как будем деньги зарабатывать, придумали -- может быть, мы продаем подписку на каналы как RTVi, или только отдельные передачи как футбольный клуб Локомотив, может быть, рекламу разместили. (о разных вариантах монетизации видео в Интернете см. статью монетизация интернет-вещания). Формат вещания тоже выбрали – либо потоковое вещание (streaming), если, например, предполагается вещание канала, который мы одновременно запускаем в эфир (simulcast), либо загрузка с одновременным показом (progressive downloading), если мы будем распространять отдельные файлы, а, скорее всего, и то, и другое -- в зависимости от вещаемого контента, имеющихся прав и выбранных вариантов защиты от копирования.

Мы ставим сервер, подключаем его к сети Интернет и начинаем вещание. Подключить видеосервер к выделенному каналу мы догадываемся сразу -- как только работа в офисе парализуется из-за перегруженности сети. По мере роста популярности приходится расширять канал связи, ставить новый сервер на внешнем хостинге. Аудитория растет – пора уже ставить отдельный сервер в Москве, отдельный в Петербурге, со своим выделенным каналом между ними. Потом придет очередь других городов, где у нас много зрителей. Для передачи контента на серверы мы где-то используем обычный Интернет, где-то купили выделенную линию, где-то договорились и используем VSAT. Множество сотрудников трудятся не покладая рук, организуя и поддерживая эту сеть и оптимизируя трафик, масса денег потрачена на серверы и каналы связи. Не рады, что и ввязались -- бизнес непрофильный, знаний и специалистов не хватает. Может быть, не стоит так стараться и обеспечивать отличный сервис? Ну, упадет вещание, когда мы транслируем, скажем, Олимпийские Игры или выступление президента -- не беда, по телевизору посмотрят. Вот только при появлении серьезной конкуренции в WEB-TV такой подход не пройдет. Может быть, нам нужен партнер, обеспечивающий доставку нашего контента?

Когда для доставки видео или аудио нужны услуги CDN – сети доставки контента?

Если стоит задача доставить видео до пользователей в разных точках сети интернет надежно и качественно, и нет собственной системы распределенных серверов и выделенных каналов.

История

Компании, занимающиеся оптимизацией доставки контента через Интернет, существуют давно. Есть компании, занимающиеся созданием ускорителей -- уменьшением передаваемого трафика за счет отказа от лишних служебных сообщений и кэширования повторяющейся информации. Такой подход очень помогает, если IP-пакеты в сети идут долго -- например, в случае спутникового Интернета. Есть компании, организующие систему зеркал, когда одинаковый контент хранится на разных серверах, и при скачивании файла можно выбирать, с какого именно сервера скачивать. Такой подход удобен для передачи больших файлов. Оба вышеописанных способа оптимизации предполагают хранение информации, и поскольку память дешевеет, это становится все более целесообразным. Дополнительно разрабатываются алгоритмы, которые автоматизируют выбор между серверами, причем эти алгоритмы "прозрачные" -- пользователь не видит, как именно маршрутизируется его запрос, и кто именно ему отвечает. Он обращается к одному и тому же адресу -- например, набирает youtube.com, а где физически расположен сервер, проигрывающий ему флэш-ролик, он не знает.

В последние годы активно стало развиваться распространение видео в Интернете, и вопрос о технологиях для качественной доставки видео пользователю встал очень остро. Во-первых, видео -- "тяжелый" контент, файлы передаются очень большие. Во-вторых, видео во многих случаях нужно передавать "вживую", в варианте потокового вещания. При варианте закачки с последующим просмотром проблемы задержки пакетов в сети еще хоть как-то могут быть скомпенсированы -- в конце концов можно скачивать 5-минутное видео три часа, и потом посмотреть его без прерываний и замираний, но если идет живое потоковое вещание, скорость доставки должна соответствовать скорости потока. В Интернете же никто не может гарантировать скорости доставки информации от точки А к точке В, поскольку пакеты идут через несколько промежуточных серверов (запустите команду tracert чтобы посмотреть как идет запрос, и www.speedtest.net чтобы увидеть время доставки из разных точек сети). Путь доставки обычно не контролируется ни пользователем, ни вещателем -- он определяется правилами маршрутизации для данного участка сети. На каждой промежуточной точке маршрута заголовки пакетов просматриваются и переписываются -- указывается адрес следующего узла, поэтому каждая промежуточная точка (хоп) замедляет прохождение информации, а если этих хопов, скажем, больше 30, пакет и вовсе выбрасывается как просроченный.

Что такое CDN

СDN – система надежной доставки контента до пользователя. Сервис-провайдер, предоставляющий услуги CDN, берется быстро и без потерь доставить статический контент и потоковое видео максимально близко к потребителю. В лучшем случае контент доставляется на сервер в датацентре Интернет-провайдера (ISP) клиента. Если у CDN нет своего сервера у ISP, контент будет загружаться с других ближайших серверов. Для распределения контента на систему серверов используется своя выделенная сеть или сеть Интернет, при этом раздача контента по серверам CDN тоже оптимизируется. Используются коммутаторы, которые работают не только на 2-м канальном уровне, но и на более высоких, соединяя отдельной виртуальной сетью кэшируюшие сервера.

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

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

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

Три вида распространения контента

Услугами CDN чаще всего пользуются, когда имеют дело с тремя видами распространения контента.

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

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

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

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

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

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

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

Оплата за трафик

У нас в России пока WEB-TV не очень развито, коммерческих проектов совсем мало, поэтому и сети доставки контента, занимающиеся именно видеотрафиком, только стали появляться. Мне известны только две -- Ngenix и RuCDN. В США такие сети существуют уже лет 15, их количество в последние годы стремительно растет (см. www.cdnlist.com), и в 2008 году их чистый доход составил порядка 400 млн долл (см www.CDNpricing.com). Зарабатывают эти компании значительно больше, но на создание и поддержание инфраструктуры сети тратится тоже много.

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

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

Пусть наш телеканал вещается в стандартном разрешении по эфиру в потоке около 3 мбит/сек, но для Интернета мы занизим битрейт до 500 кбит/сек -- качество будет так себе, зато больше людей смогут смотреть. Допустим, двухчасовую трансляцию футбольного матча через Интернет посмотрело 1000 человек. Это значит, что мы распространили 500 кбит/сек *2*3600 сек*1000 = 450ГБ. При цене $0.55 за ГБ (средние цены см. на www.CDNpricing.com) нам нужно будет заплатить провайдеру 247 долл. Локомотив продает просмотры футбольных трансляций по цене около 150 руб, то есть 1000 зрителей заплатят около 5 тыс долларов. За доставку уйдет около 5% этой отплаты.

Я, например, иногда слушаю радио в Интернете. Канал jazz24.org распространяется через CDN -провайдера Abacast. Если радио играет у меня 5 часов в день, скорость потока 64кбит/сек и радиостанция платит CDN по цене $0.55 за GB, то я им обхожусь где-то в 8 центов в день. Пойду кликну на баннер..

Пример. Олимпиада в Пекине -- крупнейший медиапроект в Интернете

В 2008 году канал NBC впервые организовал Интернет-вещание олимпийских игр в Пекине для жителей США. Основной партнер по организации доставки контента -- Limelight, в проекте участвовала также CDN Level 3. Проект был действительно уникален по нагрузке на сеть. Для сравнения -- на предыдущей Олимпиаде для распространения в Интернете было подготовлено 2 часа потокового вещания (live) и 20 часов для on demand. На Пекинской олимпиаде было подготовлено 2200 часов потокового вещания -- до 35 каналов вещания одновременно (25 видов спорта за 17 дней олимпиады, плюс 2 дня – церемонии закрытия и открытия) и 5500 отдельных клипов для просмотра по запросу. Ставилась амбициозная задача -- показать ВСЕ и в отличном качестве. Настольный теннис смотрят меньше, чем футбол, и обычные телеканалы поэтому показывают именно футбол, к огорчению любителей менее популярных видов спорта. Интернет-вещание дало возможность жителям США смотреть то, что они хотят. Кроме того, была возможность видеть на экране несколько видеоканалов, показывающих разные соревнования или одно событие с разных точек -- PiP. В час производилось до 18 Гб контента.

Процесс был организован так -- съемочные группы снимают все соревнования на несколько камер, контент собирается на сервере, монтируется, добавляются подробные метаданные, видео кодируется -- ужимается до 1.5 мб/сек и отправляется в США по собственной сети Limelight.

Подготовка вещания "в реальном времени" занимала от 15 до 30 минут, но зато в сеть шли уже подготовленные ролики с метаданными, дающими возможность автоматизировать часть последующей работы. При таком большом количестве видеоматериала это было очень важно. В студии в Нью-Йорке из этого видеоматериала дополнительно готовились каналы с лучшими моментами дня и ролики для просмотра по запросу.

В результате видео выкладывалось и транслировалось в потоковом вещании с www.nbcolympics.com с качеством от 650 Kbps до 1500 Kbps (adaptive streaming без буферизации). На сайте все еще лежит видеоматериал, подготовленный для просмотра по запросу, но не пытайтесь посмотреть из России -- вам предложат поставить последнюю версию Silverlight и после этого покажут только рекламный ролик. NBS покупало права на вещание Олимпиады в Интернете только для США, но и этой аудитории им вполне хватило -- более 1.3 мрд просмотров страниц, из них 35 млн с мобильных устройств, 50 млн уникальных посетителей, 10 млн часов просмотра за 17 дней олимпиады, и удивительно высокое для интернета среднее время просмотра одним пользователем – 27 минут. Без специальной организации распределения нагрузки к вещательным серверам тут было не обойтись, и использованные CDN (Limelight и Level 3) справились очень хорошо.

(прим ред: Посмотреть 40-минутную видеопрезентацию этого проекта, сделанную на конференции Limelight, можно в формате flash на сайте dminnovationforum.com, доклад A Behind-the-Scenes Look at the First Live Online Coverage of the Olympic Games. Частично текст презентации выложен в блоге Limelight)

Перспективы

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

В последние годы просматривается новая тенденция в развитии CDN -- этим бизнесом стали заниматься операторы телекоммуникационных сетей. Вобщем-то, это понятно -- существует достаточно много телекоммуникационных операторов, имеющих свою магистральную сеть и предоставляющих услуги ШПД на очень больших территориях (например, ТрансТелеКом). В ряде случаев у таких операторов даже есть производство собственных видеоканалов -- как, например, у СММ. Для начала такие операторы могут использовать сторонние CDN, но вполне способны построить свою инфраструктуру или купить готовую CDN-компанию и продавать соответствующие услуги. В США примеры операторов, развивающих CDN -- ATT, Level3, Verizon.

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

Подписка на рассылку

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