Разработчики инструментария управления конфигурацией Chef (https://www.chef.io/) представили (https://www.chef.io/blog/2016/06/14/introducing-habitat/) проект Habitat (https://www.habitat.sh/), в рамах которого предложен новый формат самодостаточных пакетов, которые можно использовать для установки в различных дистрибутивах Linux. Пакеты Habitat включают в себя все используемые приложением зависимости и не привязаны к конкретным дистрибутивам Linux, но в отличие от пакетов flatpak (https://www.opennet.me/opennews/art.shtml?num=44422) и snap (https://www.opennet.me/opennews/art.shtml?num=44601), дополнительно включают элементы для автоматизации обновления и управления настройками. Код проекта написан на языке Rust и распространяется (https://github.com/habitat-sh/habitat) под лицензией Apache 2.0.Основная идея проекта заключается в переносе средств централизованного управления конфигурацией и обновлениями на сторону пакета с приложением. Таким образом средства автоматизации при применении Habitat сосредоточены на приложении, а не на инфраструктуре для его выполнения, позволяя уделять больше внимание возможностям сборки, тратя меньше времени на подготовку окружения для выполнения. Приложение без изменений может запускаться как на выделенных серверах, так и в виртуальных машинах, контейнерах или системах "приложение как сервис" (PaaS).
Формат пакетов подразумевает включение в состав всех необходимых для работы приложения зависимостей, предоставляя самодостаточное окружение, изолированное и независимое от внешней системы. Помимо непосредственно формата пакетов Habitat также предоставляет супервизор для контроля за их выполнением (runtime supervisor), в который встроены средства для координации развёртывания приложения и определения доступных сервисов. Супервизор имеет информацию о взаимодействии между экземплярами текущего приложения, правилах перезапуска, стратегии обновления, а также отвечает за настройку конфигурации для выполнения текущего экземпляра и выполняет функции его подключения к сервисам управления и мониторинга.
Особенности Habitat:- Предоставление повторяемых сборок - бинарные файлы, собранные на другой системе, будут полностью эквивалентны, что упрощает проведение аудита;
- Выполнение в окружении единого и неизменного набора ресурсов;
- Возможность централизованного управления runtim-конфигурацией приложения с учётом различных сценариев развёртывания программы;- Независимость от дистрибутива Linux и типа окружения (VM, контейнер, обычный сервер, PaaS);
- Предсказуемое (идемпотентное (https://ru.wikipedia.org/wiki/%D0%98%D0%... поведение - обработка идентичных входных данных в разное время приводит к одинаковому результату;- Простота внедрения;
- Независимость от языков программирования.
URL: https://www.chef.io/blog/2016/06/14/chef-launches-habitat-ne.../
Новость: http://www.opennet.me/opennews/art.shtml?num=44619
Вот она - новая мода. Раньше плееры писали, потом СУБД, теперь это.
> Раньше плееры писали, потом СУБД, теперь это.Вы забыли про браузеры, контейнеры и мобильные операционки на базе андроида :)
Я тоже хочу создать свой формат универсальных пакетов.
Буду туда зонды лепить на все Линуксы сразу. Разбогатею… ☺
Авторы одной из популярных систем управления конфигурациями создали продукт решающий задачи управления конфигурациями. Модники и велосипедостроители - дальше некуда )))Только новость преподнесена так, будто это новый аналог систем управления пакетами для обычных пользователей, а не управляемой сборки и деплоя проектов, поэтому большинство даже не въехав в суть начинают строчить комментарии в духе "чем вас стандартные репозитории не устраивают".
>одной из популярных систем управления конфигурациямиЕе популярность в первую очередь обусловленна тем, что на момент ее выхода не было альтернатив. В 2016м же популярность стремительно начала падать благодаря быстро развивающимся salt-stak и ansible, chef стремительно начал терять популярность, потому и городят вот эти все велосипеды - конкуренты за жопу кусают
Больше, нужно ещё больше форматов самодостаточных пакетов!!! Уже 4. А вдруг наш победит? Будет баблооооо!
Просто созрела идея новой технологии и параллельно развиваемые реализации полезли как грибы. Такое было с виртуализацией, облачными системами, мобильными технологиями и контейнерами. Да что там, самый яркий пример изобретение радио - Попов vs Маркони vs Тесла vs Эдисон.
да тоже мне блин новая технология. винду изобрели.
Ты читал какую-то другую новость.
Это не новая технология.
Идея давно созрела и даже реализации были. Видать, спрос появился или умы стали меняться (не у всех конечно)
Выкидывают карты на стол, а то игра пройдет без них...
Вроде как круче снапа, но у каноникл больше влияние на декстопах. А может снапы будут удонее для декстопных прог, а сабж для серверных, хз
Самодостаточное приложение, воспроизводимые сборки, супервизоры, контейнеры, облака - сабж однозначно под серверное ПО пилится и даже не для замены стандартных репозиториев, как можно было бы подумать, а именно для обслуживания частных продуктов, которые нужно предсказуемо разворачивать где-нибудь на хостинге и беспроблемной миграции от одного провайдера к другому.
Идея созрела во времена CP/M. Или немного раньше.
>Уже 4Скорее 400
Логическое мышление напрочь отсутствует. Собственно как и у многих тут.
После "Собственно" запятая должна быть. Гомунитарное мышление тоже бывает полезным.
ГОмунитарное? Это шта такое? Шта за мышление??? :))) Мышление бывает правильное ( логичное ) и не правильное ( не логичное ), третьего не дано. Учите логику. )
>не правильноеТьфу на тебя.
И собрать пакет надо будет под все из них :) Круг замкнулся.
15-ый альтернативный стандарт?
Смешной комикс. Сидел с каменным лицом.
попробуйте изучить английский.
Стандартов пока нет. Есть опытные имплементации. Ситуация примерно как с дистрибутивами Linux. Вполне очевидно, что этот bazaar должен закончится в интересах самих линуксойдов.
>линуксойдовКого-кого?
Первые 400 раз эта шутка действительно была смешной... ;)
> Первые 400 раз эта шутка действительно была смешной... ;)Точно! Теперь уже пора за ещё одну "контейнерезацию", "универсальную пакетино" и проч.баз-ворд-овщину отстреливать с занесением.
> Первые 400 раз эта шутка действительно была смешной... ;)В чём шутка-то? Это откровение пострашнее Апокалипсиса. Там сбудется один раз и всё, избавились. А этот комикс сбывается каждый день, и конца ему не видно...
Ruby, Erlang, Rust - такое впечатление, что каждый новопринятый разработчик несёт с собой свой язык.
Глядя на всё это, всё больше хочется оставаться на Ансибле(да, я знаю что что он, будучи remote execution tool, не дорос по функционалу до систем управления конфигурациями, но с тысячами хостов справляется).
А при чем здесь эрланг? Что на нем написано?
erchef
спасибо, не знал
И это был ответ тормозам на руби.
RabbitMQ
Предлагаю делать JAR, а внутри программа и виртуальная машина для его/её запуска.
Один формат — выполняется везде.
> Предлагаю делать JAR, а внутри программа и виртуальная машина для его/её запуска.
> Один формат — выполняется везде.Так java и так "выполняется везде" на словах, а на деле,
java апологеты оподливились в чем только вообще возможно.
>> Предлагаю делать JAR, а внутри программа и виртуальная машина для его/её запуска.
>> Один формат — выполняется везде.
> Так java и так "выполняется везде" на словах, а на деле,
> java апологеты оподливились в чем только вообще возможно.Без JNI явную проблему трудно найти. У меня только одна была, с отрисовкой кастомного фона в Swing.
Чем репы то не устраивают с отсутствием дублирующих друг друга одинаковых библиотек?
В ситуации с репами DLL hell слишком сложно организовать
Зато прекрасно организуется dependency hell:)
это у кого как. выбирать бинарный дистр и тащить в него бинари "от производителей софта" да, будет тебе dependency hell. но решение-то уже давно есть. source-based, SB+BB.
Source Based Hell...
> Source Based Hell...— А на той планете есть охотники?
— Нет.
— Как интересно! А куры там есть?
— Нет.
— Нет в мире совершенства! — вздохнул лис.
> Source Based Hell...ну тут кому как. кому Hell, кому дом родной ;)
> Чем репы то не устраивают с отсутствием дублирующих друг друга одинаковых библиотек?Очень интересное предложение для организации "воспроизводимой конфигурации" при миграции с rpm-based на deb-based или на большее расстояние. И даже между версиями одного X-based.
прорвало..
Как это конфигурить?
> Как это конфигурить?Ты не поверишь.
Ручками или через систему централизованного управления.
Новость не читал, ПО не ставил, но решительно осуждаешь?
Очень жаль.
Это всё развивает помойку и вместо уменьшения фрагментации - усиливает её...
Прямо вот так "всё"? Каким образом повторяемость сборок, выполнение в окружении единого набора ресурсов, возможность централизованного управления runtime-конфигурацией приложения, независимость от дистрибутива Linux и типа окружения, идемпотентность, простота внедрения и независимость от языков программирования "развивает помойку и вместо уменьшения фрагментации - усиливает её" ?
> Прямо вот так "всё"? Каким образом повторяемость сборок, выполнение в окружении единого
> набора ресурсов, возможность централизованного управления runtime-конфигурацией приложения,
> независимость от дистрибутива Linux и типа окружения, идемпотентность, простота внедрения
> и независимость от языков программирования "развивает помойку и вместо уменьшения фрагментации
> - усиливает её" ?Последовательно:
Сборки обычных пакетов и так повторяемы.
Выполнение в своём всегда правильном окружении хорошо до тех пор, пока не встаёт вопрос о том, кто должен заниматься сопровождением этих окружений и портировать туда обновления безопасности.
Для централизованного управления run-time конфигурацией и старые SCM подходили.
Независимость от дистрибутива и Linux-окружения - в частности бьёт по свободе выбора у пользователя.
Независимость от типа окружения вообще говоря не будет. Вот тот же firefox вы запустили, допустим, в chroot-е, а он ведь ничего не знает о том, какие программы есть во внешней системе. И чёрта с два вы откроете pdf-ку в Evince, потому что последнего в chroot-е нету. То же самое и с контейнерами.
Простота внедрения обычно никого не волнует, в отличие от простоты использования.Так что помойку разведут ту ещё. ;)
> И чёрта с два вы откроете pdf-ку в Evince, потому что последнего в chroot-е нету. То же самое и с контейнерами.изобретут систему межконтейнерного взимодействия
>> И чёрта с два вы откроете pdf-ку в Evince, потому что последнего в chroot-е нету. То же самое и с контейнерами.
> изобретут систему межконтейнерного взимодействияВот именно. Следовательно:
>> Независимость от типа окружения вообще говоря не будет.
> Сборки обычных пакетов и так повторяемы.Прямо вот один в один у RedHat, Debian и всех прочих?
Так что даже не приходится гуглить как аналог пакета называется и куда ложатся его файлы?
А уж как окружение повторяемо даже между релизами одного дистра - просто прелесть.> портировать туда обновления безопасности
За всё нужно платить. И универсальность, и специализация имеют каждая свою цену. Хочешь в вопросах безопасности зависеть от кого-то - пожалуйста, это тоже опция, если для тебя дорого заниматься этим на надлежащем уровне. Но это не "единственно правильный" путь.
> и старые SCM подходили
Звучит так, будто кого-то насильно загоняют на новые, аки на systemd
> Независимость от дистрибутива и Linux-окружения - в частности бьёт по свободе выбора у пользователя
Свобода выбора бьёт по свободе выбора. Я всегда подозревал что с этой свободой что-то не то.
> чёрта с два вы откроете pdf-ку в Evince, потому что последнего в chroot-е нету
Что мешает попросить десктоп-окружение открыть файл в соответствии с настройками десктоп окружения? Почему файрфокс и любая другая программа должны велосипедить эту функцию?
> Простота внедрения обычно никого не волнует, в отличие от простоты использования
Вы всего-лишь смотрите просто со стороны тех, кого не волнует простота внедрения и волнует простота использования. Не стоит обобщать свой опыт и свои потребности на всех.
Алекс, Вы не правильно поняли мой посыл. В этом отчасти моя вина.Я хотел и хочу подчеркнуть, что сам подход не является серебряной пулей, и имеет ряд недостатков. Если он удовлетворяет потребности некоторых пользователей - это хорошо. Но пользователь должен быть в курсе, что удовлетворяя эти свои потребности здесь, он теряет в некоторых других аспектах использования ПО. Облегчая жизнь пользователя при установке программы, мы усложняем ему жизнь (а возможно ещё и мейнтейнерам) при обновлении и организации межпрограммных взаимодействий между контейнерами.
>> Сборки обычных пакетов и так повторяемы.
> Прямо вот один в один у RedHat, Debian и всех прочих?Ну почти. В Debian - практически один-в-один. Хотя дебиановский buildd вообще говоря в ряде случаев не вычищает окружение от результатов предыдущей сборки, но часто бывает и не нужно. У Red Hat и Fedora с этим не очень, если память не изменяет. У ALT Linux должно быть с этим всё очень хорошо, ибо они изначально заложились на воспроизведение окружения через hasher.
>> Независимость от дистрибутива и Linux-окружения - в частности бьёт по свободе выбора у пользователя
> Свобода выбора бьёт по свободе выбора. Я всегда подозревал что с этой свободой что-то не то.Вообще говоря, я тут кажется ошибся. Я изначально думал о том, что политика дистрибутивов влияет на то, как собирается пакет, с какими флагами, с какими зависимостями. Но в принципе ничто не мешает иметь несколько пакетов с независимой от дистрибутива программой, которые просто собраны с разными флагами.
>> чёрта с два вы откроете pdf-ку в Evince, потому что последнего в chroot-е нету
> Что мешает попросить десктоп-окружение открыть файл в соответствии с настройками десктоп
> окружения? Почему файрфокс и любая другая программа должны велосипедить эту функцию?Потому что настройки вашего desktop-окружения должны быть проброшены каким-то образом в контейнер, в котором работает firefox? Потому что программа, которой вы хотите открыть этот файл, отсутствует в окружении контейнера, но находится в каком-то своём окружении?
>> Простота внедрения обычно никого не волнует, в отличие от простоты использования
> Вы всего-лишь смотрите просто со стороны тех, кого не волнует простота внедрения и волнует простота использования.Я смею предположить, что нас всё-таки большинство. Внедрение - это разовая процедура. А вот использование - длительно.
Похоже, что это эпидемия!
Их там всех M$ покусал, что ли?
А при чем тут МС ? Я так понимаю эта штука больше похожа на макось, там где один из вариантов установки - тупо перетянуть файлик в папку Application, при чем это работало еще в эпоху MacOS 9
> Похоже, что это эпидемия!
> Их там всех M$ покусал, что ли?Оно понятно, что кроме винды вы ничего не знаете, поэтому у вас переносимое скомпилированное ПО вызывает такие ассоциации.
Тем веселее будет услышать от вас ответ "никак" на вопрос "как вы собираетесь решать проблемы, для устранения которых был написан Habitat?".
Решать несуществующие проблемы, одновременно создавая вполне реальные? Нет уж, спасибо.
Их покусал Apple, видимо - заразно.
с чего бы? Тыблоки - вообще никто в виртуализации\контейнерах Ытц. ОТ слова напрочь! :)
>RustКогда уже пройдет мода?
Есть лучшие альтернативы? Предлагайте, послушаем.
C++
Например, Ada или Oz. Но нет, важно придумать велосипед.
>Ada или OzКогда уже пройдёт мода?
На Oberon можно в день 3 таких системы написать!
Да здраствует антикитерский механизм!
Нет альтернатив. Rust настолько популярен и удобен, что на нём пишутся даже стихи и валентинки, а программисты на плюсосях, пиашпях и прочих яваскриптах рьяно репетируют метение лопатой, чтобы попасть хотя бы в дворники.
> Нет альтернатив. Rust настолько популярен и удобен, что на нём пишутся даже
> стихи и валентинки, а программисты на плюсосях, пиашпях и прочих яваскриптах
> рьяно репетируют метение лопатой, чтобы попасть хотя бы в дворники.Прочитал свой первый в жизни учебник по программированию? :)
Через год модной будет очередная другая суперпуперзамена С++, Явы, C#, Python.
И эти кадры еще wdm ругают?
Хомячки не врубаются насколько подобные вещи нужны. Но я, пожалуй, лучше поверю в snap.
Господи... Что люди только не делают, лишбы не NixOS.
У каноникла и редхата свои рычаги давления есть, чтобы разработчиков и линуксоидов на свою сторону склонить. Как эти-то и все подобные им собираются рандомному разрабу и линуксоюзеру впарить, что их велосипед самый велосипедистый?.
> У каноникла и редхата свои рычаги давления есть, чтобы разработчиков и линуксоидов
> на свою сторону склонить. Как эти-то и все подобные им собираются
> рандомному разрабу и линуксоюзеру впарить, что их велосипед самый велосипедистый?.Вот чтобы не было зависимостей от этих рычагов и чтобы не быть рандомным разрабом, фигеющим с набора поддерживаемых фич между разными дистрами и даже версиями одного дистра - подобная штука и нужна.
Сколько завесит либреофис?
LiveDVD ;-)
А есть какой-нибудь формат пакетов, который можно использовать сразу и в Habitat, и в snap, и в flatpak и в других подобных? Чтобы было неважно, какая из систем установлена у пользователя - просто скачал, установил и запустил?
уже давно есть pkgsrc
https://www.pkgsrc.org/#index5h1