Приветствуем всех, кто интересуется облачным хранением данных.История Platformcraft началась с маленького дочернего проекта и привела к созданию независимой облачной платформы для бизнеса. Расскажем, как это произошло!Cloud4Video: начало проектаИстория Platformcraft началась внутри CDNvideo, российского провайдера услуг по доставке контента. В 2012 году у нас начали появляться клиенты, интересующиеся хранением данных, но в компании не было собственного облачного хранилища.Поэтому мы приобрели лицензию на готовый продукт и быстро развернули его на наших серверах. Мы использовали монолитный набор сервисов, над которым работал сторонний программист, и назвали его Ficus.Однако проект оказался абсолютно нерентабельным:хранилище работало медленно,оно часто выходило из строя,а для улучшения стабильности требовалось обновление железа и качественного программного обеспечения.В 2014 году руководство CDNvideo приняло решение передать проект коммерческому директору и продуктологу. Они, в свою очередь, передали поддержку текущей системы компании ITSumma и избавились от Ficus, так как его масштабирование оказалось невозможным.Привлеченный специалист пересмотрел аппаратную архитектуру, но вопрос производительности оставался актуальным. Поэтому с нуля была создана новая платформа.Разработка новой инфраструктурыВ середине 2014 года к нашей команде присоединился новый разработчик, который внедрил ряд сервисов и предложил перейти к open-source хранилищу.К концу года мы уже работали над первым полноценным образцом продукта, который сразу же начали тестировать клиенты, в том числе телеканал РЕН ТВ.MongoDB и OpenStack Swift: первые шаги к успехуДля метаданных мы выбрали MongoDB в конфигурации Replica Set. Оставалось только найти подходящее хранилище, и ITSumma предложила использовать платформу OpenStack Swift, взяв на себя административные задачи.Мы написали сервисы на Go, и уже на этом этапе у нас получилась рабочая инфраструктура:Инфраструктура объектного облачного хранилища на Go.После нескольких недель тестирования Swift, хранилище потеряло все данные незадолго до запуска в продакшн. Но это были только тестовые файлы, и клиентская информация осталась невредимой.Итак, нам срочно нужно было решить проблему. Отказ от Swift вызван его сложностью в масштабировании и поддержке. Тогда мы рассмотрели разные альтернативы:Elliptics,Ceph,Hadoop.Все они оказались слишком сложными и требовали большой команды инженеров. В связи с ограниченными ресурсами и отсутствием бюджета, мы решили создать собственное хранилище – DEPOT.Наш разработчик вдохновился Elliptics и создал key-value базу для хранения данных любого размера с оптимальным алгоритмом записи на HDD.Алгоритм работы хранилища.Мы обеспечили надежность и доступность данных с помощью тройной репликации, где каждый файл создает три копии на разных узлах в распределенных дата-центрах. Это гарантирует, что данные будут доступны, только если достигнут кворум (минимум 2 реплики).Новый прототип хранилища был написан на Go всего за несколько недель и успешно запущен. Благодаря этому, мы смогли удержать текущих клиентов и привлечь новых, такие как МИР ТВ, Комсомольская Правда, Известия, ViP Play и другие.Преобразование от прототипа к повышенной производительностиХранилище на Go успешно служило два года, но с увеличением трафика нам потребовались более мощные ресурсы для обработки таких объемов контента.Мы столкнулись с проблемами, связанными с языком», который потреблял значительные ресурсы и снижал производительность. Мы решили перейти на Rust, чтобы оптимизировать инфраструктуру Platformcraft.Мы решили проблему загрузки файлов на HDD – переход к напрямую загрузке данных на жесткие диски вызывал проблемы с производительностью, так как HDD работали медленно.Для увеличения скорости и производительности платформы, мы приобрели SSD и создали буфер для загрузки. Теперь файлы сначала загружаются на твердотельные накопители (горячее хранение), а затем планомерно переносятся на HDD (холодное хранение) в фоновом режиме.Собственный транскодер для лучшей гибкостиВ основном у нас хранится видеоконтент больших размеров, который требует транскодирования в разные форматы.Ранее мы аутсорсили эту задачу, но ситуация изменилась после блокировки серверов Telegram Роскомнадзором. Это затронуло и нашу платформу, вызвав проблемы с кодированием и блокировкой дата-центров.Тогда решили построить свой собственный транскодер на основе GPU, который работал бы намного быстрее, чем аутсорсинг. Теперь наш транскодер обрабатывает видео в 10-12 раз быстрее продолжительности самого видео.Platformcraft сегодняСейчас у нас есть команда технических специалистов, и мы продолжаем разрабатывать функциональность для работы с контентом. Мы активно поддерживаем облачную инфраструктуру и разрабатываем новые и уникальные облачные сервисы для бизнеса.Если вы хотите попробовать облачное хранение и сервисы для работы с контентом, посетите сайт Platformcraft.#облачноехранилище #облачные_сервисы #облачныесервисы #облачныетехнологии #хранение_данных #бизнес #инфраструктура