Last week in New York, I spoke at a dinner attended by IT executives from a number of Fortune 50 firms. I presented on the challenges that enterprises face balancing innovation with controls. It’s a topic that’s top of mind with IT executives, and one that I’ve blogged about in the past. After my presentation, a passionate debate broke out amongst several attendees. One faction felt that cloud computing was a new marketing term for service delivery models we have seen for decades. The other group argued that cloud computing represented some genuine shift in delivery models, with significant benefits to enterprises. I believe both groups are correct and will cover what’s old and what’s new in cloud computing.
History is always a good starting point when trying to determine if a new “trend” represents a breakthrough or is simply a retreading of an old concept. If we look at cloud computing through this lenses, we can see constituent elements that are decades old and other aspects that are relatively recent. Let’s start by looking at cloud computing’s similarity to historical service provider models.
At its core, cloud computing is about outsourcing. That is, it’s about moving services outside your organizational boundaries. This is by no means a new concept. Adam Smith first wrote about the benefits, and limits of outsourcing in the 18th century in The Wealth Of Nations. In 1937, Ronald Coase wrote an influential article (The Nature of the Firm) that described why firms perform certain services for themselves and why they utilize outside providers in other cases. In the mid-1950’s, ADP became a major technology outsourcer by providing payroll services, decades before the term cloud computing was used.
Similar to conventional outsourcing, cloud computing presents a number of challenges and tradeoffs. As Coase described in his 1937 article, firms must deal with a series of transaction costs, beyond the cost of the service, when they use an external provider. He described four types of costs prevalent in service provider relationships:
- Search and Information Costs – Firms must go about the process of locating the most appropriate service provider. In the world of cloud computing this would include such activities as researching the market, running pilot projects or conducting an RFP.
- Bargaining Costs – Firms must go through a negotiation with service providers to determine the initial and ongoing cost of the service. In a cloud computing relationship this includes such activities as contract establishment and review, change orders and contract renewals
- Keeping Trade Secrets – Firms must ensure that proprietary information is not used inappropriately by the service provider or a 3rd party. In the cloud computing world this takes the form of non-disclosure agreements, security reviews and 3rd party attestations (e.g. SAS 70 or SSAE 16).
- Policing and enforcement costs – Firms must ensure that the terms of their service agreement are met by the provider. In a cloud computing relationship this includes such activities as establishing service level agreements (SLA’s), vendor management and monitoring, and legal functions such as litigation.
A major component and enabler of cloud computing is virtualization. Such products as VMware, Xen and Hyper-V have helped drive the growth of cloud computing. They are instrumental to the cost and agility benefits offered by cloud providers. But as with outsourcing, they are not a new technology. Nearly 40 years ago, IBM first used virtualization technology to partition it’s mainframes into logical partitions.
The virtualization products used in cloud computing suffer from two of the limitations of previous virtualization models. First, anytime resources are divided and abstracted within a physical host, complexity is increased. The ability to do capacity planning and performance management is more complicated. Second, loading more services into a single physical instance increases the impact of a hardware failure.
Cloud computing is an architectural variant of distributed computing. As with most internet based computing models, it involves cooperative services that are distributed across multiple hosts. While this trend has accelerated with the advent of the internet, it is certainly not a new model. In 1994, a famous white paper from Sun Microsystems (A Note on Distributed Computing) described the challenges inherent in the emerging world of distributed computing. It noted such challenges as latency, reliability, compatibility and recoverability.
So is cloud computing just a marketing term to generate hype without any new twists or benefits? While I’ve outlined how cloud computing is similar to past technologies, I believe it is different, and better, in some profound ways.
The Ascendence of Standards
Much of the difference between cloud computing and past service provider models can be attributed to the rise in standards based computing. Technology outsourcing, virtualization and distributed computing all grew up in an environment of proprietary hardware, operating systems and network protocols. This created some limitations to the effectiveness of these older models. Another related phenomenon that is new to cloud is the emergence of commodity hardware models, typically based around Intel architectures. Let’s look at a typical service provider model from 20 years ago to see the differences to a cloud model.
Back in the early 1990’s, a typical service provider built their technology around an IBM mainframe architecture. The connectivity model for that time was dedicated network lines running directly from the provider to the customer. These lines were typically running IBM’s proprietary SNA protocol and required dedicated gear at the customer’s site. In order to access the provider systems, the customer either had dedicated terminals (IBM 3270) or terminal emulator cards in a PC.
Establishing initial service in this type of environment took months of line provisioning, hardware ordering and installation, and system configurations. The service was only available at networked customer locations and limited to employees with the requisite dedicated hardware. Adding line capacity, locations or users was a cumbersome and time consuming process. Due to the fixed nature of these underlying resources, customers did not have the ability to rapidly scale their use and subsequent charges up or down.
The Cloud Difference
Unlike the rigid proprietary model described above, cloud computing takes advantage of new internet standards that we have come to take for granted. Such standards as IP networking, browsers and web services enable efficiencies and capabilities that didn’t exist in the traditional service provider world. Consider the following differences for a service provider in the new, cloud-based world:
A customer needs no special networking connections to access the provider. As long as they have internet connectivity they have instant access. The customer doesn’t require a special terminal, PC hardware or dedicated software installation. Typically they can access the provider’s services from a standard internet browser on a range of desktop or mobile devices.
The service is typically provisioned by the customer through a browser based interface. Initial service as well as changes can be done through a series of mouse clicks, with no burdensome physical provisioning. Because the service is based on load balanced commodity hardware, it allows for rapid (and cost effective) scaling of resources. This enables effective metered pricing models, so the customer is only charged for actual consumption of services.
The unique benefits that I’ve outlined for cloud computing align with NIST’s definition of essential cloud characteristics. They include, On-demand self service, Broad network access, Rapid elasticity and Measured Service. Only one, Resource Pooling, seems to be a throwback to traditional service provider models.
In conclusion, cloud computing is built upon some key technologies and concepts from decades ago. But it is clearly a break from the past, providing increased agility, flexibility and cost efficiencies. Due to these benefits, it continues to become a more attractive paradigm for service provisioning. However, forward thinking enterprises should apply the historical lessons we’ve learned from similar challenges when moving to a cloud based model.