Amazon EC2 Auto Scaling: an indispensable part of your EC2-based HA architecture
Updated March 23, 2022

Amazon EC2 Auto Scaling: an indispensable part of your EC2-based HA architecture

Anonymous | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User

Overall Satisfaction with Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is a foundational component of the web - customer facing - tier of our multi-tier LAMP stack application. This allows us to scale in response to key metrics - such as CPU utilization on the web nodes - and maintain manageable traffic loads on each of the nodes in the autoscaling group. This translates to minimizing the frequency of overloaded EC2 instances requiring intervention (in some cases automated, in other cases manual) in order to be able to serve traffic again. This in turn means that the load balancer is able to serve traffic and that we are minimizing the number of 5XX errors that are surfaced to end users. This is in use in all of our AWS hosted applications. High availability is the business problem that this solves for us, as explained above.
  • Dynamic scaling can be configured to respond to a wide variety of metrics and alerts
  • Predictive scaling allows one to get ahead of high traffic events rather than simply reacting to them
  • Health checks are configurable based on the needs of your application and architecture
  • It can be confusing if you have multiple scaling policies in effect for an autoscaling group and they conflict. In that case, conflict resolution is handled by whichever policy has the greater impact. It would be more ideal if there was intelligence preventing these kinds of conflicting policies
  • It can be confusing if you have conflicting and concurrent scale out and scale in policies in effect. In this case, the scale out action will take place, in order to ensure availability. It would be more ideal if there was intelligence preventing these kinds of conflicting policies
  • IAM is always a bit confusing and the appropriate service roles are required to configure autoscaling correctly
  • Dynamic scaling, which allows us to configure autoscaling events in response to a wide variety of metrics and alerts
  • Predictive scaling, which allows us to get ahead of high traffic events rather than simply reacting to them
  • Custom health checks are helpful for us tuning the scaling policies in response to our application specific needs
  • Hugely positive impact on our ROI because it increases availability of our offering
  • No negative impact that can be measured. This is a totally worthwhile investment
There are no reasonable alternatives to consider when you're building a highly available application of EC2 instances in AWS. There are alternative high availability architectures to consider, including but not limited Elastic Kubernetes Service or serverless architectures. In our case, we were locked in to EC2s at the time of architecture so there was no alternative for our use case. Serverless is often a great choice but it's worth utilizing AWS tooling such as Cost Explorer to spec out potential costs of a serverless architecture as opposed to one that takes advantage of EC2 instances.

Do you think Amazon EC2 Auto Scaling delivers good value for the price?

Yes

Are you happy with Amazon EC2 Auto Scaling's feature set?

Yes

Did Amazon EC2 Auto Scaling live up to sales and marketing promises?

Yes

Did implementation of Amazon EC2 Auto Scaling go as expected?

Yes

Would you buy Amazon EC2 Auto Scaling again?

Yes

EC2 Auto Scaling is a foundational component of high availability architectures in AWS. It allows one to dynamically scale in response to key metrics - such as CPU utilization on the web nodes - or schedule scaling based on anticipated events - such as a flash sale for an e-commerce site. By scaling horizontally, one saves money by not having to scale up to peak traffic. By maintaining manageable traffic loads on each of the nodes in the autoscaling group, one minimizes the incidence of nodes in the autoscaling group failing, which translates to higher availability of the application served by the instances. This is not to mention the possibility of hardware failure on the AWS side, a low likelihood but totally possible event. High availability is not purely a frontend or backend concern. Anything you can do with EC2s that benefits from high availability benefits from autoscaling.