Майкрософт и Докер развитый открытая спецификация Cloud Native Application Bundle (CNAB).
Он описывает универсальный способ упаковки контейнерных приложений для работы в гибридных средах.
Далее мы расскажем, зачем понадобился CNAB и что это такое.
Что такое ЦНАБ
Cloud Native Application Bundle — это спецификация, описывающая, как упаковать компоненты (API, виртуальные машины, контейнеры), необходимые для запуска облачных приложений в распределенных средах.На первый взгляд, эту проблему должен решить сам Docker. Однако известен , что в случае масштабных гибридных инфраструктур ее стандартных функций недостаточно.
Таким образом, CNAB — это попытка унифицировать процесс упаковки, развертывания и управления жизненным циклом распределенных приложений на базе Kubernetes, Helm, Swarm и т. д., используя единый формат пакета.
Эти пакеты основаны на JSON и OpenPGP. Используя Cloud Native Application Bundle, разработчик имеет возможность развернуть свое приложение как на локальной рабочей станции, так и в публичном облаке.
Каждый из IT-гигантов представил свой инструмент, демонстрирующий возможности спецификации.
Для Microsoft таким решением стал клиент спортивная сумка , у Докера есть Докер-приложение .
Примеры
Как мы говорили выше, спецификация определяет способ упаковки распределенных приложений различных форматов.CNAB включает в себя определение пакета (bundle.json) для описания приложения, а также специальное изображение ( образ призыва ), чтобы установить его.
Определение пакета выглядит следующим образом (пример описания находится в официальный репозиторий на GitHub ):
Этот блок описывает параметры пакета с приложением и предоставляет информацию о том, где «искать» образы для установки (формат должен быть docker или oci).{ "schemaVersion": "v1.0.0-WD", "name": "helloworld", "version": "0.1.2", "description": "An example 'thin' helloworld Cloud-Native Application Bundle", "maintainers": [ { "name": "Matt Butcher", "email": "[email protected]", "url": " https://example.com " } ], "invocationImages": [ { "imageType": "docker", "image": "technosophos/ helloworld:0.1.0 ", "digest": " sha256:aaaaaaa .
" } ], "images": [ { "image": "technosophos/ microservice:1.2.3 ", "description": "my microservice", "digest": " sha256:aaaaaaaaaaaa .
", "uri": " urn:image1uri ", "refs": [ { "path": "image1path", "field": "image.1.field" } ] } ], "parameters": { "backend_port" : { "type" : "int", "defaultValue": 80, "minValue": 10, "maxValue": 10240, "metadata": { "description": "The port that the back-end will listen on" } } }, "credentials": { "kubeconfig": { "path": "/home/.
kube/config", }, "image_token": { "env": "AZ_IMAGE_TOKEN", }, "hostkey": { "path": "/etc/hostkey.txt", "env": "HOST_KEY" } } }
Кроме того, в определении указывается размер образа в байтах, платформа, на которой он будет работать, а также архитектура и операционная система.
А вот как описывается само изображение: "invocationImages": [
{
"imageType": "docker",
"image": "technosophos/helloworld:0.1.0",
"digest": "sha256:aca460afa270d4c527981ef9ca4989346c56cf9b20217dcea37df1ece8120685"
}
]
Его задача – установить необходимые для работы компоненты.
Этими компонентами могут быть контейнеры, функции, виртуальные машины и сервисные платформы.
Разработчики из Microsoft подготовили отдельный видео , где рассказали, как работать со стандартом и привели несколько примеров с использованием реального кода.
Что думает ИТ-сообщество?
CNAB — не единственное решение для управления жизненным циклом приложений в облачных средах.Например, для того же Kubernetes есть менеджер Crossplane и менеджер пакетов Helm. Однако CNAB — первое решение, которое охватывает сразу несколько популярных инструментов и не зависит от платформы.
Кстати, CNAB тоже умеет работать с Helm: такой есть даже на GitHub. соответствующий пример .
Благодаря такой универсальности ИТ-сообщество с энтузиазмом приветствовало новую спецификацию.
Один из основателей Kubernetes — Брендан Бернс — отмеченный что установка распределенных приложений с помощью CNAB напоминает установку приложения с обычной флэшки.
По его словам, это так же просто.
Но не все уверены в успехе нового решения.
Некоторые пользователи обеспокоены тем, что CNAB постигнет та же участь, что и другие пакетные менеджеры, которые из-за отсутствия операторов (например, Kubernetes) были преданы забвению.
Чтобы развеять сомнения и обсудить все возможные функции, обращайтесь тематическая ветка на Hacker News присоединился один из создателей решения.
Он ответил на все вопросы жителей участка и выслушал предложения по развитию.
На данный момент CNAB находится в активной стадии разработки .
И Microsoft, и Docker приглашают всех разработчиков присоединиться к ним в доработке спецификации и выпуске ее в производство.
Пара ИТ-гигантов намерена сделать новый инструмент отраслевым стандартом.
При этом представители обеих компаний надеются, что со временем Cloud Native Application Bundle будет развиваться самостоятельно, независимо от его создателей.
Посты из нашего корпоративного блога:
- «Как дела у VMware»: обзор новых решений
- Бессерверные вычисления в облаке – современный тренд или необходимость?
- Почему корпоративные клиенты используют виртуальные машины, а не контейнеры
- ИТ-архитектура будущего – кто к ней готовится и как
- Блокчейн в работе облачного провайдера – 3 области применения
-
Лю Цунчжоу
19 Oct, 24 -
Положит Ли Chrome Os Конец Вирусам?
19 Oct, 24 -
Очередной Троян И Веб-Студия
19 Oct, 24 -
День Закрытия 2012 Г.
19 Oct, 24 -
Первые Всероссийские Цифровые Игры
19 Oct, 24