views:

756

answers:

3

Hey folks,

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?

+1  A: 

I think you might be looking for Windows Azure AppFabric and Velocity, specifically. Take a look at one of the PDC sessions for more info.

Mike
I've read about AppFabric - this is where we get into the "it load balances, but we're not going to tell you how" mumbo jumbo.
jvenema
+2  A: 

Simple answer - Azure does not perform any load-balancing, yet. It merely provides you with the capabilities to implement scalable solutions yourself.

Later on Microsoft teams might add pre-configured IP balancer VMs, but at the moment it is up to the developer to either use web farms (with out-of-proc session state), CDNs or something more interesting like a distributed apps (where the processing load is messaged out to multiple worker roles, that are manually balanced via the management API).

Rinat Abdullin
Good enough for me. Thanks.
jvenema
For future readers - it does a purely load-based load balancing. No "typical" constructs work - sessions, static data, etc, all need to be stored and retrieved using the table storage provider.
jvenema
+1  A: 

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.

David Makogon