9 ms·
why would you do this when regular autoscale could just be used instead?
by liveoneggs 8y ago
why would you do this when regular autoscale could just be used instead?
- wahnfrieden 8y agoAutoscale doesn't allow you to scale to zero (as any requests would fail, rather than wait on resources to scale up). EC2 autoscaling takes a minute or two. This means you need to run with enough headroom to absorb spikes before you're able to spin up more resources. Depending on traffic patterns this can get very expensive (or not a problem at all, with predictable loads).
- liveoneggs 8y agoif you're worried about the "zero" traffic situation I am not sure you also need to worry much about the "massive" traffic situation
- wahnfrieden 8y agoI am sure :) Our customers are concentrated around N. America, with minimal activity at night and weekends. We have a complex product with a wide surface area. Some of our services don't see usage constantly throughout the day. Our usage is unpredictable and spiky, worsening our ability to cost optimize EC2 autoscaling. Then there's staging environments...
- liveoneggs 8y agoThe smallest ec2 instance is $4/m on-demand (or $8/m for a usable amount of memory)
- wahnfrieden 8y ago>Our usage is unpredictable and spiky, worsening our ability to cost optimize EC2 autoscaling. Smallest EC2 instance will fall over with a sudden traffic spike, and requests will fail for the couple minutes it takes for autoscaling to complete. Additionally for HA, a machine must be able to die without exposing us to the risk of a traffic spike taking us down.
- larrywright 8y agoActual use case I heard of: Outage reporting system for a utility. You know, the page you go look at when your power goes out. The majority of the time, this page receives no traffic. When there’s an outage, the traffic spikes immensely. When the outage is over, the traffic drops back to near-zero.
- gregmac 8y agoAn interesting way to work around this would be to have the ability to scale with mixed instance types. For example, your base application runs with t2.micro. As soon as traffic starts going up, you launch additional medium/large instances. The load balancer would have to understand this also, and do weighted routing (ideally based on app server loads) so the first micro instance doesn't handle the same volume of traffic as the rest. I've never seen a setup like this before, and frankly, part of me wonders whether the savings would be worth the effort of building it in the first place (vs just running with medium instances, or just scaling to dozens of micros to handle the load, or just using serverless).
- manigandham 8y agoAll you need is a CDN. Cheap, easy, and decades of reliability. You don't need infrastructure for this.
- Touche 8y agoEvery company has parts of their system that has "zero" traffic from time to time.