Part 1: IaaS != Entrée
Most discussions aimed at answering the question “What is cloud computing?” start with the three service models as defined by NIST: IaaS, PaaS, and SaaS. At this point, I won’t offend you by assuming you need remediation in the common definitions of Infrastructure, Platform and Software as a service. What may be more interesting is looking at these three models in a new way that casts them not as three separate approaches to consuming cloud resources, but as three aspects of the same model, which is ultimately an expanded, more inclusive definition of Platform as a Service than has previously been purveyed.
The key to successfully harnessing the cloud is to capitalize upon it for what it is, and not to force it to be something it is not. The maturity and ubiquity of the Internet Protocol suite in conjunction with open source software and the global Internet itself have made it both possible and cost-effective to present resources such as compute, memory, persistent storage, and inter-process communication as network accessible functions. The cloud is therefore best modeled as a set of services exposing those resources at varying levels of abstraction. In this alternate interpretation, it is the range of richness in those services that gives us IaaS, PaaS, and SaaS.
For example, because all compute stacks have hardware at their foundation, an obvious service is one that directly exposes hardware resources in their base forms: compute as CPU, memory as RAM, persistent storage as disk, and the network as an Ethernet interface. The model is that of a hardware-defined “machine” with said resources under the control of a built-in basic input and output system (BIOS). This service is readily understood and quickly adopted by those who have worked in and built traditional datacenters in which server hardware is the starting point for information technology services. The fact that the “machines” may be either virtually implemented, or implemented on “bare metal” is usually not very important. What is important is that the machines as exposed through the service can – with few exceptions – be used just like the “real” servers with which one is already familiar.
The services described above are commonly labeled “Infrastructure as a Service” because the usage model closely mimics that of traditional datacenter infrastructure. IT professionals who come to the cloud from traditional backgrounds quickly adapt to it and see obvious ways to extend their operational models to include its use. Indeed, the success of IaaS to date can be attributed to this familiarity. Unfortunately, that success may lead aspiring cloud adopters to believe that this model is the epitome of cloud computing, when it in fact has the least potential for truly transforming IT.
In my next installment, I’ll explain why the IaaS model is the least interesting and transformative of the service models, why more abstract PaaS models have seen slow penetration, and the recent confluence of technologies that is finally bridging the gap from IaaS to PaaS and beyond.