January 31, 2014 | Written by: Edwin Schouten
Share this post:
The following is an excerpt from Edwin Schouten’s new book, IBM SmartCloud Essentials, from Packt Publishing. Click here to purchase the eBook or print version.
To get a common understanding on cloud computing, let’s start with the basics: the essential characteristics and service and deployment models. For this, we will use one of the standardization bodies described earlier, NIST to be more specific, as the NIST definition has become the de facto definition of cloud computing:
“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”
Although this widely-adopted description of what makes a cloud computing solution is very valuable, it is not very tangible or easy to understand. So let’s dive a little deeper into cloud computing and why it’s different than just visualization alone, which is commonly mistaken to be cloud computing as well.
The following image shows that cloud computing is composed of five essential characteristics, three deployment models, and four service models as shown in the following figure:
Let’s look a bit closer at each of the characteristics, service models, and deployment models in the next sections.
Five essential characteristics of cloud computing
The essential characteristics can be elaborated as follows:
• On-demand self-service: Users are able to provision cloud computing resources without requiring human interaction, mostly done though a web-based self-service portal (management console).
• Broad network access: Cloud computing resources are accessible over the network, supporting heterogeneous client platforms such as mobile devices and workstations.
• Resource pooling: Service multiple customers from the same physical resources, by securely separating the resources on logical level.
• Rapid elasticity: Resources are provisioned and released on-demand and/or automated based on triggers or parameters. This will make sure your application will have exactly the capacity it needs at any point of time.
• Measured service: Resource usage are monitored, measured, and reported (billed) transparently based on utilization. In short, pay for use.
As we see, cloud computing is much more than just virtualization. It’s really about utilizing technology “as a service”. Users need little to no knowledge on the details of how a particular service is implemented, on which hardware, on how many CPU’s, and so on. All that’s important for a user is to have good understanding of what the service offers—and what it does not—and how to operate the self-service portal.
Four service models
According to NIST there are three service models: infrastructure (IaaS), platform (PaaS), and software as-a-service (SaaS). To get a better understanding on what each of the service models comprises, refer to the following image that depicts the layers of which atypical IT solution consists:
An infrastructure as a service solution should include vendor-managed network, storage, servers, and virtualization layers for a client to run their application and data on. Next, platform as a service build on top of infrastructure as a service adding vendor-managed middleware such as web, application, and database software. Software as a service again builds on top of that, most of the time adding applications that implement specific user functionality such as email, CRM, or HRM.
Interestingly enough, IBM and other major IT and analyst firms have added a fourth service model, namely business process as a service (BPaaS). BPaaS, as the term implies, offers an entire horizontal or vertical business process and builds on top of any of the previously depicted cloud service models.