I didn’t think that I would write such an article three years after the “Cloud computing” came into the market. However the term “Cloud hosting” is not very precisely defined yet. It is obviously a web hosting service delivered from a Cloud computing class IT infrastructure. But “What kind of computer infrastructure is considered as Cloud?” and “What does Cloud computing mean?”. I have seen a lot of definitions of “Cloud computing”. I have also seen those definitions changing within the last two years. Almost three years after the phrase “Cloud computing” popped up, we have many versions of the term “Cloud computing”. Let’s see some of them.
According to Wikipedia “Cloud computing is an Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like a public utility.“. IBM says that “Cloud Computing is an emerging model where users can gain access to their applications from anywhere through connected devices“.
“From a user’s point of view, a good cloud computing definition is using Web applications and/or server services that you pay to access rather than software or hardware that you buy and install“, is the definition that About.com offers to Internet audience.
According to Oracle’s CEO Larry Ellison “The interesting thing about cloud computing is that we’ve redefined cloud computing to include everything that we already do. I can’t think of anything that isn’t cloud computing with all of these announcements. The computer industry is the only industry that is more fashion-driven than women’s fashion. Maybe I’m an idiot, but I have no idea what anyone is talking about. What is it? It’s complete gibberish. It’s insane. When is this idiocy going to stop?“.
Businesspersons are not that good in providing definitions. This is probably because they are focused on developing and selling their own products instead of contributing to the an industry as a whole. So we should count on on scientists.
Peter Mell and Tim Grance from the National Institute of Standards and Technology, Information Technology Laboratory have provided more precise definition of “Cloud computing”:
Cloud computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is comprised of five key characteristics, three delivery models, and four deployment models.
Cloud Computing – Key Characteristics
- On-demand self-service – Consumers to unilaterally provision computing capabilities (CPU time, network storage) without requiring human interaction from the cloud service provider.
- World-wide network access – Computer resources and capabilities are available over the Internet and can be accessed through any client devices (laptops, smart phones, PDAs, etc).
- Location independent resource pooling – The computing resources that any cloud service provider operates are pooled to serve all consumers. They are assigned and reassigned per consumer demand. The user has no physical control over the exact location of the provided resources (storage, processing power, memory, network bandwidth, computer instances).
- Scalability (elastic computing) – Capabilities are quickly and elastically provisioned and can be scaled up or scaled down easily.
- Pay per use – The cloud service provider meters resource usage and consumers pay for storage, bandwidth and other computing resources on “pay per use” base.
We would use the above definitions of Cloud computing and the key characteristics to explain what kind of web hosting service can be considered as “Cloud”.
In general “Cloud hosting” is considered to be a web hosting service provided by a multi-server platform (a cluster of servers) which features flexibility and redundancy. However these two are not enough. Any cloud computing platform used for provisioning of Cloud Hosting services have to address three other major issues – high availability, scalability and load-balancing.
We would consider any web hosting service as “Cloud Hosting” when it is:
- Highly Available – The system used to provide web hosting must ensure operational continuity of all processes during a long measurement period. All the services provided from a Cloud have to be available. A system overload is not acceptable.
- Flexible – The users should be able to run automatically their web hosting account and to assign easily new resources.
- Fully Redundant – Any Cloud infrastructure features redundancy of computing resources. It must have either a whole supplemental system or additional components, peripherals and network devices that takes over if any of the primary units fail.
- Dynamically scalable – Any Cloud hosting service must not be disrupted if the user needs to change the size or volume of the resources allocated to the account. The user should be able to rescale easily the parameters of the account to a larger size or volume.
- Load-balanced – Any Cloud hosting should be delivered from a system that distributes workload across a number of computing nodes, network links, CPUs, HDD, or other components in order to achieve optimal resource utilization, minimize response time and to avoid system overload.
When any provider sells its web hosting service as “Cloud”, the best that consumers would do is to make sure that it covers the requirements explained above.
Next time we will review some cloud hosting services.