Июн 17, 2016 - 0 Comments - Интересно -

Проект Chef представил формат самодостаточных универсальных пакетов Habitat

17.06.2016 12:43 Проект Chef представил формат самодостаточных универсальных пакетов Habitat

Разработчики инструментария управления конфигурацией Chef представили проект Habitat, в рамах которого предложен новый формат самодостаточных пакетов, которые можно использовать для установки в различных дистрибутивах Linux. Пакеты Habitat включают в себя все используемые приложением зависимости и не привязаны к конкретным дистрибутивам Linux, но в отличие от пакетов flatpak и snap, дополнительно включают элементы для автоматизации обновления, развёртывания и управления настройками. Код проекта написан на языке Rust и распространяется под лицензией Apache 2.0.

Основная идея проекта заключается в переносе средств централизованного управления конфигурацией и обновлениями на сторону пакета с приложением. Таким образом средства автоматизации при применении Habitat сосредоточены на приложении, а не на инфраструктуре для его выполнения, позволяя уделять больше внимание возможностям сборки, тратя меньше времени на подготовку окружения для выполнения. Приложение без изменений может запускаться как на выделенных серверах, так и в виртуальных машинах, контейнерах или системах «платформа как сервис» (PaaS).

Формат пакетов подразумевает включение в состав всех необходимых для работы приложения зависимостей, предоставляя самодостаточное окружение, изолированное и независимое от внешней системы. Помимо непосредственно формата пакетов Habitat также предоставляет супервизор для контроля за их выполнением (runtime supervisor), в который встроены средства для координации развёртывания приложения и определения доступных сервисов. Супервизор имеет информацию о взаимодействии между экземплярами текущего приложения, правилах перезапуска, стратегии обновления, а также отвечает за настройку конфигурации для выполнения текущего экземпляра и выполняет функции его подключения к сервисам управления и мониторинга. Управление осуществляется через HTTP API.

Особенности Habitat:

  • Предоставление повторяемых сборок — бинарные файлы, собранные на другой системе, будут полностью эквивалентны, что упрощает проведение аудита;
  • Выполнение в окружении с единым и неизменным набором ресурсов;
  • Возможность централизованного управления runtime-конфигурацией приложения с учётом различных сценариев развёртывания;
  • Независимость от дистрибутива Linux и типа окружения (VM, контейнер, обычный сервер, PaaS);
  • Поддержка различных платформ контейнерной изоляции и оркестровки контейнеров в кластере — Docker, rtk, Kubernetes, Mesosphere;
  • Предсказуемое (идемпотентное) поведение — обработка идентичных входных данных в разное время и в разных окружениях приводит к одинаковому результату;
  • Возможность продолжения использования устаревших приложений, которые уже не могут выполняться в штатном окружении современных дистрибутивов;
  • Читаемость и простота написания сценариев и конфигурационных файлов, которые могут храниться в обычной системе управления версиями, вместе с самим приложением;
  • Наличие сборочной системы, собирающей новые версии пакетов в соответствии с заданным планом сборки и публикующей их для установки и обновления;
  • Поддержка автоматического обновления;
  • Обновление выполняется атомарно с возможностью отката на прошлую версию;
  • Независимость от языков программирования.

  1. Главная ссылка к новости (https://www.chef.io/blog/2016/…)
  2. OpenNews: Представлена распределённая операционная система DC/OS (Datacenter Operating System)
  3. OpenNews: Canonical развивает универсальные пакеты snap, работающие в различных дистрибутивах Linux
  4. OpenNews: Выпуск xdg-app 0.5.0, изолированных контейнеров для графических приложений
  5. OpenNews: Система изолированных контейнеров для графических приложений xdg-app переименована во flatpak
  6. OpenNews: Обратная сторона систем распространения приложений в обход дистрибутивов
Тип: Программы
Ключевые слова: chef, habitat
При перепечатке указание ссылки на opennet.ru обязательно
 Добавить комментарий

Навигация

Let’s block ads! (Why?)


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Человек ? *