The formal definition is, well “formal” and we’re inclined to think it like a definition that has been made specifically to confuse rather than explain, but we will start with it and further explain everything one by one.
American National Institute of Standards and Technology gives the following cloud computing definition:
“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.”
This definition gives us the five characteristics of cloud computing:
- Ubiquitous, convenient access,
- On-demand access,
- Shared pool of computing resources,
- Rapid provisioning,
Let’s make these characteristics clearer as follows:
- We have a pool of computing resources: the processor, memory, network, storage etc.,
- Users of these resources can conveniently access them,
- Users of these resources can access them whenever they want, and deploy them on their own,
- The IT personnel can quickly deploy these resources, whether automatically as in item no. 3 or with minimal effort,
- Both the IT personnel and the users can meter their usage.
The underlying concept of all these is the abstraction of the applications from the underlying hardware.
Let’s stop and think for a moment: everyday we access tens or maybe hundreds of websites on the Internet. We just type an address and hit Enter, and we’re done. We do not, just for once, think about whether the website is hosted on an IBM/HP/Dell server, or whether the website is hosted on a physical/virtual server, or whether the website is hosted on a Windows/Linux/BSD platform, or whether the server uses an SAN/DAS/NAS as its storage. It’s just this point that the website – or the application – that matters. It is abstracted from the underlying hardware: we don’t care about anything as long as we can reach the the website.
Let’s dig a little bit more with the website: the underlying hardware is a pool of computing resources: the network that you access the hosting company, the webhost’s switches, network cables, servers (which are made up of CPUs, memories, ethernet adapters, mainboards), load-balancers are pooled, provisioned, deployed and managed by the IT staff. And that website we just visited? It is running on just a portion of these resources. It’s not uncommon for the webhosts to host tens of thousands of websites in a datacenter. And what do we do as the users? We access them whenever we want from our desktops/notebooks/tablets/mobile phones.
From the users’ perspective, the application is there -no matter if the application is a website, an e-mail application, a photo editor or an online radio and he does not care how and where it runs as long as he accesses it whenever he wants from whichever device he chooses.
Just take this idea and extend it further in your company: now you can provision a server for your department in a couple of minutes, ready with the software of your choice:
- Things getting slow? Need one more server? Up and running in a couple of minutes!
- How does the IT guy do it so fast? Basically, he just approves your request, the system provisions the server in the background and returns you the IP address and the hostname.
- How will your department be charged? The usage metering and reporting is transparent and already there: no surprise expenses in your department budget!
Yes, this is the cloud.
This is the transformed IT infrastructure that enables you to receive it as a service and you do not care what is running in the background. You do not care about the IT staff’s downtime, you do not have to think about the server upgrade budget, you do not have to bother about the peaking demand for your servers in certain times of the year. You just want to come to work, sit down at your desk and mind your own business, not IT’s confusing, tecchy business.
Welcome to the cloud.
- National Institute of Standards and Technology, The NIST Definition of Cloud Computing, http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
- Featured Image, Wikimedia, Creative Commons, http://en.wikipedia.org/wiki/File:Cloud_applications.jpg