How does Windows Azure perform load balancing?

Viewed 20254

I was trying to read up on load balancing in Windows Azure, and all the information about it is extremely vague and non-specific. All I really want is a simple answer: how does Azure perform load balancing?

Many applications use sessions or in-memory data to increase performance. With Azure, I'm not sure if this is possible, because (from what I can tell), Azure doesn't have any sort of "sticky" sessions. Even if it wasn't session-based, but simply IP-based balancing, that would be enough for many applications.

So, the question of the day - how exactly does Azure perform its load balancing?

5 Answers

Azure handles load-balancing for table storage and SQL Azure by distributing traffic across the instances you set up.

For things like session state with a traditional asp.net app, the session data would be stored in table storage, which would then be available to all your webrole instances. This is mentioned here.

Windows Azure provides load balancing across each public endpoint, allowing you to scale your application to as many instances as you'd like. You need to ensure that your application is stateless (or stores state in a common area across instances, such as blobs or tables). The only endpoints not load-balanced are internal endpoints. So, if you're doing some type of inter-role communication, like from a web role to one of several worker role instances hosting a wcf service on an internal endpoint, you'd need to handle load balancing across those instances.

Related