AWS Made Easy

Tip #25: What is AWS autoscaling, and how do you use it?

Learn how to scale your workloads and services with AWS autoscaling

AWS offers multiple solutions to add or remove the capacity units based on the workload demand to keep the cost of infrastructure optimized.

Amazon EC2 Autoscaling

EC2 instances are automatically provisioned with specific AMI ID, instance type, key pair, security groups, and block device mapping. You can choose among the various scaling policies based on your application’s requirement:

  • Maintain specific number of instances
  • Scale manually by changing the minimum, maximum, and desired capacity
  • Scale based on a schedule
  • Dynamically scale based on the CPU utilization of the autoscaling group
  • Predictive scaling in advance of daily and weekly patterns in traffic flows

Application Autoscaling

Similar to EC2 instances, various other AWS services can also be scaled based on the scaling policy:

  • AppStream 2.0 fleets
  • Aurora replicas
  • Amazon Comprehend document classification and entity recognizer endpoints
  • DynamoDB tables and global secondary indexes
  • Amazon Elastic Container Service (ECS) services
  • ElastiCache for Redis clusters (replication groups)
  • Amazon EMR clusters
  • Amazon Keyspaces (for Apache Cassandra) tables
  • Lambda function provisioned concurrency
  • Amazon Managed Streaming for Apache Kafka (MSK) broker storage
  • Amazon Neptune clusters
  • SageMaker endpoint variants
  • Spot Fleet requests

AWS Autoscaling

You can apply a consistent scaling policy to different AWS services using a single scaling plan. Scaling plans are created based on the resource tags, e.g. you can add a tag called Environment to all supported resources, and then define separate scaling plans for Dev, Stage and Production resources. 

The following services are supported by AWS Autoscaling:

  • Amazon Aurora
  • Amazon EC2
  • Amazon Elastic Container Service
  • Amazon DynamoDB
  • Spot Fleet

You can choose among the various scaling plans:

  • Optimize for availability – maintains resource utilization at 40 percent
  • Balance availability and cost – maintains resource utilization at 50 percent
  • Optimize for cost – maintains resource utilization at 70 percent
  • Custom – you can choose a custom metric and target value to scale the resources

Conclusion

AWS Auto Scaling is a powerful service that offers simplicity and consistency to scale multiple resources as a whole. 

References

Email
Twitter
Facebook
LinkedIn

Leave a Reply

Your email address will not be published.

Related Tips & Tricks