Что такое CNAB? Объяснение пакета облачных приложений

Что такое CNAB Изучение

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

Однако работа с облаком по своей сути сложна, а запуск контейнерных приложений имеет свои ограничения: высокая сложность развертывания и привязка к поставщику из-за ограниченной поддержки API. Несмотря на распространение решений для оркестровки контейнеров с открытым исходным кодом, таких как Kubernetes, процесс управления несколькими контейнерами, поддерживающими большое приложение, в мультиоблачной среде является сложной задачей.

Чтобы решить эти проблемы, Cloud Native Application Bundle дебютировал в 2018 году как спецификация формата пакетов, не зависящая от облака, для многокомпонентных контейнерных приложений. Как CNAB этого добивается? Каковы основные элементы системы CNAB? Кому следует использовать CNAB?

Давайте подробно обсудим эти вопросы.

Решение Cloud Native Application Bundle (CNAB)

Рассмотрим случай распределенных приложений на основе контейнеров, которые используют несколько интеграций API.

Рассмотрим случай распределенных приложений на основе контейнеров

Контейнеры, работающие как исполняемые единицы программного приложения, стандартным образом упаковывают код, библиотеки и зависимости для работы в традиционных центрах обработки данных или в облачных средах. Дополнительные услуги, включая виртуальные машины ( ВМ ) и Функцию как услугу (FaaS), также входят в пакет вместе с балансировщиками нагрузки и другими службами, подключенными к REST API.

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

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

  • Управление и проверка учетных данных содержимого пакета
  • Управление автономными и версионными установками
  • Тестирование, подписание и проверка сведений об установщике
  • Управление журналами аудита и регулярная отчетность для соответствия нормативным и организационным политикам
  • Удаление и деинициализация ресурсов

Компоненты CNAB

Формат Cloud Native Application Bundle предоставляет стандартизированное описание и рекомендации по упаковке приложений для запуска в мультиоблачных средах, периферийных вычислениях или других приложениях и сервисах IoT. CNAB содержит следующие элементы пакета :

  • Описание пакета, такое как версия, теги, ключевые слова и другие описания ресурсов. Эти описания включают версию схемы, информацию о пакете верхнего уровня, список учетных данных и определения схемы.
  • Подробная информация о программе установки, называемая «образ вызова», которая помогает найти и выполнить указанные элементы. Карта изображений и информация об изображениях вызова включены.
  • Список параметров, необходимых для пакета, включая стандартные и определяемые пользователем элементы конфигурации. При необходимости можно ссылаться на настраиваемые действия.
  • Выходные данные, путь и переменные среды, необходимые для выполнения пакета.

CNAB упаковывает пакет и файловые системы времени выполнения, которые могут быть обработаны для извлечения указанного содержимого из существующих репозиториев. Криптографическая проверка применяется, чтобы гарантировать, что исходные репозитории являются надежными и на них правильно ссылаются.

Документ CNAB также содержит подробную информацию о том, как устанавливаются вызванные образы файлов, включая макет и схему системы.

Для кого предназначен CNAB?

CNAB — это инструмент инфраструктуры, который могут использовать разработчики, операторы и даже пользователи B2B на рынке комплектов — или клиенты также могут использовать его напрямую. Рассматривайте CNAB как унифицированную неизменяемую установку системы контейнеров приложений, которую можно повторно использовать для каждого процесса установки несколькими простыми щелчками мыши.

CNAB имеет множество вариантов использования, особенно в среде DevOps:

Автоматизация установки

Разработчик, создающий приложение, может также написать подробное руководство по процессу установки в виде файла readme.txt. Имея доступный файл readme, операционный персонал, занимающийся подготовкой инфраструктуры, захочет автоматизировать процесс установки с помощью инструмента командной строки. С пакетами CNAB пользователям не нужно переписывать файлы сценариев bash, а вместо этого автоматизировать процесс установки как часть конвейера CI / CD.

Более глубокая автоматизация

Разработчики могут еще больше расширить стандартизированный процесс автоматизации, передав снимок сложной, но неизменной настройки в системы автоматизации, используя его для цифровой подписи и проверки, а также для непрерывного развертывания. Следующая группа пользователей, включая персонал Ops или клиентов, не должна учиться и проходить весь процесс установки приложения, если у них есть соответствующие учетные данные.

Важно понимать, что пакеты CNAB, установочные контейнеры и исполняемые модули — это образы Open Container Initiative (OCI), которые по умолчанию выполняются с использованием таких инструментов, как Porter. Эти образы можно публиковать в реестрах распространения, включая частные локальные реестры. В результате CNAB теперь содержит не только образ Docker с одним сервисом, но и все приложение и стек развертывания.

Это делает неизменяемость и распространение контейнерных стеков удобными для всех пользователей в командах DevOps.

Читайте также:  Большие данные, большое влияние: как данные улучшают ваш маркетинг в социальных сетях
Оцените статью
bestprogrammer.ru
Добавить комментарий