Развертывание приложений Azure на серверах Windows - PullRequest
0 голосов
/ 09 января 2012

Мы готовимся к созданию веб-ориентированной платформы для школ, и мы планировали разместить ее в Azure. Однако в государственных школах есть определенные ограничения, которые не позволяют им иметь открытый доступ к Интернету, что означает, что система на основе Azure там не будет работать.

Можно ли развернуть один и тот же проект на локальных серверах и в облаке Azure без фрагментации нашей кодовой базы?

Ответы [ 3 ]

7 голосов
/ 09 января 2012

Это зависит от того, какие аспекты Azure вы используете в своем решении.Если у вас есть собственное приложение ASP.NET, и вы не используете зависимости Azure, такие как AppFabric, или какой-либо из Azure SDK, например, хранилище больших двоичных объектов, вы сможете выполнить развертывание на стандартном экземпляре IIS.

Если вы используете зависимости Azure, я бы постарался разделить их в вашей кодовой базе в соответствии с практикой абстрагирования любых зависимостей.После этого вы сможете переключиться на основе изменения конфигурации, чтобы не использовать их, и вернуться к локальной или тупой альтернативе при развертывании в Windows.Это будет то же самое для запуска CI / builds.

3 голосов
/ 09 января 2012

Это действительно зависит от того, что делает ваше приложение.Проект развертывания Azure (проект .ccproj) и связанный пакет .cspkg не будут применимы к развертыванию Windows Server.

Если ваше приложение использует специальные функции Windows Azure (например, хранилище таблиц),тогда вам придется как-то справиться с этим на месте.Если вам нужна одна кодовая база, работающая как локально, так и в Windows Azure, одним из вариантов может быть использование подхода внедрения зависимостей, который может внедрить правильную реализацию функции на основе целевого развертывания.

1 голос
/ 09 января 2012

У меня был сценарий реального мира с клиентом.У них есть клиенты, которые хотят продолжать использовать свой продукт, установленный на их собственных серверах.В то же время у них есть новые клиенты, которые хотели бы арендовать свое приложение как услугу и использовать модель с оплатой по мере использования.

Означает ли это две кодовые базы?Нет, но это означает, что вы должны быть готовы пройти дополнительные мили в отношении абстракций развития и инверсии управления.

В общем, я бы сказал об этой проблеме следующим образом:

  • Разработка для Windows Azure, то есть использование API для Windows Azure SDK.
  • Добавление уровня абстракции между реальным Windows Azure SDK и вашим кодом.
  • Предоставление альтернативной реализации для зависимостей Windows Azure.для установки в помещении.

Также ...

  • Используйте уже существующий код, например Azure Contrib .Этот проект OSS содержит начало такого уровня абстракции наряду с другим, надеюсь, полезным кодом Windows Azure.

И не забудьте повеселиться!; ~)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...