Windows Azure Visual Studio Solution - PullRequest
       2

Windows Azure Visual Studio Solution

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

Мое приложение содержит 25 проектов на C #, эти проекты разделены на 5 решений.

Теперь я хочу перенести эти проекты для запуска под Windows Azure. Я понял, что мне нужно создать одно решение, содержащее все мои веб-ресурсы.роли и рабочие роли.

Это правильный способ сделать это, или я могу разделить свои проекты на несколько решений.

Проекты, как показано ниже:

  • Одно веб-приложение.
  • 5 Служб Windows.
  • Остальные - все библиотеки классов.

Ответы [ 4 ]

2 голосов
/ 04 января 2012

Отличные ответы других.Позвольте мне добавить немного больше об одной и многих размещенных службах: если роли Web и Worker должны взаимодействовать напрямую (например, через TCP-соединение между экземпляром Web-роли и конкретным экземпляром рабочей роли), то эти роли действительно должны быть помещены втот же хостинг.Внешне к развертыванию ваши прослушиватели размещенных сервисов (web, wcf и т. Д.) Доступны по IP + Port;вы не сможете получить доступ к конкретному экземпляру, если не включите также Azure Connect (VPN).

Если ваши веб-роли и рабочие роли взаимодействуют через очереди Azure или служебную шину, вы можете развернуть их в отдельных размещенных службах и по-прежнему иметьумение общаться между ними.

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

Вы можете сделать оба.

Вы можете оставить свои 5 отдельных решений такими, какие они есть.Затем создайте новое решение, содержащее все 25 проектов.

Какое решение вы выберете для размещения вашего проекта Cloud (ccproj), будет зависеть от того, как вы хотите распространять свое приложение.

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

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

Самый важный вопрос: сколько из этих 25 проектов являются реальными веб-сайтами / веб-приложениями или службами Windows, и сколько из них являются просто библиотеками классов.

Для библиотек классов у вас нетконвертировать что угодно.

Теперь для облачных проектов.Вы должны решить, сколько хостинговых сервисов вы создадите.Вы можете прочитать мое сообщение в блоге , чтобы ознакомиться с такими терминами, как "Hosted Service", "Role", "Role Instance", если вам нужно.

Как только вы определились со своей структурой облака -число размещенных служб и ролей для каждой службы. Вы можете создать новое решение для каждой размещенной службы.

Вы также можете решить, что можете разместить несколько веб-сайтов в одной веб-роли, что полностью поддерживается и возможно., поскольку WebRoles работают в полной среде IIS начиная с SDK 1.3.Вы узнаете больше о размещении нескольких веб-сайтов в одной веб-роли здесь и здесь и даже используете Windows Azure Accelerator для веб-ролей .

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

ОБНОВЛЕНИЕ в отношении обновления вопроса:

Итак, веб-приложение понятно - оно переходит к одной веб-роли.Теперь для служб Windows.Есть два основных момента, на которые вы должны ответить, чтобы определить, следует ли поместить их в одну или несколько рабочих ролей:

  1. Требует ли какая-либо из ваших служб Windows чрезмерных ресурсов (т. Е. Много вычислительныхпитания или много оперативной памяти)?
  2. Требуется ли для какой-либо из ваших служб Windows независимая шкала?

Если ответ на любой из вопросов «да», поставьте эту WindowsСлужба в одной рабочей роли.Поместите все службы Windows, ответившие на оба вопроса «нет» в одной рабочей роли.Это означает, что вы масштабируете их все или ни одного (манипулируя количеством экземпляров).

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

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

Надеюсь, это поможет.

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

Вы правы! и все проекты переходят в одну размещенную службу, если вы создаете только один облачный проект для всех проектов веб-ролей и рабочих ролей

Тем не менее, вы можете разделить свои проекты на несколько решений, и вам придется создать столько облачных проектов и размещенных сервисов на платформе Azure

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