Как предоставляются (и оплачиваются) облачные сервисы после запроса нового развертывания в API Azure REST?
Я использую API-интерфейс Azure REST для создания, развертывания и запуска облачной службы (классическая) (cspkg, размещенной в хранилище Azure) с сотнями экземпляров. Я заметил, что время, необходимое Azure для подготовки и запуска запрошенных экземпляров, действительно неоднородно. Первые случаи могут начаться через 6-7 минут, но последние могут занять до 15-20 минут, примерно на 10 минут дольше, чем первые. Итак, мои вопросы:
Это ожидаемое поведение? Если так, в чем логика? Могу ли я сделать что-нибудь, чтобы ускорить процесс?
Как Azure выставляет счет? Подсчитывает ли он общее количество экземпляров с момента самого начала развертывания облачной службы? или это с учетом конкретных сроков в каждом отдельном случае?
ОБНОВЛЕНИЕ: я проверял больше сценариев и нашел удивительный сюрприз. Если я заменю все процессы, которые должны запускать мои экземпляры облачной службы, простым ожиданием в течение нескольких минут (запустите файл.bat с командой timeout), то все экземпляры начнутся почти одновременно (примерно 15 секунд между самым быстрым и самым медленным экземпляром). Это было не просто удача и случайное поведение, я доказал, что это поведение повторяется, и я даже не могу объяснить основную причину.
1 ответ
Я также проверил это несколько недель назад, и время запуска зависит от размера машины, если она большая, у нее больше ресурсов, поэтому время загрузки быстрее, а также, если возникает какая-либо ошибка, исключение при запуске виртуальная машина будет перезапускаться до тех пор, пока не сможет успешно запуститься. Я прогуглил это, но не нашел никакого решения, чтобы ускорить это, поэтому я не думаю, что можно что-то сделать со временем запуска. Каждый раз, когда вы развертываете что-то в фоновом режиме, он создает Windows Server, загружает его, развертывает на нем ваш пакет и ставит ваши веб-роли за балансировщик нагрузки, поэтому это занимает так много времени, потому что многое происходит.
Платежная часть также не самая лучшая для классических облачных сервисов, вы должны платить за нее даже во время запуска и перезагрузки, и даже когда она выключена, поэтому, если вы закончили с обновлением, вы должны удалить виртуальные машины из ваш промежуточный слот или уменьшите его, потому что вы будете платить за него, даже если он выключен.