Strategia wielu witryn w odniesieniu do ról internetowych i usług w chmurze
Mamy 3 publiczne aplikacje internetowe, które migrujemy do platformy Azure. Wszystkie witryny używają portu 80.
OPCJE
Z tego, co rozumiem, istnieją trzy różne opcje korzystania z Ról internetowych:
1. Wszystkie 3 witryny hostowane w JEDNEJ roli internetowej w pojedynczej usłudze w chmurze:
Dostęp HTTP może być skonfigurowany przez hostHeader wServiceDefinition.csdef
To najtańszeWymaga, aby wszystkie projekty były publikowane w tym samym czasieWitryny nie mogą być skalowane osobno, tylko jako całość1 Projekt usługi w chmurze w Visual Studio2. Każda witryna hostowana na oddzielnej roli internetowej w pojedynczej usłudze w chmurze:
Dostęp HTTP może być skonfigurowany przez hostHeader wServiceDefinition.csdef
Każda witryna będzie miała własną instancjęWymaga, aby wszystkie projekty były publikowane w tym samym czasieWitryny mogą być skalowane osobno1 Projekt usługi w chmurze w Visual Studio3. Każda witryna hostowana na rolach internetowych w oddzielnych usługach w chmurze:
Każda strona będzie miała swój własny DNS i IP cloudapp.netKażda witryna będzie miała własną instancjęWitryny mogą być publikowane osobnoWitryny mogą być skalowane osobnoWiele projektów Usługi w chmurze w Visual StudioCzy jest coś jeszcze ważnego, którego brakuje?
MOŻLIWY ROZWIĄZANIE
Połączenie opcji 1 i 2.
Hosting wszystkiego w jednej usłudze w chmurze: Publikowanie ich razem jest w porządku, ponieważ wszystkie odnoszą się do wspólnego projektu bibliotecznego, który musiałby być konsekwentnie aktualizowany we wszystkich projektach.
Hostowanie dwóch witryn w jednej roli internetowej: Mogą być skalowane razem w porządku.
Hostowanie trzeciej strony we własnej roli internetowej Will potrzebuje własnego skalowania ze względu na ogromne zapotrzebowanie szczytowe.
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>
Proszę potwierdzić, że jestem na dobrej drodze? Wszelkie dane będą mile widziane.