. Related Technologies
These technologies are the key technologies supporting the evolution and success of cloud computing because these technologies paved the way for the platform from which cloud computing is launched. They provided the technology and infrastructure that cloud computing relies on. They also provided the theoretical and practical experiences which cloud computing capitalizes for its success and adoption in business organizations. These technologies are Grid, cluster, virtualization and SOA computing, ancestor of cloud computing.
Grid Computing is a form of distributed computing that implements a virtual supercomputer made up of a cluster of networked or internetworked computers acting in unison to perform very large tasks. Thus, grid computing offers to cloud the capabilities for resource sharing, heterogeneity and ability to decentralize resource control.
A cluster is a set of multiple interconnected computers. Classifying a set of computers as a cluster requires software that makes that computers work together. A couple of very reason for clustering is performance and high availability, which means a fault-tolerant hardware and software configuration. Performance clustering is a natural way to add performance if one node configuration is not enough. High availability configuration adds reliability by avoiding a single point of failure. These configurations are also used together in an active cluster configuration.
Virtualization is the representation of real machine using software that provides an operating environment which can run or host a guest operating system. It is an essential technological characteristic of clouds which hides the technological complexity from the user and enables enhanced flexibility (through aggregation, routing, and translation). By creating a virtual version of a device or resource, virtualization can improve computing efficiency, reduce the need for expensive hardware and cut overall IT costs. As new innovations continue to emerge, this technology is promising to change IT infrastructure and streamline management. Virtual machines are created and managed by virtual machine monitor. More concretely, virtualization supports the following features:
Ease of use: through hiding the complexity of the infrastructure (including management, configuration etc.) virtualization can make it easier for the user to develop new applications, as well as reduces the overhead for controlling the system.
? Infrastructure independence: in principle, virtualization allows for higher interoperability by making the code platform independent.
? Flexibility and Adaptability: by exposing a virtual execution environment, the underlying infrastructure can change more flexible according to different conditions and requirements (assigning more resources, etc.).
? Location independence: services can be accessed independently of the physical location of the user and the resource.
Two basic concepts of virtualization
1. Making multiple physical resources (such as storage devices or servers) appears as a single logical resource.
2. making a single physical resource (such as a server, an operating system, an application, or storage device) appear to function as multiple logical resources

FIGURE 2.2: VIRTUALIZATION ARCHITECTURE
Virtualization has three characteristics that make it ideal for cloud computing 20:
1. Partitioning: In virtualization, many applications and operating systems (OSes) are supported in a single physical system by partitioning (separating) the available resources.
2. Isolation: Each virtual machine is isolated from its host physical system and other virtualized machines. Because of this isolation, if one virtual instance crashes, it doesn’t affect the other virtual machines. In addition, data isn’t shared between one virtual container and another.
SOA is a standard way for creating connections for enterprise systems. These systems offer their capabilities as services. So, service-oriented architecture and web services enable the offering of cloud computing services as web services accessible via the Internet, also SOA makes it possible for cloud services to be available on multiple platforms 21.