Autoscaling in Windows Azure

In better than 1/3 of my customer contacts, the term ‘autoscale’ comes up. This term (loosely defined) relates to increasing computing capacity to load levels (in non-fancy talk, it means you have enough servers to make sure you don’t tip over when too many users visit / interact with your site).

Companies are keen to ensure that they can take full advantage of the elastic aspects of the cloud: the ability to deploy more resources when they are needed, and take them down when they are not.

Some examples, you ask? There are more than a few application scenarios / patterns that present themselves. If your application fits any of these types of patterns:

    • On / Off application patterns: if you only need a system at definable intervals (payroll, training, accounting systems, and so on) .. the per-minute usage charges of Windows Azure go a long way toward cost savings and usage optimization.
    • Predictable burst activity pattern: maybe your site serves users around identifiable dates (Valentines’ day, Mothers’ day, the silly season, and so on). The elastic nature of Windows Azure Cloud Services enables you to supply additional capacity to manage your customer load requirements.
    • Unpredictable growth pattern: it is expensive and time-consuming to deploy server capacity before it is actually needed .. something startup companies deal with every day. PAYG and elasticity can help small companies grow on their own time, using current cash flow to support their capacity requirements.

Using an autoscaling scenario may meet your needs, optimizing usage / capacity considerations while balancing these against the ultimate cost. A few considerations:

  • Are you short on time and implementation skills, requiring an immediate and managed solution?
  • Do you have an experienced (or willing to learn .. my favorite) development / implementation staff?
  • Do you want something easy, inexpensive and unmanaged?

Depending on your scenario and competency:

    • If short on time and / or lacking implementation as a core competency, companies like RightScale offer managed (read: for a price) solutions to monitor and manage your capacity based on rules that you set. You can try RightScale at for free, but be mindful of ongoing costs and balance them against operational efficiencies.
    • If you have a bit more time and an able development staff, the Autoscaling Application Block is a component you can add to your code that will give you greater control over when and how your capacity will be increased. Ready to get started? Please check out How to use the Autoscaling Application Block from MSDN. Ready for a ‘geekend’? Here’s the Autoscaling Namespace.
    • For easy and unmanaged (well .. managed, but by you .. but not in real time), we’ve recently announced portal-controlled autoscaling options in preview. These features are available in the Windows Azure Portal for your cloud services.

On the third point above, Scott Guthrie posted an update to the platform from the Microsoft Build conference regarding GA for paid websites and mobile services AND autoscale support .. complete with screenshots (check out the “How to enable autoscale section”.

In short (too late!) options abound; at least one to meet the the technical requirements of your project, or the technical skills (and time allotted) to your dev team. Here we are: yet another way to improve and optimize our experiences in the Cloud!

I’ll see you there.

Advertisements

About Michael Coates
I am a pragmatic evangelist. The products, services and solutions I write about fulfill real-world expectations and use cases. I stay up-to-date on real products I use and review, and share my thoughts here. I apply the same lens when designing an architecture, product or when writing papers. I am always looking for ways that technology can create or enhance a business opportunity .. not just technology for technology's sake. My CV says: Seasoned technology executive, leveraging years of experience with enterprise and integration architectural patterns, executed with healthy doses of business acumen and pragmatism. That's me. My web site says: Technology innovations provide a myriad of opportunities for businesses. That said, having the "latest and greatest" for its own sake isn't always a recipe for success. Business successes gained through exploiting innovation relies on analysis of how the new features will enhance your business followed by effective implementation. Goals vary far and wide: streamlining operations, improving customer experience, extending brand, and many more. In all cases, you must identify and collect the metrics you can apply to measure your success. Analysis must be holistic and balanced: business and operational needs must be considered when capitalizing on a new technology asset or opportunity.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: