What are EC2 Spot Instances?
Spot Instances are spare compute capacity on AWS and one of three ways that Amazon sells its compute capacity – the other two being On-Demand Instances and Reserved Instances. In terms of the servers themselves, there is no difference between the three.
The difference is in the business model. Whereas On-Demand Instances are pay-as-you-go and Reserved allow you to rent a server on a 1-year or 3-year basis, Spot Instances allow you to save up to 90% on your compute costs by using Amazon’s excess compute capacity. Spot instances are typically recommended for stateless and non-mission-critical workloads since they can be interrupted at a moment’s notice. Elastigroup for AWS allows you to run production workloads, stateless or stateful while enjoying the extreme cost-savings that come with using Spot.
How it works
Based on historical and statistical data, Spotinst’s Elastigroup predicts interruptions ahead of time and automatically migrates instances into different machine Types, Zones or falls back to On-Demand in order to ensure high availability and consistency. Elastigroup will also make sure that the preemption is done gradually to ensure service uptime. At any given time, Elastigroup automatically scales the application on the best possible mix of instance types – Spot, Reserved, or On-Demand.
Seamless IntegrationElastigroup integrates with dozens of applications and services including Kubernetes, Amazon EKS, Elastic Load Balancer, Application Load Balancer, Autoscaling Groups, Amazon ECS, Terraform, AWS CloudFormation, Beanstalk, OpsWorks, EMR, CodeDeploy, and more.
Intelligent Auto-ScalingElastigroup provides tailor-made auto-scaling for your application. Metric-based or Event-driven, Elastigroup will always make sure that you have the optimal mix of Right-sized VMs running to meet your workloads needs.
Cut Costs by up to 80%Elastigroup reliably leverages the Spot market to optimize your underlying infrastructure for cost, without compromising availability.
Always UpElastigroup uses predictive algorithms to identify and drain VMs that are about to be preempted. Prior to VM termination, Elastigroup seamlessly launches a new VM and replace it seamlessly. Elastigroup will also make sure to distribute your VMs across different sizes and types to optimize cost reduction and VM longevity.
Deep VisibilityGain deep visibility into the usage, utilization and spend on VMs and containers. The Elastigroup dashboard also features an analysis of potential and actual cost savings based on Preemptible VM usage.
RI UtilizationElastigroup finds all unutilized Reservations and prioritizes Reservations usage prior to launching Spot Instances, making sure your application is running on the best possible mix of instances.
Elastigroup integrates with AWS
Network Load Balancers and responsible for registering new instances and safely deregisters instances that are predicted to be terminated, ensuring that the instances have a sufficient time out to draining connections so no requests or sessions will be interrupted.
Elastigroup maintains the same behavior as Autoscaling Groups while making it much more powerful – Elastigroup maintains your application availability and allows you to automatically scale your capacity up or down in order to meet your application’s needs – while leveraging Spot Instances to save up to 80% of compute costs. Elastigroup’s Auto-Scaling engine uses both metric-based and event-driven scaling methods and considers VM sizes and prices before scaling.
Elastigroup integrates with every method of running containers on AWS – Native Docker, Kubernetes, ECS, EKS, you name it. Elastigroup will preserve the behavior of your containerized applications while running the underlying compute on a mix of Spot, Reserved and On-Demand Instances – drastically reducing costs while improving availability. Learn more about how Elastigroup integrates with your container tool of choice:
Elastigroup allows you to leverage the extreme cost savings of Spot with Stateful instance. Since Spot instances are transient in nature, they usually only work for Stateless applications. With Elastigroup, you can run any fault-tolerant application, such as database clusters or stream processing, on Spot Instances.
AWS Elastic Beanstalk allows you to easily deploy and scale web applications such as Apache, NGNIX, Passenger, and IIS. With Elastigroup, you can run the same services on an optimized Autoscaling group that ensures the best possible mix of instance types for reduced costs and higher availability.
AWS Elastic MapReduce provides a managed Big Data framework that enables you to easily add/remove cluster capacity to meet your requirements. EMR supports Hadoop, Apache Spark, and other popular distributed frameworks. With Elastigroup, you can run your EMR clusters on Spot instances – Drastically reducing costs while maintaining 100% availability.
With blue/green CodeDeploy deployments, a new set of instances are provisioned, on which CodeDeploy installs the latest version of the application. CodeDeploy then reroutes load balancer traffic from an existing set of instances running the previous version of the application to the new set of instances running the latest version. After traffic is rerouted to the new instances, the existing (old) instances can be terminated. The CodeDeploy integration allows you to utilize the B/G functionality with your existing Elastigroups, creating a seamless code pipeline that’s always optimized for cost and availability.
Elastigroup in Action
A Step AheadElastigroup uses predictive algorithms and historical data to forecast Spot interruption.
Graceful TransitionsElastigroup automatically transitions applications to the least expensive available instances with the option to fall back to on-demand instances.
A Faster CloudElastigroup automates Spot replacement and reduces operational overhead and development time.
Head of Production Engineering
VP of DevOps
Manager of Systems Reliability Engineering