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


Answers

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

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

  1. Оборудование должно быть выделено из доступного пула серверов
  2. VHD основной ОС должен быть загружен на машину
  3. Экземпляр виртуальной машины должен быть инициализирован и загружен с этого образа VHD
  4. Ваш пакет приложений должен быть скопирован на виртуальную машину и установлен
  5. Монитор VM должен дождаться запуска вашего сервиса или сбоя
  6. Балансировщик нагрузки и брандмауэр должны быть проинформированы о конечных точках обслуживания вашего приложения
  7. После того, как все это синхронизировано, ваше приложение доступно из Интернета.

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

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

Question

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

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






Related