I receive an invoice from one of my service vendors with a noticeably strange behavior. Every six months or so, the amount charged on this invoice is lower than the previous six months. Yes, you read that right. An invoice for the same service is lower. Simply said, I pay less every few months for the same service I used the prior few months. The service I just described is Amazon Web Services, Simple Storage Service (S3 for short), and the invoice I receive is for the data that I store there. Yes, they keep lowering the price. Strange but true. This is just one of the benefits consumers receive by using cloud services. This benefit is not just for people using Amazon's cloud. Microsoft's Windows Azure has similar price curves. Take a look at Figure 1 and Figure 2. These two images show press releases over the last year announcing lower prices. How often do you see that?

Figure 1: Lower prices announcement for Amazon Web Services S3.
Figure 1: Lower prices announcement for Amazon Web Services S3.
Figure 2: A similar lower price curve for Windows Azure.
Figure 2: A similar lower price curve for Windows Azure.

Two laws have governed personal computing over the last 40+ years. The first, Moore's Law, states:

The complexity for minimum component costs has increased at a rate of roughly a factor of two per year… Certainly over the short term this rate can be expected to continue, if not to increase. Over the longer term, the rate of increase is a bit more uncertain, although there is no reason to believe it will not remain nearly constant for at least 10 years. That means by 1975, the number of components per integrated circuit for minimum cost will be 65,000. I believe that such a large circuit can be built on a single wafer.

The second governing law, Metcalfe's Law, states:

The potential value of a communications network increases exponentially with its size.

Moore's Law lasted nearly 40 years. He wrote it in 1965 and it was uncommonly prescient about the future of computing. CPU speeds had doubled in speed and capacity for decades and they didn't hit a real wall until just recently. (Manufacturers now extend performance by adopting multi-core CPUs.)

Metcalfe's Law describes the network effect of computing. The value of a network values increases as more people are added to it. There is a perfect corollary to this effect. The corollary is the difference between Google+ and Twitter. Twitter is a robust eco system highly used by its user base. Google+ is a failure in comparison. I believe the failure of Google+ is due directly to the network effect. The network is small and because it's small, it stays small, so that makes it less interesting. It's a brutal cycle.

Now let me bring the discussion back to Amazon Web Services, Windows Azure and the other cloud providers. These companies took a great risk in creating their respective cloud infrastructures. They definitely took a page from the movie, Field of Dreams:

Build it and they will come.

And did they ever come. In a mere ten years, Amazon's cloud is the home to dozens of unique cloud services consumed by hosts of some of the largest websites on the net including Netflix, Yelp, Instagram and many others. Windows Azure, while only four years old, has entered the market as a real contender. Organizations like Nasa and easyJet (and a rumored Netflix backup) are users of Microsoft's cloud platform. If these companies are using these services, what does that tell you? These services are real and are here to stay and you should consider them for your applications.

Now let's return to the declining price curve of these cloud services. How do they keep adding more yet keep lowering their price? It's simple, really. Once you have the infrastructure in place, incremental costs go down. You simply purchase new hardware and plug it in (greatly simplified version) and your incremental cost per GB drops. Moore's Law is still partially in effect because CPU, memory and storage costs keep declining and as the cloud services providers purchase in bulk, they lower the curve themselves.

It is expensive and risky to try and create robust infrastructure. You have to consider the hardware cost, network software cost, personnel cost, security cost, and most of all the opportunity cost of the time wasted discussing and planning for the low value returned by setting up your own network. You can often better use this time working on your core business. You wouldn't set up your own gas fired power plant to supply power to your home. So why would you bother setting up your own server infrastructure?