Cloud computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the data centers that provide those services. The data center hardware and software is what we will call a Cloud. Cloud computing is relatively new concept and it has become popular recently. Cloud leverages virtualization technology and in the essence of Cloud computing there is a logical separation between different nodes, each node appears as a different physical machine to the user. Unlike grid computing, it makes several distributed computers connected together to form a big logical computer which can handle large amount of data and computation. In case of Cloud computing the virtualization technology makes it possible to have each node appear as separate physical machine allowing user to load custom software and operating system on each node and configure custom rules for each node.
The idea of Cloud computing is evolved from parallel processing, distributed computing and grid computing. There is a bit similarity between them but they work differently. Although Cloud computing is an emerging field of computer science, the idea has been around for a few years. It’s called Cloud computing because the data and applications exist on a “cloud” of Web servers. To simplify the concept, Cloud computing can be defined as simply the sharing and use of applications and resources of a network environment to get work done without concern about ownership and management of the network’s resources and applications. According to Scale, with Cloud computing, computer resources for getting work done and their data are no longer stored on one’s personal computer, but are hosted elsewhere to be made accessible in any location and at any time.
A form of distributed computing and parallel computing, whereby a ‘super and virtual computer’ is composed of a cluster of networked, loosely coupled computers acting in concert to perform very large tasks
2.2. Utility computing
The packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility, such as electricity.
2.3. Autonomic computing
Computer systems capable of self management.
3. General mechanism
Cloud computing using information technology as a services over the network. The concept generally encompasses of Infrastructure as a service (IaaS), Platform as a service (PaaS) Hardware as a Service (HaaS) and Software as a service (SaaS). It can be the ability to rent a server or servers and run a geophysical modeling application available anywhere. It can be the ability to (S Rupley, 2009) rent a virtual server, load software on it, turn it on and off at will, or clone it to meet a sudden workload demand. It can be storing and securing large amounts of data that is accessible only by authorized applications and users. It can be supported by a cloud provider that sets up a platform with the ability to scale automatically in response to changing workloads. It can be using a storage cloud to hold application, business, and personal data. And it can be the ability to use a handful of Web services to integrate photos, maps, and GPS information to create a front page in customer Web browsers.
In a cloud computing system, there is a significant workload shift. Local computers no longer have to run applications. The network of computers that make up the cloud handles them instead. In this situation the demand of hardware and software on the user’s side is decreased. Let the cloud take care of it. The only thing that local computers should aware is the interface software that will run the application. Today’s, a Web Browser such as Mozilla Firefox and Internet Explorer 8 is widely use as an interface software in cloud computing system.
The truth is, internet users already used some form of cloud computing. If they have an email account with a Webbased email service like Hotmail, Yahoo! Mail or Gmail, then they had some experience with cloud computing. Instead of running an email program on a local computer, user will log in to a Web email account remotely. The software and storage for the account does not exist in the local computer it is on the service’s computer cloud.
4. Key characteristic of Cloud Computing
Currently, there is no standard definition or specification for Cloud Computing. It may take some time to define the key characteristics of Cloud Computing based on practices in the field.Based on practices in the areas of service provisioning and solution design, the following two key enabling technologies could play a vital role in this revolutionary phase of cloud computing:
4.1. Virtualization technology
Virtualization technology works to handle on how the image of the operating system, middleware, and application procreated and allocated to a physical machine or part of the server stack away. The virtualization technology can also help reuse licenses of operating systems, middleware, or software applications, once a subscriber releases their service from the Cloud Computing platform.
4.2. Service Oriented Architecture (SOA).
A service oriented architecture is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed. The evolution of a system or software architecture is now moving towards services oriented, unlike several decades ago most of the application is stand alone and purposely for single use. Recently, the gigantic growth of the internet user and internet technology availability the use of software now can be rented. Giant company such as Google, Microsoft, Sun or even Amazon have this capability provide software services instead of selling the software directly to user. The SOA is software or system architecture that addressing componentization, reusability, extensibility, and flexibility. These entire characteristic is a fundamentals need for company that are looking for reducing cost and opt to rent instead of purchase.