Не так давно мы писали о протоколе VI/JSON от VMware для управления инфраструктурой vSphere. В то же время, у VMware в последнее время появилось много чего еще нового в сфере средств для автоматизации управления виртуальной инфраструктурой, о будущем которых мы сегодня и поговорим, обратив внимание на такие интерфейсы, как API, JSON, OpenAPI.
1. VMware vSphere API
VMware vSphere за последние годы стала значительно более сложным продуктом и теперь предлагает несколько разных типов API-технологий. Наиболее значимыми сегодня являются:
Наличие нескольких API добавляет сложности в управление и эксплуатацию сложных сред. Эта сложность проявляется в разных аспектах, начиная с необходимости в нескольких инструментах, знаниях и навыках, в зависимости от API. Кроме того, разные API "висят" на разных эндпоинтах и требуют разные механизмы аутентификации по историческим причинам и для обеспечения обратной совместимости.
Обе категории API документированы отдельно, каждая со своими справочными руководствами и примерами кода. Это может вызвать путаницу для администраторов, поскольку они часто предполагают, что должны выбирать между REST API или SOAP API, но на самом деле им нужно использовать оба. REST не является заменой для SOAP API, но дополняет его.
В плане API компания VMware работает в трех основных направлениях:
Упрощение использования API
Упрощение документации
Улучшение опыта разработчиков и унификация протоколов и наборов инструментов
Основные ресурсы, с которых надо начать знакомство с этими API, это:
Во-первых, начиная с vSphere 8 Update 1, был введен новый протокол JSON для всех Web Services API в VMware vSphere. Это помогает унифицировать опыт разработки, позволяя разработчикам использовать общие инструменты, и преобразует SOAP API для применения более REST-подобного подхода. Этот JSON API в vSphere 8 Update 1 и новее предоставляет полный набор функциональных возможностей, предлагаемых традиционным vim25 SOAP API.
Во-вторых, были сохранены та же структура, управляемые объекты и имена методов, чтобы клиенты могли перенести существующие решения для автоматизации на новый протокол JSON с минимальными изменениями.
Наконец, VMware предлагает спецификации OpenAPI 3.0 в дополнение к документации по JSON API виртуальной инфраструктуры. VMware также ведет работу по объединению документацию по JSON API с документацией по Automation API, где задокументированы все REST-сервисы. Это приближает момент создания единого места для поиска документации клиентами.
3. Формат OpenAPI 3.0
В будущем VMware перенесет оставшиеся публичные интерфейсы SOAP-сервисов (SPBM, SMS, EAM, VLSM) на эти же форматы, предоставляя спецификации OpenAPI 3.0 для каждого из них и интеграцию с документацией REST API.
После этого следующим улучшением будет предоставление единого механизма аутентификации для REST API и нового протокола JSON для SOAP API. Это упростит создание решений для автоматизации и обеспечит общую сессию для всех сервисов vSphere.
Окончательным шагом на этом пути улучшения будет предоставление всех сервисов через единый эндпоинт, с которым администраторы смогут вызывать все API vSphere. Это значительно упростит использование API в vSphere и обеспечит более качественное документирование, тем самым улучшая опыт разработки.