2013-07-04 15 views
9

Abbiamo 3 applicazioni Web pubbliche che stiamo migrando ad Azure. Tutti i siti utilizzano la porta 80.Strategia di più siti sui ruoli Web e sui servizi cloud

OPZIONI

Per quanto ho capito, ci sono tre diverse opzioni quando si utilizzano i ruoli Web:

1. Tutti i 3 siti ospitati in UN ruolo web in un unico servizio cloud:

  • accesso HTTP può essere configurato da IntestazioneHost in ServiceDefinition.csdef
  • Questo è il più economico
  • richiede che tutti i progetti devono essere pubblicati al tempo stesso
  • I siti non possono essere scalati a parte, solo come un intero progetto
  • 1 Service Cloud in Visual Studio

2. Ogni sito ospitato su un ruolo di web separati in un unico servizio cloud: ac

  • HTTP cess può essere configurato da IntestazioneHost in ServiceDefinition.csdef
  • Ogni sito avrà la propria istanza
  • richiede che tutti i progetti devono essere pubblicati al tempo stesso
  • I siti possono essere scalati a parte
  • progetto
  • 1 Service Cloud in visual Studio

3. Ciascun sito ospitato su un web ruoli nei servizi cloud SEPARATI:

  • Ogni sito avrà il proprio DNS cloudapp.net e IP
  • Ogni sito avrà la propria istanza
  • I siti possono essere pubblicati separatamente
  • I siti possono essere scalati a parte
  • più progetti di Servizio Cloud Visual Studio

C'è qualcos'altro che mi manca?

SOLULTION POSSIBILE

Una combinazione di opzione 1 e 2.

Hosting tutto in una nuvola di servizio: Publishing tutti insieme va bene dal momento che tutti fanno riferimento a un progetto di libreria comune che dovrebbe essere aggiornato in modo coerente in tutti i progetti.

Hosting di due siti in un ruolo Web: Possono essere ridimensionati insieme.

Hosting del terzo sito nel proprio ruolo web Avrà bisogno del proprio ridimensionamento a causa delle massicce richieste di picco.

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> 

Si prega di confermare che sono sulla strada giusta? Qualsiasi input sarebbe apprezzato.

+0

Ehi, sto cercando di impostare l'opzione 1 con il bilanciamento del carico azzurro. Hai dovuto fare qualcosa di speciale per ottenere questo per costruire e impacchettare correttamente per essere distribuito in azzurro? – TWilly

risposta

4

Sembra che tu sia sulla strada giusta. Alcuni punti di chiarimento:

  • Ricordare che, quando si definiscono siti da eseguire in ruoli Web separati all'interno della stessa distribuzione, sono necessari numeri di porta separati per ciascun ruolo Web. Se si desidera che tutti i siti siano sulla porta 80, è necessario l'opzione # 1 o # 3
  • All'interno di un singolo schieramento, mentre è necessario pubblicare tutto il codice ruolo in una volta, è possibile scegliere di aggiornamento un ruolo specifico invece di tutti i ruoli.
  • È inoltre possibile esaminare le tecniche alternative per l'implementazione del codice Web indipendente dalla distribuzione, ad esempio l'archiviazione dei siti Web zip in blob, quindi scaricare/decomprimere/installare i siti Web secondo necessità, senza ridistribuire.
  • È inoltre possibile mantenere tutti i contenuti statici nella memoria BLOB e aggiornare questi oggetti in qualsiasi momento con zero ridistribuzione.
+1

posso avere più impostazioni cloud per più siti Web su una sola webrole? – Rusty

+0

Per quanto riguarda il punto 1 della risposta, non sono in grado di correlare il motivo per cui non siamo autorizzati a fornire gli stessi numeri di porta. Nel mio scenario, ho 3 diversi ruoli web all'interno dello stesso servizio cloud. I miei siti che si trovano in ruoli Web separati verranno distribuiti su macchine separate e quindi dovrei essere autorizzato a utilizzare lo stesso numero di porta per tutti loro. –

Problemi correlati