una soluciones solucion que definicion concepto .net azure cloud azure-sql-database azure-web-roles

.net - soluciones - solucion web definicion



Estrategia de sitio múltiple en función(es) web y servicio(s) en la nube (1)

Parece que estás en el camino correcto. Algunos puntos de aclaración:

  • Tenga en cuenta que, al definir sitios para ejecutar en roles web separados dentro de la misma implementación, necesitará números de puerto separados para cada función web. Si desea que todos los sitios estén en el puerto 80, necesitará la opción n. ° 1 o n. ° 3.
  • Dentro de una única implementación, mientras necesita publicar todo el código de rol a la vez, puede optar por actualizar un rol específico en lugar de todos los roles.
  • También puede buscar técnicas alternativas para implementar su código web independientemente de su implementación, como almacenar sus sitios web en blobs, luego descargar / descomprimir / instalar sitios web según sea necesario, sin volver a implementarlos.
  • También puede mantener todo su contenido estático en almacenamiento de blobs y actualizar estos objetos en cualquier momento sin reasignación.

Tenemos 3 aplicaciones web orientadas al público que estamos migrando a Azure. Todos los sitios usan el puerto 80.

OPCIONES

Por lo que yo entiendo, hay tres opciones diferentes cuando se usan roles web:

1. Los 3 sitios alojados en UNA función web en un solo servicio en la nube :

  • El acceso HTTP puede ser configurado por hostHeader en ServiceDefinition.csdef
  • Este es el más barato
  • Requiere que todos los proyectos se publiquen al mismo tiempo
  • Los sitios no se pueden escalar por separado, solo como un todo
  • 1 proyecto de servicio de nube en Visual Studio

2. Cada sitio alojado en un rol web SEPARADO en un solo servicio en la nube :

  • El acceso HTTP puede ser configurado por hostHeader en ServiceDefinition.csdef
  • Cada sitio tendrá su propia instancia
  • Requiere que todos los proyectos se publiquen al mismo tiempo
  • Los sitios PUEDEN escalarse por separado
  • 1 proyecto de servicio de nube en Visual Studio

3. Cada sitio alojado en un rol web en servicios en la nube SEPARADOS :

  • Cada sitio tendrá su propio DNS e IP de cloudapp.net
  • Cada sitio tendrá su propia instancia
  • Los sitios se pueden publicar por separado
  • Los sitios PUEDEN escalarse por separado
  • Múltiples proyectos de servicios en la nube en Visual Studio

¿Hay algo más significativo que me falta?

POSIBLE SOLUCIÓN

Una combinación de la opción 1 y 2.

Hospedaje de todo en un solo servicio en la nube: publicarlos todos juntos está bien, ya que todos hacen referencia a un proyecto de biblioteca común que debería actualizarse constantemente en todos los proyectos.

Hospedaje de dos sitios en un solo rol web: pueden escalarse bien juntos.

Alojando el tercer sitio en su propio rol web Will necesita su propio escalamiento debido a las demandas máximas masivas.

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 estoy en el camino correcto Cualquier entrada sería apreciada.