fbpx

Everything You Need To Know About Multiple Instance Type ASGs on AWS

 

Having a mixed instance type strategy in your scaling groups is a great strategy for ensuring maximum availability. Amazon Web Services recently announced support for Mixed Instance types in auto scaling groups, an important feature that has been supported by Elastigroup for a while. What’s the difference between AWS’ new feature and Elastigroup’s mixed instance type strategy? Here’s everything you need to know!

1. What has changed in EC2 Auto Scaling groups and EC2 Fleet behavior?

As part of AWS recent announcement, EC2 Fleet and EC2 Auto Scaling groups can now be connected. This will let you create a Spot Fleet from an Auto Scaling group.

 
2. In the case of a scale-up operation, how does EC2 Auto Scaling Group determine what instance type to launch?

EC2 Auto Scaling Groups use EC2 Fleet as its provisioning layer, as a result, it will determine the instance type according to the EC2 Fleet strategy.

Elastigroup, however, chooses the instance types and pricing model intelligently, based on the workload performance requirements, Spot capacity-pool availability, and price. Elastigroup is an application-aware cluster that matches the best cost optimized underlying infrastructure. Moreover, for containerized applications, Elastigroup is using a better, sophisticated autoscaling capability to scale instances based on the Containers requirements in terms of CPU/GPU, memory, network, etc.

3. When configuring the usage of Spot Instances in an EC2 Auto Scaling group, is there a guarantee that I always have the right amount of Compute capacity?

No. Whenever Spot capacity pools are unavailable, the EC2 Auto Scaling group won’t be able to spin up new instances and wait until Spot instances will be available again.

Elastigroup will simply fall back to On-Demand instances when Spot capacity isn’t available, in order to guarantee availability, and will revert back to Spot Instances and as soon as they become available again. Your compute capacity is guaranteed and backed by an SLA.

4. Is it possible to prioritize certain instance types in EC2 Auto Scaling group?

No. The EC2 Auto Scaling group will randomly determine what instances to launch.

In order to maximize the availability and achieve the lowest possible cost in the Spot market, it is recommended to select as many instance types as possible. However, this may cause a performance hit. With Elastigroup you can prioritize certain instance types over the others. Elastigroup will launch your preferred instance type as long as it’s available as Spot and use other instance types only when the preferred is unavailable.

5. Will EC2 Auto Scaling groups be able to automatically allocate and prioritize my Reserved Instances utilization?

No. EC2 Auto Scaling groups will launch exactly the amount of instances you configured for each pricing model.

Elastigroup, however, will make sure to first utilize your Reserved Instances, before launching Spot or any other On-Demand instances. Elastigroup is aware of your entire reservation purchases and applies the entire business logic that is associated with utilizing Reserved Instances across accounts. Whenever Elastigroup launches a new instance, it will determine if there’s any vacant RIs and will automatically provision a matching instance to cover it. Only after achieving a full RIs utilization, Elastigroup will provision Spot Instances.

6. Will EC2 Auto Scaling group be able to gracefully drain Spot instances, before they are being terminated?

When Amazon EC2 interrupts your Spot Instance, it emits an interruption notice, followed by a termination of your instance. It’s your responsibility to react to the notification. The maximum notification time you will receive from AWS is 2 minutes.

Based on historical and statistical data, Elastigroup predicts interruptions ahead of time — up to 15 minutes ahead — and automatically relocates instances into another Spot capacity pool. In case there aren’t any available pools, Elastigroup will automatically fall back to On-Demand, in order to ensure high availability and consistency. Elastigroup will also make sure that the preemption is done gradually, maintain TCP/HTTP state and Containers constraints to ensure service uptime.

 

  EC2 Auto Scaling Group Spotinst Elastigroup
SLA When running Spot Instances with EC2 ASG, there is no capacity availability guarantee and no SLA. With Spotinst Elastigroup, your capacity is guaranteed and backed by an SLA.
Prediction When Amazon EC2 interrupts your Spot Instance, it emits an interruption notice, followed by a termination of your instance. The maximum notification time you will receive from AWS is 2 minutes. Based on historical and statistical data, Elastigroup predicts interruptions ahead of time — up to 15 minutes ahead — and automatically relocates instances into another Spot capacity pool. In addition, Elastigroup uses its predictive technology every time it launches a new Instance, to make sure that instances will be placed into the most available & low-priced capacity pools.
Graceful Draining When Amazon EC2 interrupts your Spot Instance, it emits an interruption notice, followed by a termination of your instance Elastigroup predicts interruptions ahead of time and automatically relocates instances into another Spot capacity pool. Elastigroup makes sure that the preemption is done gradually, maintain TCP/HTTP state and Containers constraints to ensure service uptime
Determination of instance types to launch Determine the instance type according to the EC2 Fleet strategy Determine instance types and pricing model intelligently, based on the workload performance requirements, Spot capacity-pool availability, and price
RI Utilization EC2 Auto Scaling group will launch exactly the amount of instances you configured for each pricing model, without caring for underutilized RIs Elastigroup makes sure to first utilize your Reserved Instances, before launching Spot or any other On-Demand instances
Instance types & Availability Zone prioritization EC2 Auto Scaling group randomly determine what instance types/ AZ to launch. With Elastigroup you can prioritize certain instance types / AZs over the others. Elastigroup will launch your preferred instance type as long as it’s available as Spot and use other instance types only when the preferred is unavailable.
Containers Autoscaling EC2 Auto Scaling group is using traditional scaling metrics to autoscale Containerized applications. For Containerized applications, Elastigroup is using its Autoscaler to determine the best blend of instance types from different instance families and sizes (including GPU & FPGA support) to match different containers requirements (CPU, Memory, Network, etc.) in the cluster.