Перед разработчиком или владельцем программного продукта часто возникает вопрос выбора подходящего места для размещения серверных мощностей. Как известно, софт не может быть без харда. Обычно вариантов несколько:
Использовать свои мощности. Но тут возникает вопрос отказоустойчивости и многих других требований к оборудованию удовлетворить которые
дома на балконев серверной небольшого предприятия практически не реально.Арендовать серверы в ЦОД. Обычно это дорого. А еще такая инфраструктура будет достаточно неповоротливой в плане масштабирования и балансировки нагрузки.
Разместить в облаке. Облачные сервисы - одно из самых современных решений. Тем более, что вендоров сейчас предостаточно, поэтому каждый может найти сервис подходящий именно под его задачи и бюджет.
В двух предыдущих статьях нашего блога мы подробно рассмотрели процесс развертывания WebRTC CDN с балансировкой и автоматическим масштабированием на базе облачных сервисов Amazon Web Services и Google Cloud Platform, а теперь сравним эти платформы и разберемся, какая платформа будет лучшей в сочетании цена-качество услуг.
Небольшое сравнение AWS и GCP
Amazon Web Services — одна из самых распространенных в мире облачных платформ. Являясь первопроходцем в этой области, завоевала большую часть рынка. AWS охватывает 80 зон доступности в 25 географических регионах по всему миру. На платформе доступно более 200 полнофункциональных сервисов, которые позволяют построить с нуля инфраструктуру любой сложности. У AWS самая обширная, надежная и безопасная глобальная облачная инфраструктура. Более 15 лет платформа поставляет облачные сервисы миллионам клиентов по всему миру для использования в разнообразных целях. AWS предлагает самые надежные на рынке решения для работы в любом масштабе, что делает ее несомненным лидером среди поставщиков облачных услуг. Amazon Web Services предлагает широкий спектр глобальных облачных продуктов, включая вычислительные сервисы, хранилища, базы данных, инструменты аналитики, сетевые технологии, мобильные сервисы, инструменты для разработчиков, инструменты управления, технологии Интернета вещей, средства обеспечения безопасности и корпоративные приложения. Эти сервисы помогают различным организациям развиваться быстрее, снижать расходы в сфере ИТ и обеспечивать масштабирование.
Google Cloud Platform — набор облачных служб, которые выполняются на той же инфраструктуре, что Gmail, Google Search и YouTube. Сервис доступен для пользователей с 2011 года. Платформа предоставляет широкий набор инструментов и и различные API для разработчиков и бизнеса. В состав Google Cloud Platform входят виртуальные машины, хостинг приложений и контейнеров, машинное обучение, сервисы хранения и обработки данных и многое другое. Серверы платформы размещаются в 25 географических регионах и доступны более чем в 200 странах. Центры обработки данных и сетевая архитектура Google Cloud Platform рассчитаны на максимальную надежность и время безотказной работы.
Различие деплоя и лицензирования Web Call Server на платформах AWS и GCP
На момент написания этой статьи Web Call Server не доступен как готовый образ в GCP Marketplace. С этим фактом связана разница в развертывании и лицензировании.
При развертывании WCS на базе AWS пользователь, в зависимости от реализуемого проекта, может выбрать - запустить готовый WCS инстанс из AWS Marketplace с встроенной в инстанс почасовой лицензией в несколько кликов, или запустить виртуальную машину и вручную установить WCS и активировать стандартную ежемесячную подписку. Во втором случае, кроме стоимости ежемесячной подписки, которая, по правилам биллинга, формируется исходя из максимального числа серверов на которых использовалась лицензия, еще оплачивается аренда инстанса.
Мы рекомендуем использовать почасовую лицензию Amazon Marketplace для запуска WCS на короткие периоды (часы, дни), для запуска на длительные периоды — месяцы, годы — приобрести стандартную ежемесячную лицензию
При развертывании WCS на базе Google Cloud Platform доступна только ручная установка программного обеспечения на виртуальную машину. Для работы автоматического масштабирования и балансировки нагрузки нужно будет создать образ виртуальной машины с установленным и настроенным WCS. В таком случае доступна только стандартная ежемесячная подписка. Причем, как написано выше, окончательная стоимость лицензии формируется исходя из максимального числа серверов, на которых использовалась лицензия. Поэтому не получится сэкономить на стоимости подписки Web Call Server при запуске серверов на короткий период.
Разница в ценовых политиках платформ AWS и GCP
Если функционал платформ практически одинаков, то ценовые политики различаются.
AWS для каждого продукта на платформе предлагает калькулятор стоимости. Из-за того, что стоимость каждого продукта считается отдельно, большое количество задействованных переменных затрудняет получение точных оценок итоговой стоимости инфраструктуры.
Google Cloud Planform, в свою очередь, ставит своей целью предлагать "удобные для клиентов" цены. Поэтому используются большие скидки и гибкий подход к тарификации.
Давайте посчитаем и сравним, какую платформу будет выгоднее использовать для организации CDN с балансировкой и автоматическим масштабированием для проведения вебинара длительностью 1 час, с расчетом на 30 и 300 зрителей.
Архитектура CDN будет такой же, как и в предыдущих статьях по развертыванию:
один Origin сервер;
один Edge в составе балансировщика нагрузки, который позволяет во время пиковой нагрузки увеличить число Edge серверов до трех и более.
Итак, предположим, что на Origin сервере опубликован один видеопоток разрешением 854x480 (480p) с битрейтом 1000 кбит/с. и 30 зрителей смотрят этот поток без транскодирования на Edge серверах. Так как в нашем примере не много подписчиков, то можем использовать минимальные инстансы. (Цены, указанные в таблицах, действовали на момент написания статьи. Из-за гибких ценовых политик площадок, цены доступные для Вас могут отличаться, как в меньшую, так и в большую сторону.)
Параметр |
Amazon Web Services t3.micro ( 2 vCPUs, 1 GB memory, HDD 20 GB); USD/hr |
Google Cloud Platform n1-standard-1 (1 vCPU, 3.75 GB memory, HDD 20 GB); USD/hr |
---|---|---|
Стоимость лицензии WCS |
$0.01 |
$75 |
Стоимость аренды инстанса |
$0.011 |
$0.047 |
Стоимость аренды дискового пространства |
$0.025 GB/month |
$0.04 GB/month |
Стоимость трафика для инстанса |
$0.09 per GB |
$0.04 per GB |
Итого за 1 инстанс WCS |
$0.512 |
$75,847 |
Приблизительное количество и стоимость трафика в CDN |
12.6 GB $1.134 |
12,6 GB $0.504 |
Итоговая Стоимость CDN (4 инстанса) |
$3.182 |
$303,892 |
Трафик внутри CDN не тарифицируется на обоих платформах. Внешний трафик от Edge к зрителям в GCP тарифицируется в зависимости от географического расположения датацентров и клиентов. Для расчетов мы используем среднее значение $0.04 за ГБ. Из-за стоимости лицензии WCS итоговая стоимость CDN на базе Google Cloud Platform достаточно высока. В этом случае даже более низкая стоимость трафика не играет значительной роли.
При прогнозируемом увеличении числа зрителей, нужно увеличить серверные мощности. Для Edge мы рекомендуем конфигурацию сервера 16 vCPUs, 64 GB memory и 10 TB трафика. Для 300 зрителей будут использоваться 3 Edge.
Теперь рассчитаем варианты развертывания CDN для 300 пользователей на один час:
Параметр |
Amazon Web Services m5.4xlarge ( 16 vCPUs, 64 GB memory, HDD 20 GB); USD/hr |
Google Cloud Platform n1-standard-16 (16 vCPUs, 60 GB memory, HDD 20 GB); USD/hr |
---|---|---|
Стоимость лицензии WCS |
$0.768 |
$75 |
Стоимость аренды инстанса |
$0.816 |
$0.76 |
Стоимость аренды дискового пространства |
$0.025 GB/month |
$0.04 GB/month |
Стоимость трафика для инстанса |
$0.09 per GB |
$0.04 per GB |
Итого 1 сервер |
$2.084 |
$76.56 |
Приблизительное количество и стоимость трафика в CDN |
126 GB $11.34 |
126 GB $5.04 |
Стоимость CDN |
$45.36 |
$311.28 |
И на месяц (720 часов):
Параметр |
Amazon Web Services m5.4xlarge ( 16 vCPUs, 64 GB memory, HDD 20 GB); USD/hr Почасовая лицензия WCS |
Amazon Web Services m5.4xlarge ( 16 vCPUs, 64 GB memory, HDD 20 GB); USD/hr Стандартная лицензия WCS |
Google Cloud Platform n1-standard-16 (16 vCPUs, 60 GB memory, HDD 20 GB); USD/hr Стандартная лицензия WCS |
---|---|---|---|
Стоимость лицензии WCS |
$0.768 *720 |
$75 |
$75 |
Стоимость аренды инстанса |
$0.816 *720 |
$0.816 *720 |
$0.76 *720 |
Стоимость аренды дискового пространства |
$0.025 per GB / month |
$0.025 per GB / month |
$0.040 per GB / month |
Стоимость трафика для инстанса |
$0.09 per GB |
$0.09 per GB |
$0.04 per GB |
Итого 1 сервер |
$1 115.06 |
$663.02 |
$623 |
Приблизительное количество и стоимость трафика в CDN |
88.6 TB $8 164.8 |
88.6 TB $8 164.8 |
88.6 TB $3 628.8 |
Стоимость CDN |
$12 625.04 |
$10 816.88 |
$6 120,8 |
В итоге, как видите, для длительного развертывания выгоднее использовать стандартную лицензию WCS. Итоговая стоимость развертывания WebRTC CDN с балансировщиком и автоматическим масштабированием при использовании стандартной лицензии WCS на площадках AWS и GCP зависит от стоимости трафика для конкретной географической зоны. Из-за достаточно высокой итоговой стоимости CDN для длительной эксплуатации развертывание на платформе Amazon Web Services можно рекомендовать, если у вас уже есть инфраструктура глубоко интегрированная в сервисы AWS. Во-первых, чтобы не плодить зоопарк из сервисов, а во-вторых из-за гибкой ценовой политики включение CDN в существующую инфраструктуру может стоить дешевле. Эти же утверждения справедливы и для краткосрочных развертываний на платформе Google Cloud Platform.
Расчеты здесь являются приблизительной оценкой расходов, поскольку ценообразование у обоих платформ не отличается прозрачностью. Может взыматься отдельная плата за хранение образов для развертывания, бекапов, аренду доменных имен и белых IP адресов, и прочее. Но эти приблизительные расчеты позволяют оценить в сравнении итоговую стоимость CDN.
Конечный выбор платформы для развертывания WebRTC CDN с балансировщиком и автоматическим масштабированием зависит не только от сугубо технических или экономических соображений, но и от личного предпочтения. Надеемся, что после прочтения статьи, будет немного проще сделать выбор, в пользу того или другого сервиса для организации ваших видеотрансляций.
Хорошего стриминга!
Ссылки
WCS на Amazon EC2 - Быстрое развертывание WCS на базе Amazon
CDN для стриминга WebRTC с низкой задержкой - CDN на базе WCS
Документация по быстрому развертыванию и тестированию WCS сервера
Документация по развертыванию WCS в Google Cloud Platform
Документация по настройке балансировки нагрузки с масштабированием в GCP
Документация по развертыванию WCS-сервер в Amazon EC2
Документация по настройке балансировки нагрузки с масштабированием при помощи AWS ELB