Пандемия обеспечила взрывной рост на рынках онлайн-образования, медиа и развлечений — за год они стали «новым черным». Дмитрий Лазаренко, директор по продукту облачной платформы Mail.ru Cloud Solutions, рассказал о технической стороне такого бизнеса.
Вы узнаете, как Netflix удается стримить миллионы видео одновременно, YouTube — хранить такое количество пользовательского контента, а TikTok — обслуживать пользователей по всему миру.
Рынок онлайн-образования ежегодно увеличивался и до пандемии, но после введения первых ограничений начался по-настоящему взрывной рост. Например, в 2020 году за две недели самоизоляции число платных студентов в GeekBrains увеличилось на 90%.
По всей видимости, рынок онлайн-образования продолжит расти. По прогнозам, к 2025 году мировой рынок EdTech увеличится в 2,5 раза по сравнению с 2019 годом. Ежегодный прирост — 16,3%.
Параллельно возрос интерес к онлайн-развлечениям. По итогам шести месяцев 2020 года доля людей, платящих за подписку на онлайн-кинотеатры, выросла в два раза. Подписку оплачивают две трети пользователей, часть из них подписаны сразу на несколько платформ. Растут и соцсети: за 2020 год в России количество пользователей увеличилось на 4,8 млн человек.
При этом на рынках образования, развлечений и медиа появляются новые игроки. Например, в августе 2020 года в России запустили Chill — первый в стране кинотеатр с веб-сериалами. Он предлагает формат короткого контента, продолжительность роликов — 8-15 минут.
Это происходит даже на таком, на первый взгляд, уже поделенном рынке, как соцсети. Так, в 2021 году в России стал популярен Clubhouse — звуковая соцсеть, где пользователи создают комнаты для общения на определенные темы.
Получается, что бизнес в сфере онлайн-образования, развлечений или медиа может стать перспективной идеей. И здесь возникает вопрос: какие технические решения нужны для запуска и, что еще важнее, как на них сэкономить. Давайте разбираться по порядку.
IT-инфраструктура, которая сможет выдержать большие нагрузки
В основе любой стриминговой платформы или онлайн-хостинга вроде Netflix или YouTube лежит IT-инфраструктура, то есть серверы, на которых запускаются все программы и приложения. Чтобы ее создать, можно организовать собственный центр обработки данных (ЦОД), арендовать серверы в чужом ЦОДе (эта услуга называется colocation) или мощности у облачного провайдера.
Собственные серверы — недешевое удовольствие. Их нужно покупать, настраивать, обслуживать, а также обеспечивать отказоустойчивость, то есть способность работать при любой нагрузке, и быстрое восстановление в случае форс-мажоров.
Вся ваша инфраструктура должна быть зарезервирована, продублирована, чтобы в случае ее выхода из строя приложения продолжили работу, а пользователи не заметили проблем. Это критически важно сейчас, когда развлекательных и образовательных сервисов много и требования к качеству растут.
Еще одна проблема — масштабирование инфраструктуры, то есть ее рост вместе с увеличением нагрузки. По мере развития любой платформы нагрузка на IT-инфраструктуру возрастает из-за появления новых пользователей, ее требуется расширять, добавляя новые ресурсы.
В традиционной инфраструктуре вопросы отказоустойчивости и масштабирования решают дозакупками оборудования, при этом не всегда получается расширить инфраструктуру в короткие сроки: часто мощности нужны уже сегодня, а поставок приходится ждать.
По этим причинам многие компании отдают предпочтение облачной инфраструктуре (IaaS), где возможно быстрое и фактически неограниченное масштабирование. Так, в последние годы затраты компаний на облака растут, а на традиционную инфраструктуру сокращаются.
В 2020 году из-за пандемии вложения в публичные облака выросли на 47% и впервые обошли классическую инфраструктуру. Причем российский рынок публичных облачных услуг, по предварительным оценкам IDC, в 2020 году превысил 1 млрд долларов.
Компании заинтересованы в таких решениях, поскольку услуги провайдеров оплачиваются по модели pay-as-you-go, то есть за фактически использованные мощности. А значит, возможен запуск бизнеса без существенных вложений на старте.
Оптимальное хранилище для размещения массивов контента
С базовой IT-инфраструктурой разобрались, следующий шаг — организовать хранилище для размещения видеороликов, фильмов и другого медиаконтента. На таких платформах, как YouTube, TikTok, Netflix и другие, огромное количество контента, и его объем постоянно растет. Для его хранения есть разные варианты.
Например, можно взять традиционное файловое хранилище. У него иерархическая структура, напоминающая каталог архива. Как оно работает? Предположим, вы продаете видеокурсы, в хранилище они рассортированы по образовательным направлениям, а внутри каждого направления — по датам старта новых потоков.
Чтобы открыть нужный пользователю ролик, система ищет нужную папку на каждом из уровней иерархии, и чем их больше, тем дольше этот процесс.
При этом традиционное хранилище изначально не предназначено для хранения данных, к которым часто обращаются. Запросов станет слишком много — может случиться сбой.
Второй вариант: объектное хранилище, где нет иерархической структуры, то есть запрос идет напрямую к нужному объекту. Так что миллионы пользователей могут одновременно просматривать одни и те же ролики, открывая их просто по ссылке на сайте, и это никак не скажется на работе хранилища.
Кроме того, при увеличении объема хранения — а это неизбежно случается с ростом проекта, когда пользователей и контента становится все больше, — не нужно подключать и настраивать новые диски, чтобы вместить все данные. Объектное хранилище моментально подстраивается под нужную емкость, в результате его ресурсы используются эффективнее, чем у традиционного.
Подключив объектное хранилище в облаке, компании платят только за тот объем данных, который фактически хранят.
Если сравнивать объектное хранилище с обычными облачными дисками, то экономия может составлять от 40% за счет того, что емкость объектного хранилища используется полностью. Для сравнения: традиционное хранилище используется только на 60%, поэтому для хранения данных надо арендовать больший объем хранения, а значит, и больше платить.
Трансляция видеороликов без задержек и сбоев
Мало поместить контент в надежное и производительное хранилище. Следующая задача — обеспечить высокую скорость воспроизведения, чтобы ролик подгружался и включался сразу же, как только пользователь кликнет на него. Для соцсетей, онлайн-кинотеатров, онлайн-школ это критично, ведь клиенты не хотят долго ждать загрузки фильмов или роликов.
На скорость отклика влияет расстояние между сервером, где вы разместили свой контент, и вашими клиентами. Допустим, вы разместили контент на сервере в Москве. Это значит, что для жителей столицы он будет подгружаться мгновенно, а вот людям на другом конце страны, например во Владивостоке, придется ждать загрузки.
Понятно, что ждать никто не будет: сегодня зрители начинают закрывать видео, если воспроизведение не началось в первые две секунды. Если же задержка составляет 10 секунд, то отваливается уже половина пользователей, а это чревато убытками, негативными отзывами и требованиями возврата денег за курсы или подписку на сервис.
Чтобы не оказаться в такой ситуации, нужна технология CDN — сеть доставки контента. Она работает так: подключаются дополнительные серверы, так называемые промежуточные узлы. Их много, и они распределены по всему миру.
Когда первый пользователь из Владивостока запускает ваш видеоролик, контент дублируется с основного сервера на промежуточный узел, расположенный в этом регионе. Для первого зрителя контент подгружается с задержкой: системе нужно время на копирование. Зато в дальнейшем для всех пользователей из Владивостока видео запускается так же быстро, как и для пользователей из Москвы.
Еще одно преимущество технологии — в защите от DDoS-атак. При такой атаке хакеры отправляют одновременно тысячи запросов к сайту — не успевая их обрабатывать, оборудование отказывает. При использовании CDN вредоносные запросы обработает сеть доставки контента, основной сервер не пострадает.
Что в итоге потребуется для запуска своего видеохостинга, онлайн-школы или соцсети
- Развернуть надежную инфраструктуру, выбрав один из трех вариантов: собственный центр обработки данных (ЦОД), аренду серверов в чужом ЦОДе (эта услуга называется colocation) или мощностей у облачного провайдера.
- Организовать хранилище данных, которое сможет справиться с большим объемом запросов от пользователей.
- Обеспечить быстрый доступ к медиафайлам и другому контенту для пользователей в любой географической точке.
Фото на обложке: pixabay.com
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter