I have been looking at the Service Bus Relay Service to communicate with a new WCF service hosted in a web role. Now I realize that I might have chosen a wrong architectural decision.
I have few questions based on my requirements.
1. A few different WCF services hosted in Azure that should scale when the load increases. For example, the number of WPF client applications that talks to the WCF service can increase, also there will be more front ends like web and mobile that talk to this service. So, the load (the number of calls processed) can increase. Is Azure Web Role with all the hosted WCF services the right solution for me?
2. Should I use a Service Bus Relay Service to authenticate the WCF service hosted in the Azure web role?
3. I have a CSV (can be excel too) file which has product information. It can have millions of product information. What is the best way to do the ETL of this CSV file? Should I upload the data from this file to a Azure Table storage and then use a Azure worker role to have a windows service that can open the table and process it? Is there a way I can upload this file to the Azure server and then use the WCF service to process it?
4. Is the Relay service to bring the connectivity for the services that hosted on-premise? Is it not needed for WCF service that hosted in Azure already which is my case?
5. The client application that I have can initiate long running process. It can take 30 seconds to process it. Once the task is processed, the status need to be informed to other WPF clients using notifications. Should I use Azure WCF duplex for this purpose or Azure Service Bus Topic for this purpose?
I appreciate the feedback.