Давайте продолжим про экономику CDN и про то, а зачем вообще строить своё.
Про то, как устроена CDN у меня целый доклад есть с SaintHighload, но там в 30+ минут влезло не всё.
Грамотно расположить CDN-локации не так уж просто. Нет, разумеется, если нужна "точка на карте", и маркетинговый бюджет позволяет (потому что продукт в здравом уме на такое не подпишется), то можно хоть каждому провайдеру на планете по железке закинуть, а то и не по одной. Но строят CDN компании всё-таки коммерческие, хоть и для разных целей, поэтому косты считают все.
-
С серверами всё понятно - для жирных узлов это какие-нибудь AMD EPYC с большим количеством оперативки и nvme-дисками. 100-200-400 гигабит с сервера, в зависимости от типа трафика, оптимизации софта и некоторых других факторов. В локации поменьше можно ссылать более старые/медленные железки, экономя капекс. Идеальный сценарий - когда сервер под кэш предоставляет провайдер бесплатно, или за символическую денежку. Но такое бывает редко, и обычно сами провайдеры просят, чтобы им поставили сервер - бесплатно, разумеется.
-
С сетевым тоже всё ясно. На больших узлах, где много провайдеров и много серверов без него не обойтись. Там где 1-2 сервака и столько же аплинков, свич, как правило, не нужен. Но косты всё ещё понятные, хотя и для каждой компании свои, в зависимости от архитектуры и религиозных убеждений сетевиков.
Дальше веселее. Вот возьмём коло. Размещение в коммерческом ДЦ, помимо костов за стойку/юнит, может повлечь кучу дополнительных затрат - начиная с кроссировок внутри ДЦ, заканчивая арендой волокон до узлов провайдеров. Потому что если в ДЦ есть условный ХХХ-телеком или какой-нибудь IX, то вовсе не факт, что там есть нужная для CDN ёмкость. И проще/быстрее/дешевле оказывается взять волокно до провайдерского узла. А потом ещё одно, и ещё... Поэтому наш выбор - телехаусы. Там где они есть. Но электричества в телехаусах мало, желающих - много, поэтому см выше про аренду волокон. Можно попробовать встать на узле провайдера - но там, спасибо нашим депутатам, уже ТСПУ и прочие "обязательные" железки, а электричества свободного не так, чтобы много, да и вообще узел интернет-провайдера и ЦОД - это несколько разные весовые категории.
Ну и наконец трафик. Собственно, львиная часть затрат CDN - это оплата за полосу оператора. Тут тоже возможны разные сценарии:
-
Бесплатный или почти бесплатный пиринг. Это прям идеал для любого CDN. Это может быть PNI на какой-нибудь публичной площадке или стык с оператором на его же узле. Но количество бесплатных и условно-бесплатных PNI довольно ограничено. Снизу -- экономической целесообразностью (нет смысла поднимать порт с трафиком меньше 3-4 гигабит, но в регионах могут быть исключения). Сверху -- желанием оператора заработать (об этом ниже).
-
Другой, относительно дешёвый способ - это IX. IX любят контент и CDN, потому что за ними приходят провайдеры, генерируя прибыль. Поэтому контент/CDN подключается либо бесплатно, либо платит чисто символически, только чтобы отбить стоимость порта на сетевом. Нюанс в том, что крупный транзит к IX подключён далеко не всегда (потому что нафиг им это надо), и одними лишь пирингами/IX ты до конечных пользователей не доберёшься.
-
Большие провайдеры не готовы пириться бесплатно, даже если вы сами очень большой, с точки зрения трафика - собственно, современные пиринговые войны тому подтверждение. Провайдеры хотят зарабатывать со всех, а сами платить поменьше, или не платить вовсе. Поэтому для CDN тарифы хоть и ниже, чем для других провайдеров, но трафик не бесплатный, плюс часто есть пропорция на приём/передачу, дабы CDN сам не начал барыжить транзитом вдруг. А ещё стыки между большими операторами не шибко широкие, поэтому если вы из условного жёлтого оператора решите налить трафик в красного -- кое-кто может обидеться. Поэтому закупать трафик приходится у всех плюс-минус крупных игроков в регионе.
Есть и гораздо более экзотические варианты -- там, где стоимость трафика это единицы/десятки/сотни долларов за мегабит. Но об этом в другой раз.
@snakeslair #cdn