ネットワーク
Defining Clouds
sascha
“Cloud Computing” and “The Cloud” are terms we can hear every day in the IT business – probably even several times. They are even used in non-technical news or advertisements. But isn’t it always quite diffuse what it really is? What is this cloud anyway?
The diffuse nature of the subject is exactly why the term “Cloud” has been chosen. The internet is a huge network – too complex to grasp in an easy way. Therefore, to abstract from it, ever since some data was processed, stored or transferred through the internet the terminology for describing and illustrating it was “Cloud” (actually, even before the internet was there telephone companies used the cloud representation for their networks). People don’t care what the Cloud looks like inside or how it even works. The important part is what goes in and what comes out. Everything in between can be either top-notch technology or magic as well. People simply didn’t care (and in most cases they don’t have to, so not caring is totally okay).
To shed some light in the diffusion there are several definitions of what cloud computing really is. Widely known and used is the definition of Mell and Grance of the National Institute of Standards and Technology. It divides into 5 essential characteristics, 3 service models and 4 deployment models:
The essential characteristics cover on-demand self-service (The customer should be able to decide by himself how much and when additional resources are needed), a high-speed connection which is always available, resource pooling (many customers sharing the same resources for improved utilization), rapid elasticity (so resources can be added and removed almost instantly) and pay as you go (the customer only pays for the resources he was using).
The three service models defined are named Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). Examples for SaaS are services like Google Docs or basically every webmail service out there. PaaS is a service that provides the tools and resources to develop and distribute applications without having to worry about any of the infrastructure for development, debugging, deploying and payment. Take Google App Engine as an example here. The last model, IaaS, provides the basic infrastracture which can be used and set-up as needed. The customer doesn’t have to maintain a whole server park but still can decide which OS is used and how it is configured. The most popular incarnation of this type is Amazon EC2.
Before finishing up, let’s take a look at the deployment models which define the way a cloud might be used. A Private Cloud stays, as the name suggests, within the company network and might be used for virtualizing the server park for example. Public Cloud is what we know from common services like webmail or Amazon EC2 – an huge infrastructure offered to the public. A Community Cloud is an infrastracture shared between several companies or organizations and hence kind of a trade-off between private and public cloud. The last type is the combination of two or more different types of clouds and hence called Hybrid Cloud.
Of course this is by far not everything that can be told about the definition of Cloud Computing and of course there is even a lot more to talk about on Cloud Computing in gerneral, but this short post should be enough to give a rough overview of the topic.