
“Infrastructure as a Service (IaaS) delivers computer infrastructure – typically a platform virtualization environment – as a service. Rather than purchasing servers, software, data-center space or network equipment, clients instead buy those resources as a fully outsourced service. Suppliers typically bill such services on a utility computing basis and amount of resources consumed (and therefore the cost) will typically reflect the level of activity.” (from Wikipedia) Microsoft, Amazon, Google, Rackspace, etc provide IaaS (though with varying degrees of abstraction); Amazon being the leader in being the lowest in the stack and being most successful in that business.
Corn is a commodity… What?! You thought it was food? Don’t be silly.
A kernel of corn grown on one farm is no different than a kernel grown on any other farm. In the end they just become a raw resource in making processed foods (mmmm “corn sugar“). Or as Wikipedia defines it “A commodity is a good for which there is demand, but which is supplied without qualitative differentiation across a market.“.
Compute resources (MBs of storage, compute cycles, transfer) are like kernels of corn. Once access to these resources can be completely normalized they will have the critical requirement to become a commodity. The litmus test is simple: if you can take an application and host it on one provider and move it to another virtually painlessly then it is a commodity.
This isn’t quite possible today but there is clear evidence that this is where it is headed. If this is in fact true, two things will happen (I should say “are happening”).
First, the price of IaaS will drop. Since you are comparing one kernel of corn to another and they are virtually indistinguishable the only thing to compare them on is the cost. Similarly if one IaaS host is virtually indistinguishable from another, the consumer can only compare them on the cost. Consumers will buy the cheaper of the two, becoming a race to the bottom. With decreasing prices providers will also need to have some type of margins so they will need to reduce the resources they consume (electricity, bandwidth, storage, etc). That might be a plus for innovation in those areas.
What does this mean in practicality? Since Amazon’s EC2 == Azure VM Role, Amazon Simple DB == Azure Table, Amazon SQS = Azure queues, and Amazon S3 == Azure blob storage then each of those services become a commodity and therefore will become cheaper. The caveat here is that the “==” hasn’t quite happened yet. The APIs are still fairly different so you can’t just switch them. This is a problem and the market has already identified this; there are startups that are making it possible to build applications that don’t distinguish these services.
Secondly, this model will not be sustainable to these providers as the margins will shrink. (Maybe those too can be subsidized like farms… I’m only kidding). So like companies that produce raw resources, they will need to sell “value added products”. This means companies that provide IaaS will have to move higher in the stack and start providing Platform-as-a-Service and Software-as-a-Service if they don’t already.
What does this mean in practicality? We’ll see a whole lot of other value added services. Amazon is building out great functionality like SNS, VPC, FPS, DevPay, MapReduce, CloudFront, etc, all of which complement their IaaS offering. Similarly Azure has Azure SQL, Azure AppFabric, which also complements their IaaS offering. They also have a TON of other cloud offerings. Google doesn’t have a pure IaaS service, the Google App Engine is more like the web or worker role in Azure and they also have some really innovative capabilities on that platform.