Múltipla estratégia de site em função (s) web e serviço (s) em nuvem

Temos três aplicativos da Web públicos que estamos migrando para o Azure. Todos os sites usam a porta 80.

OPÇÕES

Tanto quanto eu entendo, existem três opções diferentes ao usar as funções da Web:

1. Todos os 3 sites hospedados em uma função da Web em um único serviço de nuvem:

O acesso HTTP pode ser configurado pelo hostHeader emServiceDefinition.csdefEste é o mais baratoRequer que todos os projetos precisem ser publicados ao mesmo tempoOs sites não podem ser escalonados separadamente, apenas como um todo1 projeto do Cloud Service no Visual Studio

2. Cada site hospedado em uma função da Web SEPARADA em um único serviço de nuvem:

O acesso HTTP pode ser configurado pelo hostHeader emServiceDefinition.csdefCada site terá sua própria instânciaRequer que todos os projetos precisem ser publicados ao mesmo tempoOs sites podem ser escalados separadamente1 projeto do Cloud Service no Visual Studio

3. Cada site hospedado em uma função da Web em serviços em nuvem SEPARADOS:

Cada site terá seu próprio DNS e IP do cloudapp.netCada site terá sua própria instânciaOs sites podem ser publicados separadamenteOs sites podem ser escalados separadamenteVários projetos de serviço de nuvem no Visual Studio

Há algo mais significativo que eu esteja sentindo falta?

POSSÍVEL SOLUÇÃO

Uma combinação das opções 1 e 2.

Hospedando tudo em um serviço de nuvem: Publicá-los todos juntos é bom, pois todos eles fazem referência a um projeto de biblioteca comum que precisa ser atualizado de forma consistente em todos os projetos.

Hospedando dois sites em uma função da web: Eles podem ser escalados juntos bem.

Hospedando o terceiro site em sua própria função web Will precisa de seu próprio dimensionamento por causa das demandas de pico em massa.

ServiceDefinition.csdef:

<ServiceDefinition name="WebTestCloudService.Test" xmlns="..." schemaVersion="2012-10.1.8">
  <WebRole name="AzureWebTest1" vmsize="Small">
    <Sites>
      <Site name="AzureWebTest1">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="test1.mydomain.com" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
  </WebRole>
  <WebRole name="AzureWebTest2" vmsize="Small">
    <Sites>
      <Site name="AzureWebTest2">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="test2.mydomain.com" />
        </Bindings>
      </Site>
      <Site name="AzureWebTest3" physicalDirectory="..AzureWebTest4">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="test3.mydomain.com" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
  </WebRole>
</ServiceDefinition>

Por favor confirme que estou no caminho certo? Qualquer entrada seria apreciada.

questionAnswers(1)

yourAnswerToTheQuestion