Если RAUC — это вполне себе «инженерный» способ обновлять embedded Linux на устройстве, то Mender — это уже целая OTA/IoT платформа. Тут речь не только про то, как записать новую версию системы, но и про то, как управлять обновлениями на парке устройств, следить за состоянием, планировать кампании обновлений и не утонуть в ручной операционке.
Если очень грубо:
RAUC отвечает за установку и переключение образов на устройстве;
Mender закрывает весь жизненный цикл обновления, включая сервер, кампании и управление устройствами.
Что такое Mender
Mender — это решение для OTA обновлений, которое включает клиентскую и серверную части. И Mender изначально проектировался как система для массового развёртывания обновлений.
Атомарные обновления и откат
Как и положено нормальному OTA-решению, Mender поддерживает безопасные обновления и rollback-сценарии. Если новая версия не проходит проверку или устройство не возвращается в рабочее состояние, можно откатиться.
Управление флотом устройств
Вот здесь Mender особенно силён. Он помогает не просто «залить новую версию», а делать это поэтапно:
- по группам устройств;
- по кампаниям;
- с контролем статуса;
- с видимостью того, что реально происходит в поле.
Интеграция в CI/CD
Mender довольно естественно встраивается в современные процессы доставки. Если у вас релизы собираются автоматически, то и обновления можно автоматизировать до довольно зрелого уровня.
Коммерческая поддержка и зрелая документация
Не у всех есть желание собирать всю инфраструктуру OTA только на диком опенсурсе. Когда продукт уже живёт в поле, коммерческая поддержка и нормальная документация стоят своих денег (евро, в данном случае).
Короче, Mender — это вариант, когда задача уже вышла за рамки «обновить образ на девайсе» и превратилась в управление жизненным циклом устройств, а так же требуется экономить время и силы уважаемых инженеров встраиваемого ПО
Но есть нюанс: это норвежский vendor lock продукт.
Интересно, существуют ли российские аналоги? Делитесь в комментариях вашими догадками☕️