2015-04-19 2 views
1

Существует два способа публикации сайта Azure - через функцию «Опубликовать» и «Развертывание в качестве облачного сервиса». У меня также есть одна роль рабочего в решении, поэтому я выбрал Cloud Service вместо простой функции публикации.Публикация веб-сайта vs Azure Cloud service publish

Но я очень разочарован облачным сервисом. Во-первых, развертывание в качестве облачного сервиса занимает в 10 раз больше времени, чем простой сайт публикации. Вторая проблема - каждый раз, когда я хочу развернуть, меняю строки подключения в web.config на SQL Azure (вместо локального SQL Server). Веб-публикация имеет возможность устанавливать необходимые строки подключения SQL для развертывания. Может быть, я что-то делаю неправильно, и развертывание может сделать за 10 секунд и есть возможность устанавливать разные строки соединения (например, публикация на сайте)?

Я думаю о том, чтобы поместить облако только работник роль и веб-развертывания, как веб-сайт, без сервиса Cloud ...

ответ

3

Во-первых, я настоятельно рекомендую вам пройти этот вопрос сравнения Azure веб-сайтов и Cloud Service: What is the difference between an Azure Web Site and an Azure Web Role

Сейчас подходит к вашим вопросам:

Сначала вообще, развертывание, как облачный сервис занимает в 10 раз больше времени, чем просто Опубликовать веб-сайт.

Это должно произойти потому, что при развертывании облачных сервисов (скажем, с помощью Visual Studio), происходят следующие вещи, которые вызывают задержку:

  • Как часть процесса сборки для облачных сервисов, Visual Studio создает пакетный файл и загружает его в хранилище blob. Затем этот пакет используется для создания облачного сервиса.
  • Azure Fabric Controller, который отвечает за управление жизненным циклом облачной службы, создает для вас совершенно новую виртуальную машину, устанавливает необходимое программное обеспечение (например, IIS), а затем развертывает ваш код из файла пакета.

Обе эти вещи не происходят на веб-сайтах.

Вторая проблема - я должен каждый раз, когда я хочу, чтобы развернуть, изменить строки подключения в файле web.config для SQL Azure (вместо моего локального SQL сервера). Веб-сайт Publish имеет возможность установить необходимое соединение SQL строк для развертывания. Может быть, я что-то делаю неправильно, и развертывание может выполняться в 10 секунд и существует возможность устанавливать разные строки подключения (например, Website publish)?

Вы не делаете ничего плохого как таковое. Ваш файл web.config входит в пакетный файл, поэтому после внесения любых изменений в файл web.config вам нужно будет воссоздать пакет и обновить развертывание (которое будет включать загрузку в хранилище blob).

Одним из возможных решений для вашей проблемы было бы использовать config transformation и иметь файл web.config.release, содержащий строку подключения для вашей производственной базы данных. Когда вы создадите свой проект в режиме выпуска, у вас будет правильная строка соединения в файле web.config.

Я думаю о том, чтобы поместить облако только уборщица роль и веб-развертывания, как сайт, без сервиса Cloud ...

Это, безусловно, является жизнеспособным вариантом. Другая альтернатива будет выглядеть в WebJobs. Подобно рабочим ролям, они предназначены для обработки рабочих нагрузок обработки, но имеют одинаковое удобство веб-сайта, когда дело доходит до развертывания. Вы также можете найти это сообщение в блоге полезным: http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx.

Смежные вопросы