Когда вы развертываете приложение в облаке Azure, многое происходит за кулисами. У меня нет особого представления о том, что происходит за кулисами, но, поработав над инструментами VS для загрузки проектов в облако Azure, я как сторонний наблюдатель впечатления:
Среди прочего:
- Оборудование должно быть выделено из доступного пула серверов.
- VHD основной ОС должен быть загружен на компьютер.
- Экземпляр виртуальной машины должен быть инициализирован и загружен с этого образа VHD.
- Ваш пакет приложения необходимо скопировать на виртуальную машину и установить.
- Монитор ВМ должен дождаться запуска вашей службы или выйти из строя
- Балансировщик нагрузки и брандмауэр центра обработки данных должны знать конечные точки служб вашего приложения.
- Как только все это будет синхронизировано, ваше приложение станет доступным из Интернета.
Образ VHD, вероятно, имеет размер гигабайта, что намного больше, чем загруженное вами приложение. Даже в сверхбыстрой сети центра обработки данных требуется время, чтобы переместить такой объем данных в виртуальную машину, распаковать и загрузиться с нее. Кроме того, балансировщик нагрузки и брандмауэр, вероятно, оптимизированы для обеспечения наивысшего приоритета запросов маршрутизации. Перенастройка брандмауэра и балансировщика нагрузки имеет более низкий приоритет и должна выполняться без прерывания потока трафика.
Также обратите внимание, что всю эту работу нужно выполнить только для нового развертывания. Обновление существующего развертывания происходит намного быстрее - 2–3 минуты вместо 20–30 минут.