Discretionary Processing and Auctions — Much computing must be done on demand. However, in the same way that $79 fares to the Caribbean make people reconsider their weekend plans to shovel snow, companies increasingly will be able to decide how much processing to do for some workloads by placing auction bids or based on spot prices for computing — consider complex optimization problems where more computing results in better results, but with diminishing returns.
Just now, Amazon made an announcement about Amazon Spot Instances, which uses the above model. Under this pricing model, the users can bid for one or more EC2 instances based on the price they are willing to pay. Based on the supply and demand, Amazon sets the prices for these unused resources (spot instances). Since these prices are based on the supply and demand, they will fluctuate periodically based on time of the day, season, days of the week, etc.. If the users’ bidding price is more than the price set for the spot instances, their instances will be run and they will be charged the current spot price. When the spot price goes over their bidding price, the instances will be terminated. Once the prices come back down, based on the users’ settings, the instances can start again automatically.
This first of the kind offering in the industry helps both the customers and Amazon at the same time. Customers get to control their costs and get substantial savings while running their non-time critical tasks. Amazon gets to squeeze out more money out of their unused resources. They could do it due to the vast economies of scale they have achieved with their huge customer base. This large customer base offers them maneuvering room for Amazon due to their diverse utilization. Amazon has perfected their operating model to achieve maximum efficiency which, in turn, gives them an opportunity to innovate in the pricing models.
Jeff Barr, AWS evangelist, offers more insight on Spot instances in his post, pointing out to how users can tweak the parameters to exert more control over these instances.
Your requests can include a number of optional parameters for even more control:
- You can specify that the request is one-time or persistent. A persistent request will be re-evaluated from time to time and is great for long-term background processing.
- You can specify a date and time range when your request is valid.
- You can request that all instances in your request be started at once, as a cluster that we call a Launch Group.
- You can request that all of the instances come from a single Availability Zone. This may, of course, make it somewhat harder for us to fulfill your request.
These are exciting times for cloud computing. Not only the technology behind cloud computing is maturing fast and adoption increasing at a very brisk pace, vendors are trying to innovate on their pricing models, thereby offering considerable savings to their customers making cloud economics as one of the biggest differentiators from the traditional computing solutions.