When AWS Autoscale Doesn’t

When AWS Autoscale Doesn’t

  • February 9, 2019
Table of Contents

When AWS Autoscale Doesn’t

The premise behind autoscaling in AWS is simple: you can maximize your ability to handle load spikes and minimize costs if you automatically scale your application out based on metrics like CPU or memory utilization. If you need 100 Docker containers to support your load during the day but only 10 when load is lower at night, running 100 containers at all times means that you’re using 900% more capacity than you need every night. With a constant container count, you’re either spending more money than you need to most of the time or your service will likely fall over during a load spike.

At Segment, wereliably deliver hundreds of thousands of events per second tocloud-based destinations but we also routinely handle traffic spikes of up to 300% with no warning and while keeping our infrastructure costs reasonable. There are many possible causes for traffic spikes. A new Segment customer may instrument their high-volume website or app with Segment and turn it on at 3 AM.

A partner API may have a partial outage causing the time to process each event to skyrocket. Alternatively, a customer may experience an extreme traffic spike themselves, thereby passing on that traffic to Segment. Regardless of the cause, the results are similar: a fast increase in message volume higher than what the current running process count can handle.

To handle this variation in load, we use target-trackingAWS Application Autoscaling to automatically scale out (and in) the number of Docker containers and EC2 servers running in anElastic Container Service (ECS) cluster. Application Autoscaling is not a magic wand, however. In our experience, people new to target tracking autoscaling on AWS encounter three common surprises leading to slow scaling and giant AWS billing statements.

Source: segment.com

Tags :
Share :
comments powered by Disqus

Related Posts

Predictive Scaling for EC2, Powered by Machine Learning

Predictive Scaling for EC2, Powered by Machine Learning

When I look back on the history of AWS and think about the launches that truly signify the fundamentally dynamic, on-demand nature of the cloud, two stand out in my memory: the launch of Amazon EC2 in 2006 and the concurrent launch of CloudWatch Metrics, Auto Scaling, and Elastic Load Balancing in 2009. The first launch provided access to compute power; the second made it possible to use that access to rapidly respond to changes in demand. We have added a multitude of features to all of these services since then, but as far as I am concerned they are still central and fundamental!

Read More
Crossplane lowers the barrier to a multi-cloud future

Crossplane lowers the barrier to a multi-cloud future

Cloud computing has become the dominant IT paradigm and multi-cloud looks poised to be the primary approach, with 81 percent of enterprises already adopting a multi-cloud strategy. A multi-cloud strategy prevents vendor lock-in, which is increasingly important as three major providers (AWS, GCP, and Azure) dominate the market. Despite the many benefits of a multi-cloud strategy, deploying across multiple clouds is still incredibly complex.

Read More