Почему развертывание Azure занимает много времени?

Я пытаюсь понять, почему он может потребовать от 20-60 минут для развертывания небольшого приложения в Azure (используя метод загрузки конфигурации/пакета, а не из VS).

Я прочитал эту ситуацию и этот, но я все еще немного неясен - есть ли странный нетехнологический ритуал, который возникает, когда экземпляры распространяются, как кто-то в Microsoft, освещает свечу или танцует?

Ответ 1

Как пользователь Azure, я разделяю вашу боль - развертывание не является "быстрым" / "безболезненным", и это особенно сильно болит, когда вы находитесь в цикле разработки и хотите протестировать итерации на Azure. Однако в целом развертывание должно занимать гораздо меньше 60 минут - и менее 20 минут.

Стив Маркс представил краткий обзор шагов, связанных с развертыванием: http://blog.smarx.com/posts/what-happens-when-you-deploy-on-windows-azure

И он ссылается на более глубокое объяснение уровня: http://channel9.msdn.com/blogs/pdc2008/es19

Ответ 2

Там, где вы развертываете приложение в облаке Azure, происходит много за кулисами. У меня нет никакого специального представления о том, что происходит за занавеской, но, работая над VS-инструментами для загрузки проектов в облако Azure, это мои впечатления, когда посторонний смотрит в:

Среди прочего:

  • Оборудование должно быть выделено из доступного пула серверов
  • VHD основной ОС должен быть загружен на компьютер
  • Экземпляр виртуальной машины должен быть инициализирован и загружен с этого образа VHD
  • Ваш пакет приложений должен быть скопирован на виртуальную машину и установлен
  • Монитор VM должен дождаться запуска вашей службы или не выполнить
  • Балансировщик нагрузки и брандмауэр центра обработки данных должны быть осведомлены о конечных точках службы приложений.
  • Как только все это синхронизируется, ваше приложение доступно из Интернета.

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

Также обратите внимание, что вся эта работа должна быть выполнена только для нового развертывания. Обновление существующего развертывания выполняется намного быстрее - от 2 до 3 минут вместо 20-30 минут.

Ответ 3

Посмотрите этот видеоролик PDC10 от Марка Руссиновича. Он подробно рассказывает о том, что происходит внутри Azure с некоторым пониманием процесса (правда, медленного) развертывания.

Оригинальная ссылка больше не работает. Вот еще одна ссылка на версию той же презентации: https://channel9.msdn.com/events/Build/BUILD2011/SAC-853T

Ответ 4

Так что, если за кулисами происходит много всего, почему AWS быстрее?