I have ASP.NET web apps and 1 wcf web service. I would like to deploy them to Azure so that they can scale out/up independently. i.e. i can give small VM to mvc apps and give big VM & more instances to wcf service. Another requirement is that I need https for web app. However, I don’t want to have https from mvc app to wcf service, which causes unnecessary encryption/decryption.
I can deploy each app & wcf service to individual hosted service on Azure so they can scale independently.(so if 3 app + 1 wcf service will have 4 hosted service on Azure) To avoid https between mvc and wcf, i try to use internal endpoint. Unfortunately seems internal endpoint is supported only within one host service.
To avoid https between mvc and wcf, the only way is deploy mvc apps and wcf all in one host service. However, then you loose the possibility to scale independently.
In a summary:
-
if each mvc app and wcf service deploy to its own hosted service, i can achieve independently scaling requirement, however, i cannot avoid unnecessary encryption/decryption between mvc app and wcf service (https)
-
if deploy apps and wcf service all in one host service. I can use internal end point between app and wcf to avoid https encryption/decryption. However, you loose the possibility of scaling independently.
I would like know is there a way can achieve both. any help is greatly appreciated.
You are able to scale independently by Role, not by Service. So, deploying WCF as another role within your Service should work fine. You’ll have to think about ports however if WCF need to have external endpoints or load-balancing if WCF is consumed via internal endpoints.
Check out AzureWatch @ http://www.paraleap.com – will get you up and auto-scaling your two roles independently in a few minutes without any code changes.
HTH