Рабочая роль стороннего программного обеспечения
У нас есть стороннее программное обеспечение, размещенное на виртуальных машинах 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, сами поставщики (например, загрузка по их общедоступной ссылке для загрузки) и т. Д. В сценарии запуска вам нужно будет выполнить загрузку (и потенциальную разархивацию).) в локальную папку, а затем установить при необходимости.