Autoscaling in Windows Azure
July 5, 2013 Leave a comment
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.