Estoy considerando mover una aplicación existente a Azure. Tendrá una aplicación MVC en una función web y algunos servicios WCF en otra función web. Cuando esté en vivo, el sitio vivirá en http://www.myapp.com
y los servicios estarán en http://api.myapp.com
con la aplicación MVC configurada para apuntar a los servicios al http://api.myapp.com
.Azure: descubrimiento dinámico de la URL del rol web del servicio en la etapa
El problema es cuando se empuja la aplicación a la configuración de "escenario" en Azure. Según tengo entendido, cada inserción en el escenario hará que los servicios vivan en una nueva url (algo aleatorio como http://4aa5ae2071324585ba5a902f4242a98c.cloudapp.net/
). En este caso, ¿cuál es la mejor forma para que mi aplicación MVC descubra la url de los servicios?
Una opción sería configurar una entrada dns como http://stage.api.myapp.com
y actualizar mi registro DNS CNAME para apuntar a la nueva url de preparación de Azure cada vez que presiono para el escenario, pero ... asco.
Otra opción sería presionar al escenario, obtener las nuevas direcciones URL para los servicios, RDC a cada instancia de la función MVC y actualizar manualmente las configuraciones. También asco.
¿Hay una manera simple de hacer esto? Sé que podría automatizar algunos de los pasos anteriores con algo como PowerShell, pero realmente espero que haya algo incorporado en el marco de Azure que lo haga más fácil. Parece que sería un escenario tan estándar.
¡Esto no es una buena práctica! Para la comunicación entre roles, necesita usar puntos finales que están ahí solo para este propósito. Perdón por haber votado negativamente, pero realmente siento que es importante no hacer esto de la manera que estás sugiriendo. –
Siento que se ha perdido la pregunta. Fue cómo descubrir dinámicamente la ranura de puesta a escena. Solo hay 2 métodos (el que describí y que usa mgmt API), que es todo lo que respondí. No estoy en desacuerdo con que usar interrole comm sea una buena idea si es posible, pero a veces las personas realmente necesitan usar la dirección de Load Balancer y él no aclaró. – dunnry
Entiendo lo que quiere decir, pero a veces la respuesta no es la forma correcta de hacer las cosas.Lo que quiero decir es que, si te pregunto cómo unir el procesador y la placa base, ¿me lo dirías o preferirías decirme que puedo ponerlo allí y fijarlo con el mecanismo ya en su lugar ... DeploymentId no debe ser "abusado" y realmente siento que la respuesta (¡aunque correcta!) No debe usarse a menos que sepa absolutamente por qué y qué está haciendo y haya utilizado todas las demás opciones. Además, si está utilizando el punto final externo, ¡paga por el tráfico! –