Cloud computing promises an optimized approach to purchasing computing, storage, database and network resources by following a pay-as-you-go model but what about further optimization in the cloud providers’ ecosystem? AWS Auto Scaling gives you the ability to stick really closely with your utilization curve such that, traffic fluctuations and unprecedented spikes can be accommodated without burning a hole in your pocket.
This service has primarily two techniques for scaling resources:
- Dynamic Scaling – Scales the resources as per the real-time traffic changes
- Predictive Scaling – Predicts future traffic including spike patterns and then provisions the right number of resources. Highly profitable for less volatile use cases.
Benefits of AWS Auto Scaling
- Simplify the scaling exercise of your team by setting target utilization levels
- Reduce cloud costs by optimizing the resource utilization
- Automate performance levels by ensuring your operations with a desired capacity
- Build a highly available system with the ability to handle unexpected peaks
- A fault-tolerant system that replaces corrupt instances automatically
What to scale with AWS Auto Scaling?
Auto Scaling can be set up for multiple resources across multiple services, providing a unified interface to configure and manage automatic scaling for the following services:
Auto scaling can be used to terminate or launch EC2 instances based on the dynamic scaling policy. While that is a default, you can set Target tracking scaling to modify your scaling requirements based on CloudWatch metrics. You also have the option to introduce step scaling which asses the size of an alarm breach and acts upon the request. Then we have simple scaling, based on a single scaling adjustment with a cooldown period between each scaling activity.
ECS is another such service that can be paired with CloudWatch metrics to set up an Auto Scaling behaviour and benefit from its optimization. It supports similar policies to EC2, Target scaling and step scaling but has a different approach called scheduled scaling, which can be used in case of no traffic use cases.
Amazon EC2 Spot Fleets
Spot Fleets are great for reducing costs while maintaining a certain portion of your system under on-demand instances. Auto Scaling can launch or terminate spot fleet instances, giving more continuity to your work and avoiding interruptions. This follows a similar Target tracking and step scaling policy.
AWS Auto Scaling can be used to automatically add or remove Aurora Replicas to handle the changes in active connections and workloads. Through this method, sudden increases in connectivity or workload can be handled and it reduces costs since newly provisioned DB instances are automatically adjusted.
Database usage can be very challenging to predict, making AWS Auto Scaling an excellent use case. You can automatically adjust throughput capacity in response to actual traffic patterns and can also enable a DynamoDB table or a global secondary index to handle changes in traffic. This will prevent throttling while ensuring the availability of just enough resources.
Leave A Comment