Sunday, 28 August 2011

Cloud Computing Report

Cloud Computing


Table of contents
No Title Page No.
1 History 3
2 Introduction 4
3 Architecture of cloud computing
1. Front End – Back End Architecture
2. Layer Architecture
6
4 Applications of Cloud Computing 11
5 Types of Cloud Computing 14
6 Practical Implementation -Aptana Cloud 15
7 Advantage and Disadvantages 18
8 Bibliography 20






History:

“The underlying concept of cloud computing dates back to the 1960s, when John McCarthy opined that "computation may someday be organized as a public utility." Almost all the modern-day characteristics of cloud computing (elastic provision, provided as a utility, online, illusion of infinite supply), the comparison to the electricity industry and the use of public, private, government and community forms was thoroughly explored in Douglas Parkhill's 1966 book, The Challenge of the Computer Utility.
The actual term "cloud" borrows from telephony in that telecommunications companies, who until the 1990s primarily offered dedicated point-to-point data circuits, began offering Virtual Private Network (VPN) services with comparable quality of service but at a much lower cost. By switching traffic to balance utilization as they saw fit, they were able to utilize their overall network bandwidth more effectively. The cloud symbol was used to denote the demarcation point between that which was the responsibility of the provider from that of the user. Cloud computing extends this boundary to cover servers as well as the network infrastructure. The first scholarly use of the term “cloud computing” was in a 1997 lecture by Ramnath Chellappa.

Introduction:

In dealing with the abstract term, "the cloud", it is easy to misunderstand what makes up the structure and function. The basic function is what comes from "the cloud". This is primarily output, however, not only. Input is what makes the cloud tick.
"Cloud Computing," to put it simply, means "Internet Computing." The Internet is commonly visualized as clouds; hence the term “cloud computing” for computation done through the Internet. With Cloud computing users can access database resources via the Internet from anywhere, for as long as they need, without worrying about any maintenance or management of actual resources. Besides, databases in cloud are very dynamic and scalable.
Cloud computing is unlike grid computing, utility computing, or autonomic computing. In fact, it is a very independent platform in terms of computing. The best example of cloud computing is Google Apps where any application can be accessed using a browser and it can be deployed on thousands of computer through the Internet.
Cloud computing is a relatively new way of referring to the use of shared computing resources, and it is an alternative to having local servers handle applications. Cloud computing groups together large numbers of compute servers and other resources and typically offers their
Combined capacity on an on-demand, pay-per-cycle basis. The end users of a cloud computing Network usually have no idea where the servers are physically located—they just spin up their application and start working.
Cloud computing is fully enabled by virtualization technology (hypervisors) and virtual Appliances. A virtual appliance is an application that is bundled with all the components that it needs to run, along with a streamlined operating system. In a cloud computing environment, a Virtual appliance can be instantly provisioned and decommissioned as needed, without complex configuration of the operating environment.
Cloud computing refers to applications and services offered over the Internet. These services are offered from data centers all over the world, which collectively are referred to as the "cloud." This metaphor represents the intangible, yet universal nature of the Internet.
The idea of the "cloud" simplifies the many network connections and computer systems involved in online services. In fact, many network diagrams use the image of a cloud to represent the Internet. This symbolizes the Internet's broad reach, while simplifying its complexity. Any user with an Internet connection can access the cloud and the services it provides. Since these services are often connected, users can share information between multiple systems and with other users. Examples of cloud computing include online backup services, social networking services, and personal data services such as Apple's MobileMe. Cloud computing also includes online applications, such as those offered through Microsoft Online Services. Hardware services, such as redundant servers, mirrored websites, and Internet-based clusters are also examples of cloud computing.

Definition:

Cloud computing is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like electricity.
Cloud computing loosely means that Software you use does not reside on
Your own computer, but rather on a host computer, accessed via the Internet, run by someone else.
Cloud computing is a technology that uses the internet and central remote servers to maintain data and applications. Cloud computing allows consumers and businesses to use applications without installation and access their personal files at any computer with internet access. This technology allows for much more efficient computing by centralizing storage, memory, processing and bandwidth.
"Cloud computing is a model for enabling 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."

Architecture of cloud computing.

A cloud computing system is in two sections: the front end and the back end.
They connect to each other through a network (internet). The front end is the side the computer user, or client, sees. The back end is the "cloud" section of the system.
The front end includes the client's computer (or computer network) and the application required to access the cloud computing system. Not all cloud computing systems have the same user interface. Services like Web-based e-mail programs leverage existing Web browsers like Internet Explorer or Firefox. Other systems have unique applications that provide network access to clients.

On the back end of the system are the various computers, servers and data storage systems that create the "cloud" of computing services. In theory, a cloud computing system could include practically any computer program you can imagine, from data processing to video games. Usually, each application will have its own dedicated server.
A central server administers the system, monitoring traffic and client demands to ensure everything runs smoothly. It follows a set of rules called protocols and uses a special kind of software called middleware. Middleware allows networked computers to communicate with each other.

If a cloud computing company has a lot of clients, there's likely to be a high demand for a lot of storage space. Some companies require hundreds of digital storage devices. Cloud computing systems need at least twice the number of storage devices it requires to keep all its clients' information stored. That's because these devices, like all computers, occasionally break down. A cloud computing system must make a copy of all its clients' information and store it on other devices. The copies enable the central server to access backup machines to retrieve data that otherwise would be unreachable. Making copies of data as a backup is called redundancy.



Cloud Computing Layer Architecture

The Internet functions through a series of network protocols that form a stack of layers, as shown in the figure (or as described in more detail in the OSI model). Once an Internet Protocol connection is established among several computers, it is possible to share services within any one of the following layers.

Client

A cloud client consists of computer hardware and/or computer software that relies on cloud computing for application delivery, or that is specifically designed for delivery of cloud services and that, in either case, is essentially useless without it. Examples include some computers, phones and other devices, operating systems and browsers.


(Cloud Computing Layers)

Application

Cloud application services or "Software as a Service (SaaS)" deliver software as a service over the Internet, eliminating the need to install and run the application on the customer's own computers and simplifying maintenance and support. People tend to use the terms ‘SaaS’ and ‘cloud’ interchangeably, when in fact they are two different things.


Platform

Cloud platform services or "Platform as a Service (PaaS)" deliver a computing platform and/or solution stack as a service, often consuming cloud infrastructure and sustaining cloud applications. It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers.

Infrastructure

Cloud infrastructure services, also known as "Infrastructure as a Service (IaaS)", delivers computer infrastructure - typically a platform virtualization environment - as a service. Rather than purchasing servers, software, data-center space or network equipment, clients instead buy those resources as a fully outsourced service. Suppliers typically bill such services on a utility computing basis and amount of resources consumed (and therefore the cost) will typically reflect the level of activity. IaaS evolved from virtual private server offerings
Cloud infrastructure often takes the form of a tier 3 data center with many tier 4 attributes, assembled from hundreds of virtual machines.

Server

The servers’ layer consists of computer hardware and/or computer software products that are specifically designed for the delivery of cloud services, including multi-core processors, cloud-specific operating systems and combined offerings.

Applications of Cloud Computing

Cloud providers typically centre on one type of cloud functionality provisioning: Infrastructure,Platform or Software / Application, though there is potentially no restriction to offer multiple types at the same time, which can often be observed in PaaS (Platform as a Service) providers which offerspecific applications too, such as Google App Engine in combination with Google Docs. Due this combinatorial capability, these types are also often referred to as “components”.

Infrastructure as a Service (IaaS) also referred to as Resource Clouds, provide (managed and scalable) resources as services to the user – in other words, they basically provide enhanced virtualisation capabilities. Accordingly, different resources may be provided via a service interface:
Data & Storage Clouds deal with reliable access to data of potentially dynamic size, weighing resource usage with access requirements and / or quality definition.
Examples: Amazon S3, SQL Azure.
Compute Clouds provide access to computational resources, i.e. CPUs. So far, such low-level resources cannot really be exploited on their own, so that they are typically exposed as part of a “virtualized environment” (not to be mixed with PaaS below), i.e. hypervisors. Compute Cloud Providers therefore typically offer the capability to provide computing resources (i.e. raw access to resources unlike PaaS that offer full software stacks to develop and build applications), typically virtualised, in which to execute cloudified services and applications. IaaS (Infrastructure as a Service) offers additional capabilities over a simple compute service.
Examples: Amazon EC2, Zimory, Elastichosts.

Platform as a Service (PaaS), provide computational resources via a platform upon which applications and services can be developed and hosted. PaaS typically makes use of dedicated APIs to control the behavior of a server hosting engine which executes and replicates the execution according to user requests (e.g. access rate). As each provider exposes his / her own API according to the respective key capabilities, applications developed for one specific cloud provider cannot be moved to another cloud host – there are however attempts to extend generic programming models
with cloud capabilities (such as MS Azure).
Examples: Force.com, Google App Engine, Windows Azure (Platform).

Software as a Service (SaaS), also sometimes referred to as Service or Application Clouds
are offering implementations of specific business functions and business processes that are provided with specific cloud capabilities, i.e. they provide applications / services using a cloud infrastructure or platform, rather than providing cloud features themselves. Often, kind of standard application software functionality is offered within a cloud.
Examples: Google Docs, Sales force CRM, SAP Business by Design.
Overall, Cloud Computing is not restricted to Infrastructure / Platform / Software as a Service systems, even though it provides enhanced capabilities which act as (vertical) enablers to these systems. As such, I/P/SaaS can be considered specific “usage patterns” for cloud systems which relate to models already approached by Grid, Web Services etc. Cloud systems are a promising way to implement these models and extend them further.







Types of Cloud Computing

Public cloud

In Public cloud the computing infrastructure is hosted by the cloud vendor at the vendor’s premises. The customer has no visibility and control over where the computing infrastructure is hosted. The computing infrastructure is shared between any organizations.

Private cloud

The computing infrastructure is dedicated to a particular organization and not shared with other organizations. Some experts consider that private clouds are not real examples of cloud computing. Private clouds are more expensive and more secure when compared to public clouds.
Private clouds are of two types: On-premise private clouds and externally hosted private clouds. Externally hosted private clouds are also exclusively used by one organization, but are hosted by a third party specializing in cloud infrastructure. Externally hosted private clouds are cheaper than On-premise private clouds.

Hybrid cloud

Organizations may host critical applications on private clouds and applications with relatively less security concerns on the public cloud. The usage of both private and public clouds together is called hybrid cloud. A related term is Cloud Bursting. In Cloud bursting organization use their own computing infrastructure for normal usage, but access the cloud for high/peak load requirements. This ensures that a sudden increase in computing requirement is handled gracefully.

Community cloud

Community cloud involves sharing of computing infrastructure in between organizations of the same community. For example all Government organizations within the state of California may share computing infrastructure on the cloud to manage data related to citizens residing in California.

Advantages of cloud computing:-
Reduced Cost
Cloud technology is paid incrementally, saving organizations money.
Increased Storage
Organizations can store more data than on private computer systems.
Highly Automated
No longer do IT personnel need to worry about keeping software up to date.
Flexibility
Cloud computing offers much more flexibility than past computing methods.
More Mobility
Employees can access information wherever they are, rather than having to remain at their desks.
Allows IT to Shift Focus

No longer having to worry about constant server updates and other computing issues, government organizations will be free to concentrate on innovation.
Workload diversity:
Because you will have many different sorts of users making use of the cloud resources – different applications, different feature set preferences and different usage volumes – this will improve hardware utilization and therefore make better use of power that you’re using anyway to keep a server up and running. .
Scalability
Cloud Computing provides more scalability..
Reduced Risk
If new version can not work than we fall back to old version without interrupting current users.
Maintenance
Maintenance of cloud computing is much easier because they don't have to be installed on each user's computer.
Disadvantages of cloud computing
Transfer fee Increase
If you are going to move all of your information to data centers situated outside your company, than data transfer fee increase.
Security Concerns
If you are going to move all of your information to data centers situated outside your company, then security should be of utmost importance. You do not have control over the remote servers, their software, or their security.
Loss of data
If you are going to move all data to outside your company than it is possible to lose all data.
Availability and Performance
In addition to concern about security ,business also worried about acceptable levels of availability and performance of application which are hosted in cloud computing.

Bibliography

Websites
www.ibm.com/developerworks/opensource/library/os-cloud-realities2/
www.wikipedia.org/
www.computerweekly.com/

Books
Cloud Computing Implementation, Management, and Security
By John W. Rittinghouse