Auto Scaling - Rules and Patterns

Here describing rules and patterns applicable for auto scaling. These patterns are applicable to both on-premise and cloud even-though cloud is expected to implement these patterns quickly and easily. Azure, as a cloud service provider, supporting all these rules and patterns.

Below are the patterns we are talking about.

Resource On and Off

This is the simplest pattern as we should able to on and off computing resources based on scenarios. For example specific job running every 8 hours, under a node. We should able to off that node and save money during out of job operation time and also able to on the node during operation time. This flexibility is supported by cloud service providers including Azure.

Add Resource

We should able to add additional resources based on scenario. For example, we should able to add additional computing power to an existing resource or we should able to add an entire resource itself parallel. This is one of the main features supported by cloud service providers including Azure.

Un-Predictable AutoScaling

Our internal applications will have integration points with external services and applications. So what's bothering our application isn't entirely in our hand. It's really unpredictable. So we should able to auto scale our cloud resources based on system resources like CPU, Memory, I/O operation etc.... For example even-though one of our application won't use much memory, some external service calls may cause memory issues and at that time our cloud resources/applications should be responsive by using a proper auto scaling based on Memory. Azure is supporting auto scaling based on huge complex matrix.

Predictable AutoScaling

For example, all of your customers are south east asia region based, then you can plan your autoscale based on south east asia region time zone as scale up/ scale out during only those business hours. Another example is that some events/festivals are coming, which will cause huge hits to your resources and you can predict this scaling period as well. Any predictable scaling period should able to handle and all cloud service providers are supporting this multiple ways. You can write power shell scripts to support a customized autoscale with your own scenario in azure.
Hope above blog may help you to find out under which category your scaling requirements are falling.