Как создавалась самописная облачная платформа для бизнеса Platformcraft
Приветствуем всех, кто интересуется облачным хранением данных.
История Platformcraft началась с маленького дочернего проекта и привела к созданию независимой облачной платформы для бизнеса. Расскажем, как это произошло!
Cloud4Video: начало проекта
История Platformcraft началась внутри CDNvideo, российского провайдера услуг по доставке контента. В 2012 году у нас начали появляться клиенты, интересующиеся хранением данных, но в компании не было собственного облачного хранилища.
Поэтому мы приобрели лицензию на готовый продукт и быстро развернули его на наших серверах. Мы использовали монолитный набор сервисов, над которым работал сторонний программист, и назвали его Ficus.
Однако проект оказался абсолютно нерентабельным:
- хранилище работало медленно,
- оно часто выходило из строя,
- а для улучшения стабильности требовалось обновление железа и качественного программного обеспечения.
В 2014 году руководство CDNvideo приняло решение передать проект коммерческому директору и продуктологу. Они, в свою очередь, передали поддержку текущей системы компании ITSumma и избавились от Ficus, так как его масштабирование оказалось невозможным.
Привлеченный специалист пересмотрел аппаратную архитектуру, но вопрос производительности оставался актуальным. Поэтому с нуля была создана новая платформа.
Разработка новой инфраструктуры
В середине 2014 года к нашей команде присоединился новый разработчик, который внедрил ряд сервисов и предложил перейти к open-source хранилищу.
К концу года мы уже работали над первым полноценным образцом продукта, который сразу же начали тестировать клиенты, в том числе телеканал РЕН ТВ.
MongoDB и OpenStack Swift: первые шаги к успеху
Для метаданных мы выбрали MongoDB в конфигурации Replica Set. Оставалось только найти подходящее хранилище, и ITSumma предложила использовать платформу OpenStack Swift, взяв на себя административные задачи.
Мы написали сервисы на 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.
Мой рабочий день начинался в 4 утра, а на дорогу от дома до рынка и обратно тратила почти 6 часов — история о том, как я была посредником на Садоводе и почему это адский и неблагодарный труд...
Что делать оффлайн-бизнесу, который сталкивается с плохими отзывами?! Герой нашей статьи сделал агентство удаления таких отзывов. Как это работает — детально рассказали в материале.
Создание сайта — трудоёмкий процесс со множеством вопросов, спорных моментов и этапов. В статье подробно расскажем, как вы можете помочь при разработке сайта, как контролировать работу дизайнеров и что должно происходить на каждом этапе.
Уникальные это пользователи или в том числе владельцы нескольких аккаунтов — Сэм Альтман не уточнил.
Обновление доступно пользователям всех платных тарифов.
И назначить штраф в 315 млн рублей.
На пике производство приносило около 500 000 ₽ прибыли в месяц на двоих, но в 2024 я закрылся с убытком в 6,5 млн ₽.
Вы видели этих счастливых людей в Instagram. Загорелые, с ноутбуком на коленях, на фоне побережья Бали или террасы с видом на Альпы. Подпись гласит: "Понедельник в офисе 🌴 #remotework #digitalnomad". И у вас, сидящего в опостылевшем офисе или квартире в спальном районе, подкатывает ком зависти к горлу...
После выхода из тюрьмы я бы никогда не подумал, что захочу помогать гражданам отстаивать свои права. Благо я узнал про каналы, которые дали мне возможность зарабатывать 500к+/месяц.