Everyone is aware of “cloud” now. The cloud provider sets up huge infrastructure and makes it available to their customers either as bare infrastructure or a managed service. In either case, it is a huge investment for the provider. All the servers, network bandwidth, and other resources are their inventory. As is the case with any business, idle inventory is a problem. And that is where Spot Instance comes into the picture.
But what is a Spot Instance?
To be fair, this is an AWS specific terminology. However, the concept is utilized by other providers as well, which I will talk in a bit. Spot instance is a VM which is lying idle and not making any money to AWS. All such VMs are made available by AWS to all of their customers via bidding mechanism. Since this is idle inventory, on most occasions, the supply is larger than the demand and hence one can get a Spot Instance at a very cheap rate (as low as 80% of the equivalent cost of a regular (on-demand) instance. However, the prices for Spot instances are not defined and keep on changing as per the demand.
So can I launch a Spot Instance and keep using it?
That would be clever, isn’t it? But no. The flip side of these spot instances is that AWS can take them away at two minute’s notice!! Yeah, you read it right. And that is why you can’t keep on using Spot instance for your production load.
But then how does one use Spot instance?
AWS allows you to clean up the instance before it goes away and if you can use that window to backup your work to some other permanent storage, you can get huge cost savings using spot instances. So these instances can be used for computing needs which are not tied to deadlines and interruptions are acceptable.
Azure launched a public preview of similar service called Low-Priority VM. Google Cloud’s version of Spot Instance is called Preemptible VM instances. You can find the comparison of these three variants here.