Download it!
1. Introduction
Cloud computing is fast emerging to become one of the major trends that will shape the way we do things on the Internet. It promises to be a greener, scalable, cost effective alternative to utilizing IT resources. Cloud solutions facilitate faster implementation of innovative ideas, thereby leveraging businesses and changing the way we design and deliver software, as well as the business models used. This paradigm shifts processing and storage activities from the client-side to the data centers. Lets us take a closer look at Cloud computing and its core technologies.
Cloud computing provides on-demand access to dynamically scalable (elastic), virtualized IT resources that are managed and provided as a service over a network (typically the Internet) through a web-browser or a provider-specific interface. Some cloud services mimic the operations performed by their desktop counterparts, without having to install any additional software on the local machines. The complex network of linked data centers (acting as virtualized servers) and other resources are what we collectively call the “Cloud." Cloud computing, specifically enables Internet companies to rapidly scale up when there is a sudden increase in demand for their services; scale down, when there is decline in demand or to simply reduce operational cost. Hotmail is a simple example of a cloud-based service, with the emails and processing software stored online as opposed to running an e-mail program on your computer.
If cloud computing is such a good idea, then why wasn’t it implemented sooner? Well, in the past barriers like bandwidth, loss of control, trust and feasibility all played a role in reasons for not considering a cloud service. Today most of these challenges have been overcome, or countermeasures are in place to resolve the challenges. Significant innovations in virtualization and distributed computing, as well as improved access to high-speed Internet and a weak economy, have accelerated interest in cloud computing.
1.1 Characteristics
There is no single definition or a standard set of characteristics defined for this model of computing – ‘Cloud Computing’ can get a bit cloudy, to say the least! But, there is a consensus among several leading companies and academic institutions which collectively agree on five essential characteristics, three service models and four deployment models.
Essential Characteristics
On-demand self-service: A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed in real-time through a service provider through a simple interface.
Ubiquitous network access: Cloud Services are available over the network or Internet, and accessed through standard Internet-enabled devices that may be based on thin or thick client architecture (e.g., mobile phones, laptops, and PDAs).
Resource pooling: The provider’s virtualized resources are pooled to serve multiple consumers using a multitenant model. Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.
Rapid elasticity: Computing capacity or storage and bandwidth capabilities can be automatically (without human intervention), rapidly and elastically provisioned, to scale up or down as the situation may demand. Enabling consumers to increase or decrease the rented capacity, proportional to demand or to effectively manage operational cost.
Consider a web service that requires a maximal 200 servers during the first 12 hours of the day and 400 servers during the next 12 hours when it receives its highest traffic. So the actual utilization over the whole day is (200 x 12 + 400 x 12) = 7200 server-hours. Assume that the company wants all its users to get the required satisfactory service, and thus employs the maximal (400) required servers. This cost the company 400 × 24 = 12000 server-hours. Indicating that the company pays for an extra 4800 server-hours; that is likely never to be utilized. Now, what if the company makes use of cloud services? ‘Rapid elasticity’ will enable this company to increase or decrease the rented capacity, proportional to demand. So the company will just use and pay for the actually required 7200 server-hours. This is 1.7 times less then what the company currently spends, which translates to huge savings!
Measured Service: Cloud systems automatically control, monitor and report the resource usage of their customers and accordingly charge fees based on their usage.
Before we proceed, let us acquaint ourselves with some basic terminology. A User/End user is a person or organization that utilizes cloud services; a Provider offers, manages and may even develop Cloud-based services to third parties (users) and finally a Vendor develops and then sells or offers their products and services for free, to facilitate the delivery, adoption and use of cloud computing.
2. Service models
Cloud computing is composed of three Service Models: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS); where each model hosts a variety of different products for businesses and individuals around the world.
SaaS: In SaaS, a complete application is offered as a cloud service. It is the only segment that has proven successful as a business model. Because the service provider hosts both the application and the data, the end user is free to use the service from anywhere. Using business applications over the internet via cloud services, rather than from on-site servers helps companies to avoid maintenance costs, licensing costs and the costs of the hardware required for running servers on-site.
PaaS:PaaS providers offer a platform for software development – inclusive of tools and APIs, which are provided as a service to its customers (mainly developers).
IaaS: IaaS delivers basic storage and compute capabilities as a service over the network. Servers, storage systems, switches, routers, and other systems are pooled to handle specific types of workloads — from batch processing to server/storage augmentation during peak loads.
3. Infrastructure models

These models basically are the types of clouds that can also be called deployment models. Figure 1 shows typical architecture of a cloud system.
Private cloud (Internal cloud): The cloud infrastructure is owned and operated solely for an organization or a limited number of people. These clouds are typically built behind a company's firewall; thereby, keeping all the company's data in-house, secured and in full control of the in-house IT staffers. Private clouds are a good option for companies where data security is of critical importance.
Community cloud: The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns.
Public cloud (External Cloud): The cloud infrastructure is owned by a third party organization renting (pay-per-use) cloud services to the general public over the Internet. Public Cloud services will mainly benefit small businesses, start-ups, users who need to use the internet often and the student community - that may have very little capital to invest in their own infrastructure. Students could make use of a very simple-to-use, affordable thin client with internet connectivity that connects to some cloud services to remotely work and store data on it. This will serve as a good solution for the One Laptop per Child (OLPC) initiative.
Hybrid cloud: The cloud infrastructure is a composition of two or more types of clouds.
4. Enabling Technologies for Cloud Computing
There are several technologies that act as the building blocks of Cloud services. I have explained two of the crucial enablers below.
Virtualization: Virtualization allows servers, storage devices, and other hardware to be treated as a pool of resources rather than discrete systems. The benefits of virtualization become obvious when you consider that, most of the time servers don't run at full capacity, resulting in unused processing power. By using specially designed software (FreeVPS, Microsoft Virtual Server, Xen…), an administrator can enable virtualization.
Cloud Storage: Cloud storage is a utility-type service that provides multiple users access to a shared pool of storage capacity. Start-ups are expected to be among the biggest users of cloud storage, as savings are huge. Quite a few well-known companies offer some form of cloud storage that caters to a specific file types. A sampling of cloud storage vendors and their offerings:
Google Inc.'s Google Docs for documents, presentations and spreadsheets (which you can publish and edit online); Xdrive, MediaMax and Strongspace offer storage space for any kind of digital data; Web e-mail providers like Gmail, Hotmail and Yahoo! Mail that store e-mail messages with its embedded content (images, flash,…); Flickr and Picasa store digital images; YouTube hosts millions of user-uploaded video files …
5. Cloud services
Advancements in internet technologies have made it possible to now deploy web application that could only have be deployed on desktop environments in the past. From switching to Hotmail from Outlook Express or switching to GoogleDocs from MS Word, many user preferences have changed with time.
Cloud OS (Cloud Operating system): So, do you want to sample some of the services offered by the cloud? You could make use of Cloud Operating systems that will serve as your personal (but remote) desktop on the cloud. Some of these web apps act as an alternative to their desktop counterparts. Popular Cloud OS’s such as EyeOS, iCloud and g.ho.st are offering more or less the same standard tools expected in any desktop environment, such as Office tools (word processing, spreadsheet, presentations, calendar,…), Games, File storage, Internet tools (Internet Browser, Email, FTP, IM), Multimedia tools (mp3 player, video player), Desktop Widgets, Application Development Tools and more. EyeOS is a PHP based open source cloud desktop that you can download and run from a Apache web server. iCloud, g.ho.st as well as EyeOS are offered as a free online service that requires you to signup for an account to use the desktop; enabling you access to the provided applications and your documents from any Internet connected computer. So go ahead, signup and be a part of the cloud revolution!
6. Conclusion
Cloud solutions enable faster implementation of innovative ideas. It will revolutionize the way we work and do business on the web. Cloud solutions are greener as the underlying infrastructure of service providers are shared among several thousand clients; so fewer servers are required to deliver cloud services. Making it a more cost and energy efficient alternative as a unit of work is completed with far less electricity, less cooling and thus reducing maintenance and overall cost.
For a more comprehensive study on this topic, you could refer Sanshodhan Technical magazine (SFIT), 2010 issue or download it above.
Kent K. Pawar, BE IT B, SFIT.