Подтвердить что ты не робот

Можете ли вы развернуть несколько веб-приложений на одном экземпляре Windows Azure?

Возможно ли иметь несколько веб-приложений, запущенных в одном маленьком экземпляре sql azure windows?

Я рассматриваю использование Azure как место для размещения кучи проектов (веб-приложений), которые находятся в dev и непроизводственных. Некоторые из них на самом деле мотыльки, но я хотел бы иметь их активный экземпляр. Я не хочу платить за отдельные расчетные часы за каждое приложение, которое просто сидит там 90% времени.

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

4b9b3361

Ответ 1

Да, теперь это возможно с последними обновлениями платформы Azure, выпущенными в конце 2010 года.

Вы должны внести соответствующие изменения конфигурации в файл определения службы Azure Project. Ниже приведен пример нескольких сайтов в одном домене. На сайте Register используется конечная точка https (вы также должны настроить свой сертификат), а остальные - с помощью http. Публичный сайт не определяет заголовок узла и не будет обнаруживать что-либо, не указанное явно. Это здорово, когда у вас есть одно приложение, которое должно обрабатывать несколько поддоменов (например, shopify). Для выполнения этой работы вам нужно иметь dns, который позволяет создавать подстановочные cnames (GoDaddy dns). Очевидно, вам также нужна запись cname, указывающая на лазурь для каждого из других поддоменов. Еще одно замечание в этом примере состоит в том, что физический каталог для приложений относится к проекту Azure. Надеюсь, это поможет!

Здесь ссылка, которая может помочь: http://msdn.microsoft.com/en-us/library/gg433110.aspx

    <?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="SampleAzureProject" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <WebRole name="RegisterSite_WebRole">
    <Sites>
      <Site name="RegisterSite" physicalDirectory="..\RegisterSite">
        <Bindings>
          <Binding name="RegisterBinding" endpointName="Endpoint1" hostHeader="register.sample.com" />
        </Bindings>
      </Site>
      <Site name="PublicSite" physicalDirectory="..\PublicSite">
        <Bindings>
          <Binding name="PublicBinding" endpointName="Endpoint2" hostHeader="" />
        </Bindings>
      </Site>
      <Site name="ManageSite" physicalDirectory="..\ManageSite">
        <Bindings>
          <Binding name="ManageBinding" endpointName="Endpoint2" hostHeader="manage.sample.com" />
        </Bindings>
      </Site>
      <Site name="MarketingSite" physicalDirectory="..\MarketingSite">
        <Bindings>
          <Binding name="MarketingBinding" endpointName="Endpoint2"  hostHeader="www.sample.com" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="https" port="443" certificate="SampleReg" />
      <InputEndpoint name="Endpoint2" protocol="http" port="80" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
    <Certificates>
      <Certificate name="SampleReg" storeLocation="LocalMachine" storeName="My" />
    </Certificates>
  </WebRole>
</ServiceDefinition>

Ответ 2

Это зависит от того, что вы подразумеваете под экземпляром Windows Azure.

Одна учетная запись Azure может содержать несколько сервисов и развертываний. Развертывание (на момент написания) может содержать несколько рабочих и веб-ролей (по существу, проекты).

Одна веб-роль может быть развернута в нескольких экземплярах развертывания.

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

Если вы заинтересованы в минимизации затрат и хранении нескольких тестовых веб-приложений под одним экземпляром веб-роли, это становится сложным - вам нужно объединить их в один проект и развернуть сразу.

Примечание: последний сценарий может вскоре увидеть резкие улучшения, поэтому Windows Azure - довольно безопасная ставка.

Ответ 3

Azure в своем текущем состоянии (Aug 2010) будет запускать только одно приложение ( "service", "role" ) на экземпляр VM.

Итак, простой ответ на ваш вопрос - нет, в настоящее время.

Теперь, учитывая все возможности платформы, вы можете придумать некоторые творческие способы предоставления такого рода песочницы. С помощью API управления службами вы можете установить развертывание в хранилище Azure и включить роли в момент их запроса, а затем отключить их ( "удалить развертывание" ), когда они больше не нужны. Будет некоторое отставание от развертывания, поскольку ткань приносит виртуальные машины онлайн.. но в зависимости от варианта использования, это может дать вам некоторую значительную экономию.

Ответ 4

Единственный способ иметь несколько веб-приложений, запущенных в одном экземпляре Azure, - объединить несколько приложений в один проект WebRole. Azure требует одного веб-приложения для каждого экземпляра веб-роли.

Это может быть не слишком сложно, если ваши веб-приложения достаточно просты или просто сгенерированы hpml-страницами aspx - поместите каждое приложение в свой собственный подкаталог URL, чтобы сохранить названия страниц отдельно от других приложений. Поскольку ссылки между страницами внутри одного и того же приложения обычно относятся к домашнему каталогу, это не должно сильно расстраивать ваши ссылки. Вы можете получить доступ к каждому "субаппи" с помощью URL-адресов: http://mydomain.com/app1/default.html, http://mydomain.com/app2/... и т.д.

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

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

Ответ 5

В основном вы ограничены одним приложением на роль.

Не уверен, что это изменится, так как есть причины, стоящие за ходом Windows Azure таким образом.

Из-за того, что вы читаете свой вопрос, похоже, что облако может быть не идеальным для вас в это время. Особенно, если у вас есть то, что "90%" не используется. Это много потерянного времени процесса, когда роль сидит без дела, а платит $$.

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

Ответ 6

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

Другим облачным провайдером, например, rackspace или Amazon, может быть лучше, вы можете создавать виртуальные машины Windows и размещать свои приложения в IIS, как на обычном сервере. Единственным преимуществом в этом случае было бы упрощение подготовки этого сервера и отсутствие управления инфраструктурой (вам все равно придется управлять ОС и другими зависимостями, хотя, в отличие от Azure).