Операционная система для медиасерверных ПАК
InfraMedia
Прошивка вместо дистрибутива
Медиасерверу не нужна универсальная операционная система с пакетным менеджером, репозиторием и собственным графиком обновлений. InfraMedia — неизменяемая (иммутабельная) прошивка, на которой работают наши серверы: она едет одним образом вместе с продуктом, настраивается по HTTP и обновляется одним пакетом с возможностью отката.
Одна машина
Два способа держать медиасервер
Выбор здесь не в том, какой линукс лучше. Выбор в том, машину в вашей стойке вы администрируете сами или получаете готовой к работе.
Универсальный дистрибутив
- Вы ставите операционную систему, поверх неё — медиасервер, и стык между ними ваш.
- Два потока обновлений: пакеты дистрибутива и релизы продукта.
- Каждая машина со временем расходится: здесь поправили руками, там доставили пакет — через год одинаковых серверов в парке нет.
- Откат неудачного обновления — это восстановление из резервной копии.
Прошивка InfraMedia
- Операционная система и продукт едут одним образом, одной версией и проверены вместе.
- Корень только для чтения: ставить руками нечего, расходиться нечему.
- Одно обновление на машину, и оно встаёт рядом с работающей версией.
- Откат — это выбор прежней версии и перезагрузка.
Неизменяемая (иммутабельная) ОС
InfraMedia относится к иммутабельным системам: системные и исполняемые файлы нельзя изменить во время эксплуатации. Файловая система собрана из заранее подготовленных образов squashfs и смонтирована только для чтения.
Ничего не разъезжается
Машина в стойке ровно такая, какой мы её выпустили: изменить системный файл невозможно, а значит, невозможны и накопленные за год правки, о которых уже никто не помнит. Подменить файл системы тоже нельзя.
Система и продукт обновляются порознь
Прикладная программа изолирована собственным слоем, и у каждой стороны своя версия. Обновить медиасервер, не трогая операционную систему, — обычное дело; обратное тоже верно.
Обновление встаёт целиком или никак
Новая версия кладётся рядом с работающей и включается одной строкой в загрузчике. Состояния «наполовину обновились» не бывает, а откат — это та же строка, возвращённая обратно.
Иммутабельность из коробки
Обычно такую систему нужно построить самому: поднять отдельный сервер сборки, собрать образы, настроить сетевую загрузку и завернуть приложение в контейнер. InfraMedia приезжает уже собранной — с медиасервером внутри, ставится с флешки на голое железо, и своей инфраструктуры сборки для этого не нужно.
Машиной распоряжается программа, а не человек
InfraMedia собрана для ПАК: машиной распоряжается продукт, который на ней работает, а не администратор с ssh и текстовым редактором. Всё, что превращает просто компьютер в сетевой прибор, система делает сама и отдаёт наружу одним API и одним веб-интерфейсом.
Единственный вход — API
У конфигуратора нет ручного режима: всё, что настраивается, настраивается запросом. Продукт зовёт этот API сам, и человек ему не нужен, чтобы поднять сеть, время или учётные записи.
Настройки живут в одном хранилище
Хранилище настроек — единственный источник правды. Системные файлы рендерятся из него и обратно не читаются, поэтому править их руками бессмысленно: следующий рендеринг вернёт заданное значение.
Веб-интерфейс в составе системы
Обновление прошивки, сетевые настройки, разметка и форматирование дисков, время, учётные записи, перезагрузка — всё, что превращает просто компьютер в сетевой прибор, входит в саму систему. Доставлять отдельно нечего: интерфейс едет базовым слоем и работает даже тогда, когда головная программа не поднялась.
Встраивается в головную программу
Экраны собраны отдельно от оболочки: они не несут ни темы, ни роутера, ни авторизации, поэтому встают разделом в консоль той программы, ради которой ПАК и ставится. Оператор настраивает шасси там же, где смотрит на стримы.
Как живёт машина
Ставится с флешки сама
Записали образ, заполнили один текстовый файл на флешке — дальше человек только втыкает её в сервер и включает питание. Установщик ничего не спрашивает и не ждёт нажатий: он размечает диск, копирует прошивку, оставляет учётные данные и выключает машину.
Настраивается по API
Сеть, время, учётные записи и питание задаются запросом к конфигуратору или из веб-интерфейса. Ни одного шага, который пришлось бы делать по ssh.
Обновляется и откатывается
Обновление идёт в unmanaged-режиме: ни системы управления парком, ни агента, ни сессии по ssh — машина ставит пакет сама, рядом с работающей версией. Настройки, данные и пароли переживают обновление, а прежняя версия остаётся на загрузочном разделе для отката.
Одна операционная система, несколько продуктов
InfraMedia — то, на чём собраны наши серверы. Продукт едет поверх слоем, а машина под ним в каждой стойке одна и та же.
На железе, которое мы проверили сами
Прошивка едет на машины, которые мы проверяем: драйверы собраны в одно ядро, сетевые порты получают предсказуемые имена, и на знакомой машине один и тот же образ грузится одинаково.
Это противоположность «поддерживаем всё». Сервер, которого мы не видели, — вопрос, на который мы отвечаем до покупки, а не сюрприз при установке.
Российская ОС для вашего парка
InfraMedia разрабатывается в России: исходный код и сборка живут в инфраструктуре Flussonic, а не в публичном репозитории под чужим управлением.
Управлять прошивкой можете только вы и только по API: машина узнаёт о новых версиях из канала обновлений, адрес которого вшит в сборку, а установка — всегда явный запрос с вашей стороны.
Выбираете операционную систему для медиасерверов?
Расскажите, что стоит в стойке и что на этом должно работать. Покажем прошивку на стенде и честно скажем, подходит ли она.