Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What about hosting WCF in Azure and scalability?

I want to host my WCF services in the Azure clouds for scalability reasons. For example there will be service for user authentication. And it will be under High Load (1000+ user/sec).

Does anybody here have real experience with hosting WCF services in the Azure cloud with high user load?

What are best practice, patterns here?

Does Azure has some cloud balancing API for such tasks?

Thanks, Kirill.

like image 557
Kirill Avatar asked May 18 '11 19:05

Kirill


People also ask

Can WCF be used with Azure?

Azure Relay takes existing WCF web services and makes those services securely accessible to solutions that are outside the corporate perimeter without requiring intrusive changes to the corporate network infrastructure.

How do I host WCF service in Azure?

Usually we use Cloud Services on Azure to host WCF services. While Cloud Services hosting works as expected, the requirement we got was to find an option to host wcf service using one of the features in Azure AppService itself. We can use WebApps feature to host the WCF in Azure AppService.


1 Answers

EDIT April 9, 2014 - updated with latest scalability targets

The Windows Azure load balancer directs traffic to all instances of your Web Role or Worker Role. So, the load gets distributed.

When you set up your WCF service endpoint, it would essentially exist on all role instances, so you can scale to any number of VM instances, to increase traffic-handling ability. However, you have to deal with downstream throttle points. For instance, if you're reading from / writing to Azure Table Storage from all your WCF service hosts, you're limited to 500 2,000 transactions per second, per table partition. Each storage account supports a max target of 20,000 transactions per second (for which you'd need multiple partitions, due to the 2K/sec cap on an individual partition).

Make sure your WCF services are stateless, as there's no guarantee that a client will connect to the same server on a subsequent call.

I've seen some of our customers have very high-volume WCF service usage. I can't imagine 1000 calls per second being an issue, since you can scale out to multiple instances.

EDIT: There are a few WCF-related labs in the Windows Azure Platform Training Kit.

like image 140
David Makogon Avatar answered Oct 27 '22 17:10

David Makogon