VMware представила унифицированный фреймворк разработки VCF SDK 9.0 для Python и Java.

VMware представила унифицированный фреймворк разработки VCF SDK 9.0 для Python и Java.

Улучшение опыта разработчиков (Developer Experience) — один из главных приоритетов в дальнейшем развитии платформы VMware Cloud Foundation (VCF). Если рассматривать автоматизацию в целом, то можно выделить две чёткие категории пользователей: администраторы и разработчики.

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

Разработчики, напротив, ориентированы на интеграцию возможностей VCF в пользовательские приложения и решения. Им необходимы API и SDK, обеспечивающие программный доступ к сервисам и данным VCF, позволяя разрабатывать собственные инструменты, сервисы и расширения. Потребности в автоматизации у этих двух групп значительно различаются и соответствуют их уникальным ролям в экосистеме VCF. Понимая эти различия, Broadcom предлагает набор интерфейсов прикладного программирования (API), средств разработки (SDK) и разнообразных инструментов автоматизации, таких как PowerCLI, Terraform и Ansible.

Оглядываясь назад, можно сказать, что VMware хорошо обслуживала сообщество администраторов, предоставляя им различные инструменты. Однако API и SDK требовали улучшения в области документации, лучшей интеграции с VCF-стеком в целом и упрощения процесса для разработчиков. До выхода VCF 9.0 разработчики использовали отдельные SDK решений, сталкиваясь с трудностями, связанными с их интеграцией — такими как совместимость, аутентификация и сложность API. С выходом VCF 9.0 VMware рада объявить о доступности Unified VCF SDK 9.0. Давайте подробнее рассмотрим, что это такое.

Unified VCF SDK

Unified VCF SDK доступен с привязками к двум языкам — Java и Python. Это объединённый SDK, который включает в себя все основные SDK решений VCF в единый, упрощённый пакет. В своей первой версии Unified VCF SDK объединяет существующие SDK и добавляет новые библиотеки для установщика VCF и менеджера SDDC.

Список компонентов VCF, включённых в первую версию Unified VCF SDK:

  • VMware vSphere
  • VMware vSAN
  • VMware Cloud Foundation SDDC Manager (новый)
  • VMware Cloud Foundation Installer (новый)
  • VMware vSAN Data Protection

Несмотря на то, что Unified VCF SDK поставляется как единый пакет, пользователи могут устанавливать и использовать только те библиотеки, которые необходимы для конкретных задач.

Для краткости в этом тексте Unified VCF SDK будет обозначаться как VCF SDK.

Преимущества

VCF SDK обеспечивает простой, расширяемый и единообразный опыт для разработчиков на протяжении всего жизненного цикла разработки.

Упрощённый жизненный цикл разработчика

С этим релизом были стандартизированы методы доставки и распространения, чтобы поддерживать различные сценарии развертывания:

  • Онлайн-установка через PyPI (Python) и Maven (Java) — для прямого доступа и лёгкой установки/обновлений.
  • Офлайн-установка через портал разработчиков Broadcom — идеально для сред с ограниченным доступом в интернет.
  • Готовность к CI/CD — интеграции через пакеты и инструкции, размещённые на GitHub, для бесшовного включения в автоматизированные пайплайны при установке и обновлении.

Улучшенная документация и онбординг

VMware переработала документацию, чтобы упростить старт:

OpenAPI-спецификация

OpenAPI-спецификация описывает API в стандартизированном машинно-читаемом формате (YAML/JSON). С выходом VCF SDK были также публикованы OpenAPI-спецификации для API-эндпоинтов. Это не просто документация — это шаг к философии API-first и ориентированности на разработчиков.

С помощью OpenAPI-спецификаций разработчики могут:

  • Автоматически генерировать клиентские библиотеки на предпочитаемых языках с помощью инструментов вроде Swagger Codegen, Kiota или OpenAPI Generator.
  • Загружать спецификации в такие инструменты, как Swagger UI, Redoc или Postman, чтобы визуально исследовать доступные эндпоинты, параметры, схемы ответов и сообщения об ошибках.
  • Понимать структуру API и его поведение.

Скачать OpenAPI-спецификацию можно с портала разработчиков Broadcom или из репозитория GitHub.

VCF Python SDK

VCF Python SDK включает в себя следующие модули:

Компонент Описание
pyVmomi (включает vSAN) pyVmomi — это Python SDK для API управления VMware vSphere, который позволяет быстро создавать решения, интегрированные с VMware ESX и vCenter Server.
vCenter Server Библиотека VMware vCenter Server содержит клиентские привязки для автоматизационных API VMware vCenter Server.
VMware vSAN Data Protection Библиотека VMware vSAN Data Protection содержит клиентские привязки для управления встроенными снапшотами, хранящимися локально в кластере vSAN, восстановления ВМ после сбоев или атак вымогателей и т.д.
Менеджер программно-определяемого датацентра (SDDC Manager) Библиотека VMware SDDC Manager содержит клиентские привязки к автоматизационным API для управления компонентами инфраструктуры программно-определяемого датацентра (SDDC).
Установщик VMware Cloud Foundation (VCF Installer) Модуль VCF Installer в составе VCF SDK содержит библиотеки для проверки, развертывания, преобразования и мониторинга установок VCF и VVF с использованием новых или уже существующих компонентов.

Каналы распространения

Unified VCF SDK доступен через различные каналы распространения. Это сделано для того, чтобы удовлетворить потребности разных типов сред и разработчиков — каждый может получить доступ к SDK в наиболее удобном для него месте. Ниже перечислены доступные каналы, откуда можно загрузить VCF SDK.

Портал разработчиков Broadcom

VCF Python SDK доступен для загрузки на портале разработчиков Broadcom. Вы можете распаковать содержимое ZIP-архива vcf-python-sdk-9.0.0.0-24798170.zip, чтобы ознакомиться с библиотеками SDK, утилитами и примерами. Однако сторонние зависимости не входят в состав архива — они перечислены в файле requirements-third-party.txt, находящемся внутри vcf-python-sdk-9.0.0.0-24798170.zip.

Файлы .whl компонентов VCF SDK находятся в папках ../pypi/*, а примеры кода для компонентов расположены в директориях вида /<имя_компонента>-samples/.

PyPI

VCF SDK доступен в PyPI, что позволяет разработчикам устанавливать и обновлять модуль онлайн. Это самый быстрый способ начать работу с VCF SDK.

Чтобы установить VCF SDK, выполните следующую команду:

$ pip install vcf-sdk

Пакеты, установленные через pip, можно автоматически обновлять. Чтобы обновить VCF SDK, используйте команду:

$ pip install --upgrade vcf-sdk

Чтобы установить конкретную библиотеку из состава VCF SDK, выполните:

$ pip install {имя-библиотеки}

Примеры:

$ pip install pyvmomi

$ pip install vcf-installer

GitHub

Разработчики также могут скачать пакет VCF SDK из репозитория VMware на GitHub.

VCF Java SDK

VCF Java SDK включает в себя следующие артефакты:

Компонент Описание
VMware vCenter Server Модуль vCenter в составе VCF SDK предоставляет операции, связанные с контент-библиотеками, развертыванием ресурсов, тегированием, а также управлением внутренними и внешними сертификатами безопасности.
Управление виртуальной инфраструктурой (VIM) Модуль VIM (Virtual Infrastructure Management) предоставляет операции для управления вычислительными, сетевыми и хранилищными ресурсами. Эти ресурсы включают виртуальные машины, хосты ESXi, кластеры, хранилища данных, сети и системные абстракции, такие как события, тревоги, авторизация и расширения через плагины.
SSOCLIENT Модуль единого входа (Single Sign-On) взаимодействует с сервисом Security Token Service (STS) для выдачи SAML-токенов, необходимых для аутентификации операций с API vCenter.
VMware vSAN Data Protection (vSAN DP) С помощью встроенных снимков, локально хранящихся в кластере vSAN, модуль защиты данных vSAN обеспечивает быстрое восстановление ВМ после сбоев или атак вымогателей. API защиты данных vSAN управляет группами защиты и обнаруживает снимки виртуальных машин.
Управление жизненным циклом виртуального хранилища (VSLM) Модуль VSLM (Virtual Storage Lifecycle Management) предоставляет операции, связанные с First Class Disks (FCD) — виртуальными дисками, не привязанными к конкретной виртуальной машине.
Служба мониторинга хранилища (SMS) Модуль SMS (Storage Monitoring Service) предоставляет методы для получения информации о доступной топологии хранилищ, их возможностях и текущем состоянии. API Storage Awareness (VASA) позволяет хранилищам интегрироваться с vCenter для расширенного управления. Провайдеры VASA предоставляют данные о состоянии, конфигурации и емкости физических устройств хранения. SMS устанавливает и поддерживает соединения с провайдерами VASA и извлекает из них информацию о доступности хранилищ.
Управление на основе политик хранения (SPBM) Модуль SPBM (Storage Policy Based Management) предоставляет операции для работы с политиками хранения. Эти политики описывают требования к хранению для виртуальных машин и возможности провайдеров хранения.
vSAN Модуль vSAN предоставляет средства конфигурации и мониторинга vSAN-кластеров хранения и связанных сервисов на хостах ESXi и экземплярах vCenter Server. Включает функции работы с виртуальными дисками, такие как монтирование, разметка, безопасное удаление и создание снимков.
Менеджер агентов ESX (EAM) Менеджер агентов ESX (ESX Agent Manager) позволяет разработчикам расширять функциональность среды vSphere путём регистрации пользовательских программ как расширений vCenter Server. EAM действует как посредник между vCenter и такими решениями, управляя развертыванием и мониторингом агентских ВМ и установочных пакетов VIB.
SDDC Manager Модуль SDDC Manager предоставляет операции для управления и мониторинга физической и виртуальной инфраструктуры, развернутой в рамках VMware Cloud Foundation.
Установщик VMware Cloud Foundation (VCF Installer) Модуль VCF Installer предоставляет операции для проверки, развертывания, преобразования и мониторинга установок VCF и VVF с использованием новых или уже существующих компонентов.

Каналы распространения

Аналогично Python SDK, JAVA SDK также доступен через различные каналы распространения, что позволяет использовать его в самых разных средах.

Портал разработчиков Broadcom

VCF Java SDK доступен для загрузки на портале разработчиков Broadcom. Вы можете распаковать содержимое ZIP-архива vcf-java-sdk-9.0.0.0-24798170.zip, чтобы ознакомиться с библиотеками SDK, утилитами и примерами.

Файлы привязок SDK .jar, утилит .jar, а также BOM-файлы находятся в папке:

../maven/com/vmware/*

Maven

Артефакты VCF SDK доступны в Maven Central под groupId: com.vmware.sdk. В таблице ниже указаны данные об артефактах VCF SDK для версии 9.0.0.0.

Чтобы начать работу с VCF SDK, добавьте зависимость в файл pom.xml вашего проекта:

<dependencies>
<dependency>
<groupId>com.vmware.sdk</groupId>

<artifactId>vcf-sdk</artifactId>
<version>9.0.0.0</version>
</dependency>
</dependencies>

GitHub

Разработчики также могут скачать пакет VCF SDK из репозитория VMware на GitHub.

Журнал изменений API

С выходом VCF 9.0 VMware начала публиковать журнал изменений API. В нём отражаются все изменения: новые API, обновления существующих и уведомления об устаревании. Ознакомиться с журналом изменений можно здесь.

Ресурсы

Репозитории Github:

Страницы Getting Started:

Заключение

С выпуском VMware Cloud Foundation 9.0 объединение различных библиотек в один SDK с улучшенной документацией, примерами кода и спецификацией OpenAPI — это важный шаг к простому, расширяемому и согласованному опыту для разработчиков.

Следующий шаг за вами — попробуйте Unified VCF SDK 9.0 и поделитесь с нами своими отзывами.

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

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