Mind the Cloud - Home
Free Markets and the Cloud
Thoran Rodrigues
FEB 05, 2013 19:49 PM
A+ A A-


One of the great promises of cloud computing is the possibility of optimizing the costs associated with any computing task. By being able to pay only for the computing resources that I need, and only for the time that I need them, I should be able to always minimize my costs, regardless of what I’m doing. One of the greatest embodiments of this principle of cost-optimization is an Amazon Spot Instance.

Amazon, just like any other infrastructure-as-a-service provider, has at any time some excess capacity on their datacenters. Instead of letting this capacity go to waste, they sell this excess capacity in the form of Spot Instances. Unlike a regular instance, the price you pay for a Spot Instance is, in theory, regulated by the market forces of supply and demand. If there is a lot of excess capacity (supply) and little demand, the prices are very low (much lower than the regular instance price); as demand rises, or supply diminishes, prices rise.

For users, this is a great deal: Spot Instances can be had for 10% or less of the price of regular instances, the only caveat being that a Spot Instance can be shut down immediately in case the price goes above a pre-defined threshold. For Amazon, this is also a great deal: Instead of the excess capacity going to waste, it is now going to the highest bidder. Because of their much lower price, and because they allow users to specify exactly how much they are willing to pay for their virtual machines, Spot Instances are perhaps the best method for cloud-based cost optimization today.

It is easy to imagine, then, that the whole infrastructure-as-a-service market could be converted to a similar model, where the price of all resources is set based on the levels of supply and demand. We could have a free market of computing resources, where users could buy (and eventually sell) what they need as they need it, and at the price levels they are comfortable with. But can we truly adopt a free-market model and keep the cloud open to everyone?

Let’s look at the Amazon Spot Instances. The first thing we must realize is that the low prices of spot instances are a market distortion created by two main factors. First, we have the complexity of creating applications that can successfully run on these types of instances. Creating applications that can run distributed in virtual machines that can shut down and restart at random times requires some skill, which isn’t widespread. Second, the prices are artificially set by Amazon, based on their internal measures of excess capacity, over which the market has no real information beyond the prices themselves.

If any application could run on spot instances and regular instances equally, prices would naturally converge to the prices of regular instances; otherwise, everyone would simply run their applications on the cheaper instance type all the time. This would, in turn, lead to no excess capacity at all, which would increase prices until they were more expensive than the regular instances.

If all datacenter capacity should come to be auctioned off in this manner, prices would steadily increase as people started running their applications and services. As larger workloads were moved to this cloud, it would become harder and harder for smaller companies to compete for the computing resources due to their rising costs. Ultimately, such a model would create a situation similar to the stock markets today, where small day-traders have almost no chance to make money against large corporate operators.

A “Free Market” cloud, then, is perhaps infeasible. If on the one hand it would allow for maximum optimization of usage, on the part of both service providers and service consumers, on the other it would unbalance the existing system, creating a better situation for those companies with more money to invest. It would, in fact, eliminate one of the other great benefits of the cloud, which is reducing the barrier of entry of new companies onto the technology space.

[%= name %]
[%= createDate %]
[%= comment %]
Share this:
Please login to enter a comment: