deployment фягку - Почему развертывание Azure занимает много времени?





зщкефд por (4)


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

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

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

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

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




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

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




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

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

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

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

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




Имейте в виду, что: ваш рабочий каталог в unicorn.rb должен быть: / your / cap / directory / current

NOT be: File.expand_path ("../ ..", FILE )

Потому что ошибка размножения единорога и linux soft: soft link не может работать хорошо.

например:

cd current #current - это мягкая ссылка на другой каталог

... ...

когда мы получаем наш рабочий каталог, мы получили абсолютный путь, а не путь в "текущем"





deployment azure