Q. What is AWS Auto Scaling?
AWS Auto Scaling is a new AWS service that helps you optimize the performance of your applications while lowering infrastructure costs by easily and safely scaling multiple AWS resources. It simplifies the scaling experience by allowing you to scale collections of related resources that support your application with just a few clicks. AWS Auto Scaling helps you configure consistent and congruent scaling policies across the full infrastructure stack backing your application. AWS Auto Scaling will automatically scale resources as needed to align to your selected scaling strategy, so you maintain performance and pay only for the resources you actually need.
Q. When should I use AWS Auto Scaling?
You should use AWS Auto Scaling if you have an application that uses one or more scalable resources and experiences variable load. A good example would be an e-commerce web application that receives variable traffic through the day. It follows a standard three tier architecture with Elastic Load Balancing for distributing incoming traffic, Amazon EC2 for the compute layer, and DynamoDB for the data layer. In this case, AWS Auto Scaling will scale one or more EC2 Auto Scaling groups and DynamoDB tables that are powering the application in response to the demand curve.
Q. When should I use AWS Auto Scaling vs. Amazon EC2 Auto Scaling?
You should use AWS Auto Scaling if you want more guidance on defining your application scaling plan, or if you want to scale multiple resources beyond EC2. At this time, to use AWS Auto Scaling, you must create your applications via AWS CloudFormation or AWS Elastic Beanstalk. AWS Auto Scaling helps you manage all your scaling policies in one place for your applications making tuning easy and intuitive.
You should use Amazon EC2 Auto Scaling if you only need to scale Amazon EC2 Auto Scaling Groups, or just want to maintain the health of your EC2 fleet.
Q. When should I use AWS Auto Scaling vs. Auto Scaling for individual services?
You should use AWS Auto Scaling if you want more guidance on defining your application scaling plan, or if you want to scale multiple resources. AWS Auto Scaling helps you manage all your scaling policies in one place for your applications making tuning easy and intuitive. Alternatively, you could choose to use the individual service consoles, Auto Scaling API, or Application Auto Scaling API, particularly if you want to setup step scaling policies or scheduled scaling. Note that at this time, to use AWS Auto Scaling you must create your applications via AWS CloudFormation or AWS Elastic Beanstalk.
Q. What are the benefits of AWS Auto Scaling?
AWS Auto Scaling helps you maintain predictable performance by using intelligent, self-optimizing scaling policies to help ensure that applications always have enough resources to meet demand. Resources powering your application, such as Amazon EC2 instances or throughput capacity for DynamoDB, are provisioned automatically to meet the demand curve of your application and to help ensure application uptime and responsiveness.
AWS Auto Scaling can also help with cost optimization by removing unneeded resources to avoid overspending. When demand drops, AWS Auto Scaling will automatically reduce excess resource capacity.
The ability to configure scaling for all of the resources underlying your application also lets you take a unified approach to scaling that improves IT efficiency and saves time. Having a holistic view of your application can help you develop more effective scaling policies as well. You can configure scaling policies for all of the scalable resources supporting your application collectively, and AWS Auto Scaling makes scaling decisions easier by giving you guidance on basic scaling parameters.
Q. How can I get started with AWS Auto Scaling?
AWS Auto Scaling allows you to select your applications based on AWS CloudFormation stacks. In just a few clicks, you can create a scaling plan for your application, which defines how each of the resources in your application should be scaled. For each resource, AWS Auto Scaling creates a target tracking scaling policy with the most popular metric for that resource type and keeps it at a target value based on your selected scaling strategy. To set target values for your resource metrics, you can choose from three built-in scaling recommendations that optimize availability, optimize costs, or balance the two. Or, if you prefer, you can define your own target values. AWS Auto Scaling also suggests defaults for min/max for the resources.
Q. What resources can I scale with AWS Auto Scaling?
You can use AWS Auto Scaling to setup scaling for the following resources in your application through a single, unified interface:
Q. How does AWS Auto Scaling make scaling recommendations?
AWS Auto Scaling bases its scaling recommendations on the most popular scaling metrics and thresholds used for Auto Scaling. It also recommends safe guardrails for scaling by providing recommendations for the minimum and maximum sizes of the resources. This way you can get started with sane defaults and can then fine tune your scaling strategy over time.
Q. How does AWS Auto Scaling discover what resources can scale?
AWS Auto Scaling will scan your selected AWS CloudFormation stack to identify the supported AWS resource types that can be scaled.
Q. Which regions is AWS Auto Scaling available in?
AWS Auto Scaling is available in US East (Northern Virginia), US East (Ohio), US West (Oregon), EU (Ireland), and Asia Pacific (Singapore) public AWS regions, with more regions to follow.
Q. How much does AWS Auto Scaling cost?
Similar to Auto Scaling on individual AWS resources, AWS Auto Scaling is free to use. AWS Auto Scaling is enabled by Amazon CloudWatch, so service fees apply for CloudWatch and your application resources (such as Amazon EC2 instances, Elastic Load Balancing load balancers, etc.).