views:

475

answers:

3

The Windows Azure Platform allows an application to be deployed to one or more instances. The fabric controller then balances your application's workload across those instances.

  • Can the number of instances be scaled up/down based on demand or are the number of instances static? If instances can be dynamically started how much control do I have over how this happens?

  • How does Azure balance workload amongst my application instances and do I have any control over how this happens?

+1  A: 

The number of instances for Azure roles is specified in an xml configuration file. Currently, you must manually change the instance count in this config file. When you do so, the fabric controller will automatically adjust the number of running instances for you.

For web roles, incoming TCP connections are balanced across your instances. For worker roles, the load is generally distributed across all instances picking up work assignments from a message queue. The fabric doesn't really get involved for worker roles.

Eric
+2  A: 

I just want to add that by commercial launch (November), we'll have an API that lets you programmatically modify the number of instances. (So you can scale based on whatever logic you want.)

smarx
I've been comparing Azure Platform to some of the other cloud offerings (both commercial and open source) and most seem to offer little in in the way of scaling and balancing flexibility (with the exception of Open Nebula). As an example, it would make sense to offer the ability to schedule scaling if you know your resource requirements are likely to spike at specific times. Amazon EC2 has something like (in the way of reservations) but I don't know how sophisticated it is.
Richard Dorman
A: 

@smarx so how can I programmatically modify the xml file in azure right now?

dayscott