At times it can be hard to understand what part of the Cloud discussion has substance and what is just marketing fluff. What I want to do here is argue that over the last ten years there as been a "perfect storm" of events that collectively led to today's Cloud world. Clouds are not just yesterday's time sharing or ASP offerings with fresh marketing lipstick. Here's the story.
Consider all that has happened over the period time since the Dot Com bust:
- The Intel architecture "won." If you were planning a Dot Com venture your funders would probably tell you to use an Oracle database on Sun Solaris. In 2000, many businesses had strategic investments in the IBM Power Architecture (or HP's proprietary architectures). Today there is widespread agreement that Intel's X86 is good enough. Intel won the microprocessor battle. Without that architecture convergence there would be no Cloud.
- The network got a lot better. Broadband access wasn't common ten years ago. It is now. Without modern connectivity and bandwidth there would be no Cloud.
- Wireless networks expanded. Wireless build-out during the period was remarkable on a global basis bringing developing areas immediately into the networked world, bypassing entirely the wired phase.
- Mobile devices became powerful and smart. With Apple's iPhone deal with AT&T, mobile applications escaped the control of the mobile carriers. The evolution in wireless and mobile devices (and the rapid rise of consumerism -- employee chosen devices) has really changed the enterprise application and design model. This transition is an ideal time to also transition the front-end parts of the application to a Cloud implementation.
- We consolidated server applications into data centers. During the Dot Com boom, businesses spent profligately for IT, fearing that otherwise they would be "Amazoned." When the bust came there was broad retrenchment in IT spending (it's a cost center, remember). One of the easiest ways to reduce IT cost is to consolidate diverse applications into data centers where the administration and support can be local and shared. This cost-driven consolidation was an important precursor to today's Cloud world.
- Google demonstrated the promise of very large scale commodity computing. Ten years ago if you suggested building "mission critical" applications on anything other than "enterprise class" servers and storage you would be laughed out of the room. Google changed the game entirely. They showed that the most powerful systems in the world could be built from high-volume, commodity parts, and operated with high availability at remarkably low cost. In part the drive to the Cloud is motivated by the radically improved cost structure clearly visible downstream.
- Intel adopted multicore microprocessor design. For years Intel converted semiconductor design and process improvements (the train under "Moore's Law") into faster CPU's by making the CPU's more and more complex. In the end complexity yields diminishing returns. Early in the decade progress looked threatened: new processors got the same task done more quickly, but required more energy in the process. Finally Intel followed AMD and adopted a multicore strategy in which technology improvements are used to put more independent processors on the chip (more "cores") rather than to build more complex processors. It was a risky decision. It wasn't clear how many cores a desktop PC could use productively and the same problem existed in the data center where Windows servers were commonly built to each run on an separate server. The adoption of multicore designs enables a rapid increase the power of a data center of a given size and with a given power budget.
- VMware created commercial quality X86 virtualization and server consolidation occurred. Virtualization abstracts a workload from the specific details of the hardware on which it runs and enabled the shared use of a virtualized server by many X86 workloads with no requirement that they all ran the same "stack."
Virtualization is the magic lubrication that brings it all together: we consolidated applications into data centers; the victory of the X86 architecture and virtualization enabled running many disparate workloads on a shared server; multicore enabled an uptick in performance and power efficency improvements; Google proved that large scale data centers could be built from commodity technology and operated with amazing economics. The rapid evolution on mobile access and devices are transforming the requirements for enterprise applications providing a high-value motivation to change application front end architecture, just at the right time to leverage Cloud implementations.
There is hype and fluff in the Cloud discussion but underneath that there is a remarkable confluence of independent technology waves. In this case the substance is far greater than the hype.
