Оптимизация затрат на CDN с помощью Amazon Route 53

admin

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

Вспомним, что CDN – это просто сеть компьютеров, которые отдают контент посетителям сайта:

Сколько что стоит

Сейчас сервер средней конфигурации, [https://selectel.ru/services/dedicated/ например в Селектеле] стоит около $250 в месяц. Обычно такие сервера имеют полосу пропускания в 100Мб и довольно большой предел по месячному трафику (иногда даже без него).

Это значит, что за $250 вы сможете обслужить отдачу приблизительно 5…10 млн фотографий в сутки (около 1 Тб, при среднем размере фотки в 250 Кб).

При этом, если использовать [https://aws.amazon.com/ru/cloudfront/pricing/ Cloudfront] для такой же задачи, обслуживание 30 Тб в месяц обойдется в 10 раз дороже.

Использование частичной раздачи

CDN будет очень невыгоден, если ваша аудитория распределена, но имеет точки концентрации. Например:

  • Германия: 50%
  • Нью Йорк: 40%
  • Остальные локации: 10%

В этом случае будет разумно:

  • Поставить сервера, отдающие контент в Германии и Нью Йорке.
  • Для запросов из других географий использовать CDN.

Т.е. иметь структуру, в которой часть запросов обслуживает CDN, а часть – наши сервера:

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

Пример реализации на основе Amazon Route 53

Для реализации схемы нам понадобится провайдер Geo DNS, например [https://aws.amazon.com/route53/ Amazon Route 53]. Схема решения будет следующая:

  • Необходимо создать новый поддомен на основном домене. У нас это будет testi.onthe.io.
  • Для него необходимо создать CNAME запись типа Geolocation на все локации по умолчанию (Default). Она должна указывать на сабдомен вашего CDN провайдера:
  • Теперь для локаций, в которых стоят наши сервера, необходимо создать отдельные CNAME записи. В примере запись для Северной Америки:
    ## Вместо “CDN Provider” должен быть (саб)домен CDN провайдера, увеличить

Теперь домен testi.onthe.io будет отдавать контент следующим образом:

  • Если посетитель запрашивает контент с Северной Америки, он будет раздаваться сразу с домена i.onthe.io (наши сервера).
  • Если контент запрашивается из другой страны, запрос будет обслужен провайдером CDN.

А это значит, что мы не будем платить CDN провайдеру за трафик, который можем сами обслужить и сделать это эффективнее.

<h2>TL;DR

Затраты на CDN можно существенно сократить, если ваша аудитория имеет точки концентрации. Тогда для части аудитории можно будет отдавать контент со своих серверов, а для другой части – с помощью CDN. Для этого потребуется арендовать несколько серверов и использовать Geo DNS.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023