Friday, September 2, 2011

What is Cloud Computing...

Cloud Computing is a new concept which was recently came popular in computer industry. The main idea of cloud computing is the sharing of computing recourses among a community of users. The concept of cloud computing immerged in 1960s, when Johon McCarthy opined that "computation may someday be organized as a public utility”. The Condor project that started in 1988 at the University of Wisconsin-Madison was the successful implementation of Cloud computing concept. This project was motivated by the observation that a high percentage of the capacity of user’s workstations is idle while their users are away of their offices or doing other tasks such as reading or talking on the phone. These idle cycles can be harvested by the Condor system and made available to users who need more computing power than that available to them at their local workstations. In present Cloud computing developed as a web-based computing technology that offers a degree of freedom in the establishment of IT infrastructure. 
This paper discusses the concepts of cloud computing starting from the definition. Then it discusses advantages, disadvantages and the challenges of the cloud computing.

What is Cloud Computing- Definition
The term “cloud” is a metaphor to “Internet”. The Cloud computing defined as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, server storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Cloud computing customers do not own the physical infrastructure rather they rent the usage from third party provider. They consume resources as a service and pay only for resources that they use. Most cloud computing infrastructures consist of services delivered through common centers and build on severs. Sharing resources amongst can improve the speed of computing when the servers are unnecessarily left idle.
Present Many companies like Google, Microsoft and are delivering services from the cloud. Google has a private cloud which gives their services like email services, document applications, text translations and maps. Microsoft Sharepoint online service allows for application tools to be moved into the cloud, and Microsoft currently makes its office applications available in a cloud.

Service Models of Cloud computing
Cloud computing offers both the software and hardware as a service over the internet. These services are classified into three categories:

1. Software as a Service (SaaS)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS)

1. Software as a Service (SaaS)
In this model, a complete application is offered to the customer, as a service on demand. A single instance of the service runs on the cloud & multiple end users are serviced. On the customers‟ side, there is no  need for  upfront investment in servers  or software licenses, while for the provider, the costs are lowered, since only  a single  application needs to be  hosted &  maintained. Today SaaS is  offered by companies such as Google, Salesforce, Microsoft, Zoho, etc.

2. Platform as a Service (PaaS)
Here, a layer of software, or development environment is  encapsulated & offered as a service, upon which other higher levels of service can be built. The customer has the freedom to build his own applications, which run on the provider‟s  infrastructure.  To meet manageability and scalability requirements of the applications, PaaS providers offer a predefined combination of OS and application servers, such as LAMP platform (Linux, Apache, MySql and PHP), restricted J2EE, Ruby etc. Google‟s App Engine,, etc are some of the popular PaaS examples.

3. Infrastructure as a Service (IaaS)
 IaaS provides  basic storage and computing capabilities as standardized services over the network. Servers, storage systems,  networking equipment,  data centre space etc.  are pooled and made available to handle workloads.  The  customer would typically deploy his own  software on the infrastructure. Some common examples are Amazon, GoGrid, 3 Tera, etc.

Cloud deployment models
Cloud computing model can be deployed in several ways. According to the characteristic of those models we can identified four main models.

1. Private Cloud 
The cloud infrastructure has been deployed, and is maintained and operated for a specific organization. The operation may be in-house or with a third party on the premises.

2. Community Cloud
 The cloud infrastructure is shared among a number of organizations with similar interests and requirements.
This may help limit the capital expenditure costs for its establishment as the costs are shared among the organizations. The operation may be in-house or with a third party on the premises.

3. Public Cloud 
 The cloud infrastructure is available to the public on a commercial basis by a cloud service provider. This enables a consumer to develop and deploy a service in the cloud with very little financial outlay compared to the capital.

4. Hybrid Cloud 
 The cloud infrastructure consists of a number of clouds of any type, but the clouds have the ability through their interfaces to allow data and/or applications to be moved from one cloud to another. This can be a combination of private and public clouds that support the requirement to retain some data in an organization, and also the need to offer services in the cloud.

The following are some of the possible benefits for those who offer cloud computing-based services and applications:

•  Cost Savings 
Initial expense is really cost effective. The billing model has a per usage basis. The Maintaining cost and service cost are much lower than the traditional computing methods.

•  Scalability/Flexibility
Cloud computing infrastructures have massive storage capacity. There for users can do computation with large size of data. If we consider in industrial level,
Companies can start with a small deployment and grow to a large deployment fairly rapidly, and then scale back if necessary. Also, the flexibility of cloud computing allows companies to use extra resources at peak times, enabling them to satisfy consumer demands.

•  Reliability
We can use multiple redundant clouds to do our computation purposes. This supports business continuity and disaster recovery.

• Maintenance
Cloud service providers do the system maintenance, and access is through APIs that do not require application installations onto PCs, thus further reducing maintenance requirements.

•  Mobile Accessible
This is also a major benefit coming with the cloud computing. Mobile workers have increased productivity due to systems accessible in an infrastructure available from anywhere.


• Data Security
Security is the main problem involves with the cloud computing structure. Cloud service providers can monitor the usage of the cloud and the data. Users don’t have the understanding about the  back end data storages. They don’t know exactly where they are storing their data. This problem can solve if service providers can assure a good security level and if they use any encrypting mechanism.

• Data Recovery and Availability
This is also a challenge which achieve by the service providers. The service providers should maintain a good disaster recovery system and  capacity and performance management system.

• Management Capabilities 
Despite there being multiple cloud providers, the management of platform and infrastructure is still in its infancy. Features like „Auto-scaling‟ for example, are a crucial requirement for many enterprises. There is huge potential to improve on the scalability and load balancing features provided today.

• Regulatory and Constitutional Restrictions 
In some of countries, Government regulations do not allow personal information and other sensitive information to be physically located outside the state or country. In order to meet such requirements, cloud providers need to setup a data center or a storage site exclusively within the country to comply with regulations. Having such an infrastructure may not always be feasible and is a big challenge for cloud providers.