Рабочая роль стороннего программного обеспечения

У нас есть стороннее программное обеспечение, размещенное на виртуальных машинах Azure. Это программное обеспечение содержит службу, которая используется одной из наших веб-ролей облачной службы.

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

Решением было бы опубликовать это стороннее программное обеспечение в той же облачной службе (в рабочей роли).

Роль VM звучит как хорошая реализация для вышеуказанной проблемы. К сожалению, это устаревший сервис!

Одна из идей заключается в том, чтобы упаковать соответствующие установочные сценарии и файлы в проект Visual Studio и настроить ServiceDefinition для соответствующей настройки программного обеспечения. Проблема здесь заключается в том, что размер установочных файлов превышает 1 ГБ.

В настоящее время существует какая-либо служба Azure, которая может поддержать мою проблему? Есть ли замена роли ВМ?

2 ответа

Решение

Хотя немного староват, но вы можете взглянуть на Azure Bootstraper на CodePlex. Со страницы описания проекта:

Загрузчик Windows Azure - это инструмент командной строки, предназначенный для использования выполняемыми вами ролями Web и Worker в Windows Azure. Этот инструмент позволяет вам легко загружать ресурсы (как публичные, так и в вашем хранилище BLOB-объектов), извлекать их при необходимости и запускать. Поскольку вы не хотите всегда загружать и запускать во время перезапусков, это также поможет отслеживать эти зависимости и запускать установщик только один раз! Кроме того, есть несколько очень полезных функций, которые делают его отличным инструментом для объединения ваших ролей.

Еще одна идея (хотя я не пробовал) заключается в том, чтобы использовать Azure File Service, Что вы можете сделать, это загрузить установщики в общий ресурс файловой службы Azure, а затем смонтировать общий ресурс в виртуальных машинах облачной службы и использовать его в качестве диска на своей виртуальной машине. Вы должны быть в состоянии установить программное обеспечение таким образом.

Вы правы, что встраивание стороннего программного обеспечения в cspkg может быть проблематичным по размеру.

Обычной практикой является загрузка необходимого программного обеспечения либо из командного файла запуска (.cmd), либо из OnStart(), Эти загрузки могут быть получены из любого места, к которому у вас есть доступ: хранилище BLOB-объектов Azure, сами поставщики (например, загрузка по их общедоступной ссылке для загрузки) и т. Д. В сценарии запуска вам нужно будет выполнить загрузку (и потенциальную разархивацию).) в локальную папку, а затем установить при необходимости.

Другие вопросы по тегам