Nano Hash - криптовалюты, майнинг, программирование

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

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

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

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

22.08.2010

Ответы:


1

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

Вы должны внести соответствующие изменения конфигурации в файл определения службы вашего проекта Azure. Ниже приведен пример нескольких сайтов в одном домене. Сайт регистрации использует конечную точку https (вы также должны настроить свой сертификат), а остальные используют http. Общедоступный сайт не указывает заголовок узла и будет перехватывать все, что не указано явно. Это замечательно, когда у вас есть одно приложение, которому нужно обрабатывать несколько поддоменов (например, shopify). Для того, чтобы эта работа работала, вам необходимо иметь DNS, который позволяет использовать подстановочные cnames (GoDaddy dns не поддерживает). Очевидно, вам также понадобится запись cname, которая указывает на лазурный для каждого из других поддоменов. Еще одна вещь, на которую следует обратить внимание в этом примере, - это то, что PhysicalDirectory для приложений относится к проекту 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>
01.03.2011

2

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

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

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

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

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

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

22.08.2010
  • Я имел в виду небольшой вычислительный экземпляр windows azure. Обновлено 22.08.2010
  • В общем, нет, если только я не объединю их все в один раствор. Однако вы ожидаете, что это изменится в будущем. 22.08.2010

  • 3

    В текущем состоянии (август 2010 г.) Azure будет запускать только одно приложение («служба», «роль») для каждого экземпляра виртуальной машины.

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

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

    22.08.2010
  • +1. Если вы хотите иметь несколько развертываний без влияния $$$, проще всего настроить конфигурации ваших служб (имя, URL-адрес, соответствие, сертификаты и т. Д.), Но без развернутого кода. Ваши законсервированные приложения находятся в хранилище BLOB-объектов с именами, зависящими от версии (может быть, контейнер для каждого приложения?). Затем используйте несколько простых сценариев PowerShell (с командлетами Azure), чтобы развернуть приложение, когда это необходимо, и разорвать его, когда закончите. В среднем на развертывание может потребоваться 15 минут, не говоря уже о разборке и удалении. 23.08.2010

  • 4

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

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

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

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

    25.08.2010

    5

    Обычно вы ограничены одним приложением для каждой роли.

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

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

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

    25.08.2010

    6

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

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

    25.08.2010
    Новые материалы

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

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..