В расширяющемся мире технологии контейнеров для виртуализации приложений Docker уже не является единственной опцией. Компания CoreOS только что представила расширение своего проекта спецификации контейнеров приложений (appc), включающее поддержку наработок Apcera, Google, Red Hat и VMware.

Проект appc стартовал еще в декабре 2014 г., когда CoreOS представила контейнерную технологию Rocket как альтернативу Docker. Хотя CoreOS создает собственную ОС, оптимизированную для работы с контейнерами и использующую Docker, разработчики CoreOS были не совсем удовлетворены направлением развития Docker. Базовая идея appc состоит в создании такой спецификации контейнеров для сферы Open Source, которая не должна быть привязана ни к одному конкретному вендору или технологии.

Apcera, Google, Red Hat и VMware, говорит исполнительный директор CoreOS Алекс Полви, поддерживают appc по-разному. «Google, продвигая поддержку appc, внедрила rkt (Rocket) в Kubernetes и прикомандировала к проекту appc своего куратора. VMware, недавно изложившая свой план содействия appc, собирается включить rkt в свое решение Project Photon», — сообщил Полви.

Компания Apcera представила дополнительную реализацию appc под названием Kurma, а Red Hat выделила своего инженера, который стал еще одним из кураторов appc.

Таким образом, на сегодняшний день открытую инициативу appc курируют пять специалистов: Винсент Бэтс, старший инженер-программист Red Hat; Тим Хокинс, старший штатный инженер-программист Google; Чарлз Эйлуорд, инженер-программист Twitter; Брэндон Филипс, технологический директор CoreOS; Джонатан Буль, старший инженер CoreOS.

Модель управления инициативой appc также публично описана на портале Github, чтобы обеспечить полную прозрачность процесса разработки appc.

Хотя Docker возможно является самым известным примером контейнерной виртуализации приложений, сегодня, говорит Полви, проекты appc и Docker не перекрываются. Причем Docker (во всех версиях) appc не поддерживает.

По словам Полви, appc прежде всего открывает перспективу определить заменяемый образ, который можно будет использовать в разнообразных реализациях контейнеров.

«Мы стремимся к такой совместимости, чтобы образ, упакованный для работы в среде rkt, мог работать и в другой совместимой среде исполнения, например Kurma, — пояснил Полви. — Такая совместимость предоставит отрасли то, чего не удалось полностью достигнуть с помощью виртуальных машин и облака».

И rkt, и Kurma будут поддерживать образы Application Container Images (ACI), и именно это служит основой для совместимости, сказал Полви. И Kurma, и rkt поддерживают методы обнаружения ACI, определяемые спецификацией appc. «Все, кто инвестирует в создание ACI, получат выгоды от того, что rkt и Kurma смогут их обнаруживать и запускать в действие», — сказал Полви.

По его словам, следующим важным этапом станет продолжение работы над стандартом, с которым смогут согласиться все участвующие в проекте компании. При этом ближайшей вехой разработки appc станет создание стабильной версии 1.0, которую можно будет использовать в практических реализациях.

Quay

Помимо расширенной поддержки appc компания CoreOS также представила новые функции своей платформы репозитория контейнеров Quay. В их числе можно отметить упрощенный пользовательский интерфейс и поддержку репозиториев кода Bitbucket и Gitlab.

Сервис Quay, купленный CoreOS в августе 2014 г., по словам Полви, ныне стал важной частью cmpany.

У Docker тоже имеется собственный проект репозитория контейнеров под названием Docker Registry.

«Quay является полноценным сервисным решением для создания, хранения и управления контейнерными образами, тогда как свободный проект Docker Registry предоставляет лишь самые элементарные возможности для переноса образов, — сказал Полви. — Мы рассматриваем Quay как неотъемлемую часть непрерывного развертывания контейнеризованных приложений сегодня и в будущем».