Автор кейсаRiverstartЛоготип компании

API для интеграции ПО с веб-платформой для управления виртуальными машинами без ручного запуска

Задача
Задача — автоматизировать управление виртуальными машинами и дать веб-платформе возможность передавать команды VirtualBox через программный интерфейс.

Клиент развивает собственную веб-платформу для работы с виртуальными машинами. У него была собственная сборка VirtualBox на Windows-сервере, уже было настроено большое количество виртуальных машин. И он столкнулся с проблемой масштабирования. Оператор вручную создавал и настраивал виртуальные машины: запускал VirtualBox под Windows, проходил этапы создания машины, указывал параметры и проверял результат. Каждая операция занимала время и зависела от его внимательности.

 

Веб-платформа не имела механизма для передачи команд VirtualBox, поэтому не могла запускать этот сценарий без участия оператора. 

Решение — API для интеграции VirtualBox с веб-платформой

У VirtualBox есть штатные инструменты программного управления, включая командную строку ?и программные интерфейсы. Но они не закрывали весь сценарий заказчика. Готового решения под существующую архитектуру заказчика не было, поэтому мы разработали собственную API-обертку, которая перенесла управление виртуальными машинами из VirtualBox ?в веб-платформу.

 

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

 

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

 

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

 

 

Основная сложность проекта в интеграции

В чем сложность автоматизировать VirtualBox через графический интерфейс Windows: простая последовательность кликов не подходит, поскольку приложение может не успеть открыть нужное окно, завершить загрузку, показать дополнительный диалог или предупреждение. И во время выполнения сценария также может измениться состояние виртуальной машины или завершиться не та операция, которую система ожидает.

 

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

Результат — автоматизация

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

 


Перейти на сайт

В карточку агентства

Письмо автору кейса

Пользуйтесь реальным опытом в IT и следите за успехами потенциальных подрядчиков и конкурентов
Подпишитесь на рассылку
Подпишитесь
на наши каналы в MAX или Телеграм, чтобы не пропускать новые материалы
MAXКанал в MAXTelegramКанал в TG
Кейсы по теме#Информационные и инженерные технологии

©2007-2026

Рейтинги
Реклама, коммуникации, маркетинг, контент
Проекты компании Proactivity Group
Нажмите «ОК», если вы соглашаетесь с условиями обработки cookie и ваших данных о поведении на сайте, необходимых для аналитики. Запретить обработку cookie можете через браузер