AWS customers choose between immediate compute capacity and long-term contracts. But what about customers who value...
workload flexibility and cost savings? The AWS Spot market could be the best of both worlds.
When Splice Machine, a hybrid relational database management system provider based in San Francisco, saw varying capacity needs among its customers, the company turned to the AWS Spot market for some of its Elastic Compute Cloud (EC2) Instances. Splice Machine spins up Spot Instances during surges of data streams and then spins them back down when demand wanes.
"It was difficult [for Amazon] to get the customer to commit to using [all of its] capacity," said Murray Brown, director of cloud for Splice Machine. So, AWS offered Spot Instances, which are the same machines, at prices determined by customer need. "The Spot market lets you pick any other price you want."
AWS Spot market prices provide customers lower prices than committing to 12- or 36-month contracts for Reserved Instances or even pricier On-Demand Instances.
Splice Machine works like Spark and Hadoop, providing waves of new capacity as data streams in and analytics models run. It then spins down machines when they're not needed, which makes it a good fit for the AWS Spot market model. This does not affect the customer, as Splice Machine is responsible for provisioning resources -- unless the customer installs the software on premises instead of using the cloud. But Spot Instances have a downside.
"When the price spikes, [AWS] starts killing people's Spot Instances [after a two-minute warning]," Brown said.
Murray's previous employer, Okta, used 400 VMs for a build. It's expensive to rent 400 short-term On-Demand Instances from Amazon, so the team used Spot Instances. "The build-release team could watch the state, and if there was a problem, we could raise the bid so that we would not lose the build," Brown said.
Provision, keep tabs on Spot Instances
Companies of all sizes can benefit from spinning up EC2 Spot Instances for temporary or noncritical workloads. But it's important to keep an eye on prices and adjust bids accordingly to both save money and keep workloads running. Figure 1 shows how a user requests Spot Instances.
Prices rise and fall throughout the day as customer demand changes. For example, the On-Demand price for an m4.xlarge template is $0.80 per hour. The Spot market price at the time of publication was $0.1372 per hour -- 83% cheaper than the On-Demand price.
Figure 2 shows the cost of Spot Instances versus On-Demand for part of the day. As the spot price rises, customers can increase bids to hold onto Instances.
The AWS Spot market is only for EC2 -- not Elastic Block Store or other Amazon Instances. Amazon also provides a Spot Bid Advisor to inform customers on Spot pricing. The advisor keeps track of how often other customers outbid you, so you can tune your bidding strategy accordingly.
AWS Spot Instances get benefit from new tool
Get Spot instance boost from Amazon ClusterK
Do AWS Spot Instances save money?