Friday, April 15, 2011
Cloudy with a Chance of FUD
I can predict the future. It just takes me a long time. It's becoming clear to pretty much everyone now that the not-so-distant future of IT infrastructure will include something called a cloud. The exact meaning of that term is currently being, um, remodeled by established companies who want to co-opt it to refer to all sorts of crazy things. But to me, the term cloud has a simple, specific meaning and a well-defined time of origin. It is essentially the set of storage and compute web services offered by Amazon Web Services division starting in March of 2006 under the names Simple Storage Service (S3) and Elastic Compute Cloud (EC2). From the outside, the cloud looks like an infinite-capacity computer and disk drive with a REST interface to allow one to store data and programs and to execute programs. Think of a computer with a processor, a disk drive, and a network, then explode the whole thing so it vaporizes into a dispersed cloud of resources. The processor becomes EC2, the disk is S3, and the network is the Internet itself. But that's not much of a prognostication. We are already there, functionally if not yet at scale. Many small Web 2.0 companies use the Amazon cloud, or its major competitor Rackspace, exclusively. Soon, SMBs of all sorts will be doing the same. They don't buy racks of servers or network gear or manage power and bandwidth costs, they simply rent IT infrastructure from the cloud and focus on their core businesses. Netflix, the world's leading provider of Internet subscription videos, has recently ported most of its enormous application to the Amazon cloud and is now Amazon's biggest customer, despite the fact they are also competitors. This trend toward commoditization of IT infrastructure will likely continue until we reach a point where computation and storage become utilities like Internet connectivity already is. The only important difference between Infrastructure as a Service (IaaS) providers will be price. Those providers will still buy plenty of equipment and software from Dell, HP, EMC, Oracle, etc., but the SMB market will evaporate for those infrastructure vendors. Furthermore, complex, high margin hardware, like RAID controllers, NAS, and distributed file systems, will be a thing of the past. Clever, fault-tolerant distributed software like CAStor (if I do say so myself) will allow data centers to be built with simpler, cheaper hardware, much like Amazon, Google, and Facebook build them today. Computation and storage, like network connectivity before them, will become information utilities. IaaS vendors will sell megabyte-hours and CPU minutes the same way electric utilities sell kilowatt-hours. Larger enterprise customers will still have a need for "private" data centers, but even those will be API-compatible with the cloud, making it effortless for applications to execute and store into local clouds or the Intercloud. Enterprises will either choose to under-provision their data centers and buy from the cloud during peak loads, or over-provision and sell excess capacity to the cloud, the same way private electric generation facilities today sell power back to the grid. Who will the cloud vendors, the IaaS providers, be? Probably not an online book seller or a hosting provider. It's not likely even to be one of the big seven infrastructure hardware/software companies around today, Dell, HP, EMC, NetApp, Oracle, HDS, or IBM. Remember when AOL and CompuServe were going to own the Internet? It didn't happen, and today the Internet lives with the big Telcos, AT&T, Verizon, Vodafone, Time-Warner, etc. That's because they are utilities already. They know how to run digital services with razor-thin margins, they have high-volume billing and support organizations, and they already own the business accounts. Telcos are slow but persistent, and they will eventually own the cloud too. For those of us who design software for a living, the high value, high margin applications will execute in the compute cloud and manage content flowing into and out of the content cloud. I expect such applications to fall into five categories. Production software will aid content authors, whether it be entertainment videos or corporate email, in preparing and submitting content objects to the cloud. On the other end, distribution applications, like YouTube, Netflix, Ebay, and Amazon-the-etailer will help content consumers find and view/read/play content objects. In between, there are analytics to discover trends and measure consumption rates and monitization applications that use the analytics to make money for the cloud providers and/or content creators. Finally, promotional and marketing applications, like search, to help consumers find relevant content and, not incidentally, influence them to make more profitable choices. That's right, I said search is a promotional tool. Monetization of stored content will become more of a predictable science, based in part on content value (which is mostly, but not entirely, production cost) and content volume, the number of consumers of a particular piece of content.