Presentation is loading. Please wait.

Presentation is loading. Please wait.

Historical developments

Similar presentations


Presentation on theme: "Historical developments"— Presentation transcript:

1 Historical developments

2 Historical developments
Five core technologies that played an important role in realization of Cloud Computing Distributed Systems, Virtualization, Web 2.0, Service oriented computing and utility oriented computing 1. Distribute systems A distributed system is a collection of independent computers that appears to its users as a single coherent system. Three major milestones have led to cloud computing: mainframe computing, cluster computing, and grid computing. 2. Virtualization Virtualization is essentially a technology that allows creation of different computing environments. These environments are called virtual because they simulate the interface that is expected by a guest EX: Hardware virtualization, Storage and Network virtualization

3 Historical developments
3. Web 2.0 Web is the primary interface through which cloud computing delivers its services A set of technologies and services that facilitate interactive information sharing, collaboration, user-centered design, and application composition. Web 2.0 brings interactivity and flexibility into Web pages, providing enhanced user experience by gaining Web-based access to all the functions that are normally found in desktop applications. These capabilities are obtained by integrating a collection of standards and technologies such as XML, Asynchronous JavaScript and XML (AJAX), Web Services, and others Ex: Google Documents, Google Maps, Flickr, Facebook, Twitter, YouTube Blogger, and Wikipedia.

4 Historical developments
4. Service-oriented computing Service orientation is the core reference model for cloud computing systems. This approach adopts the concept of services as the main building blocks of application and system development. Service-oriented computing (SOC) supports the development of rapid, low-cost, flexible, interoperable, and evolvable applications and systems. A service is an abstraction representing a self-describing and platform-agnostic component that can perform any function—anything from a simple function to a complex business process A service is supposed to be loosely coupled, reusable, programming language independent, and location transparent.

5 Historical developments
5. Utility-oriented computing Utility computing is a vision of computing that defines a service- provisioning model for compute services in which resources such as storage, compute power, applications, and infrastructure are packaged and offered on a pay-per-use basis With the advent of cloud computing, the idea of providing computing as a utility like natural gas, water, power, and telephone connection has become a reality today

6 Building cloud computing environments
The creation of cloud computing environments encompasses 1. Application development Web applications, enterprise applications resource-intensive applications. Data-intensive compute-intensive applications. 2. Infrastructure and system development Distributed computing, virtualization, service orientation, and Web 2.0 form the core technologies enabling the provisioning of cloud services from anywhere on the globe.

7 Computing platforms and technologies
Amazon web services (AWS) AWS offers comprehensive cloud IaaS services ranging from virtual compute, storage, and networking to complete computing stacks. EX: Elastic Compute Cloud (EC2) Simple Storage Service (S3) Google AppEngine Google AppEngine is a scalable runtime environment mostly devoted to executing Web applications. The languages currently supported are Python, Java, and Go.

8 Computing platforms and technologies
3. Microsoft Azure It provides a scalable runtime environment for Web applications and distributed applications Applications in Azure are organized around the concept of roles, which identify a distribution unit for applications and embody the application’s logic. Currently, there are three types of role: Web role, worker role, and virtual machine role. The Web role is designed to host a Web application, the worker role used to perform workload processing, the virtual machine role provides a virtual environment in which the computing stack can be fully customized, including the operating systems.

9 Computing platforms and technologies
4. Hadoop Apache Hadoop is an open-source framework that is suited for processing large data sets on commodity hardware Hadoop is an implementation of MapReduce, MapReduce is programming model which provides two fundamental operations for data processing map reduce. Map transforms and synthesizes the input data provided by the user; Reduce aggregates the output obtained by the map operations.

10 Computing platforms and technologies
5. Force.com and Salesforce.com Force.com is a cloud computing platform for developing social enterprise applications. SalesForce.com is a Software-as-a-Service solution for customer relationship management. 6. Manjrasoft Aneka Manjrasoft Aneka is a cloud application platform for rapid creation of scalable applications and their deployment on various types of clouds in a seamless and elastic manner. It supports a collection of programming abstractions Developers can choose different abstractions to design their application

11 Virtualization Introduction
Virtualization technology is one of the fundamental components of cloud computing, especially in regard to infrastructure-based services. Virtualization allows the creation of a secure, customizable, and isolated execution environment for running applications, These environments are called virtual because they simulate the interface that is expected by a guest. EX: Hardware virtualization, Storage and Network virtualization virtualization is widely used to deliver customizable computing environments on demand major causes for the diffusion of hardware virtualization solutions are performance and computing capacity Underutilized hardware and software resources. Lack of space Greening initiatives Rise of administrative costs

12 Virtualization In a virtualized environment there are three major components Guest The guest represents the system component that interacts with the virtualization layer rather than with the host Host The host represents the original environment where the guest is supposed to be managed. virtualization layer The virtualization layer is responsible for recreating the same or a different environment where the guest will operate

13 Virtualization

14 Virtualization The most intuitive and popular is represented by hardware virtualization the guest is represented by a system image comprising an operating system and installed applications These are installed on top of virtual hardware that is controlled and managed by the virtualization layer, also called the virtual machine manager. The host is instead represented by the physical hardware, and in some cases the operating system, that defines the environment where the virtual machine manager is running

15 Virtualization Characteristics of virtualized environments
Increased security The virtual machine represents an emulated environment in which the guest is executed. All the operations of the guest are generally performed against the virtual machine, This level of indirection allows the virtual machine manager to control and filter the activity of the guest, thus preventing some harmful operations from being performed. Sensitive information that is contained in the host can be naturally hidden without the need to install complex security policies. This becomes the perfect environment for running applications without affecting other users in the environment.

16 Virtualization Managed execution Sharing, aggregation, emulation, and isolation are the most relevant features that can be implemented. Virtualization allows the creation of a separate computing environments within the same host. In this way it is possible to fully exploit the capabilities which would otherwise be underutilized. virtualization also allows aggregation, which is the opposite process. A group of separate hosts can be tied together and represented to guests as a single virtual host. A completely different environment with respect to the host can be emulated, thus allowing the execution of guest programs requiring specific characteristics that are not present in the physical host. Virtualization provides a completely separate environment, in which they are executed. Isolation brings several benefits Isolation allows multiple guests to run on the same host without interfering with each other. provides a separation between the host and the guest.

17 Virtualization Portability One version of the application is able to run on different platforms with no changes.

18 Virtualization Taxonomy of virtualization techniques A classification of virtualization techniques helps in understanding the characteristics and use of these techniques.

19 Virtualization Taxonomy of virtualization techniques
The first classification discriminates against the service or entity that is being emulated. Virtualization is mainly used to emulate execution environments, storage, and networks. we can divide these execution virtualization techniques into two major categories by considering the type of host they require Process-level techniques are implemented on top of an existing operating system, which has full control of the hardware. System-level techniques are implemented directly on hardware and do not require—or require a minimum of support from—an existing operating system. Within these two categories we can list various techniques that offer the guest a different type of virtual computation environment: bare hardware, operating system resources, low-level programming language, and application libraries.

20 Virtualization Hardware-level virtualization

21 Virtualization Hardware-level virtualization
Hardware-level virtualization is a virtualization technique that provides an abstract execution environment in terms of computer hardware on top of which a guest operating system can be run. In this model, the guest is represented by the operating system, the host by the physical computer hardware, the virtual machine by its emulation, and the virtual machine manager by the hypervisor The hypervisor is generally a program or a combination of software and hardware that allows the abstraction of the underlying physical hardware. Hardware-level virtualization is also called system virtualization

22 Virtualization Hypervisors
A fundamental element of hardware virtualization is the hypervisor, or virtual machine manager (VMM). It recreates a hardware environment in which guest operating systems are installed. The two major types of hypervisor Type I hypervisors run directly on top of the hardware. This type of hypervisor is also called a native virtual machine since it runs natively on hardware. Type II hypervisors require the support of an operating system to provide virtualization services. This type of hypervisor is also called a hosted virtual machine since it is hosted within an operating system.

23 Virtualization

24 Virtualization Reference Architecture of Hypervisor

25 Virtualization Three main modules, dispatcher, allocator, and interpreter, coordinate their activity in order to emulate the underlying hardware. The dispatcher constitutes the entry point of the monitor and reroutes the instructions issued by the virtual machine instance to one of the two other modules. The allocator is responsible for deciding the system resources to be provided to the VM: whenever a virtual machine tries to execute an instruction that results in changing the machine resources associated with that VM, the allocator is invoked by the dispatcher. The interpreter module consists of interpreter routines. These are executed whenever a virtual machine executes a privileged instruction: a trap is triggered and the corresponding routine is executed

26 Virtualization The criteria that need to be met by a virtual machine manager to efficiently support virtualization. Equivalence: A guest running under the control of a virtual machine manager should exhibit the same behavior as when it is executed directly on the physical host. Resource control: The virtual machine manager should be in complete control of virtualized resources. Efficiency: A statistically dominant fraction of the machine instructions should be executed without intervention from the virtual machine manager.

27 Virtualization The factor that determines whether the VMM properties are satisfied is represented by the layout of the ISA of the host running a virtual machine manager. Popek and Goldberg proposed three theorems that define the properties that hardware instructions need to satisfy in order to efficiently support virtualization.

28 Virtualization

29 Virtualization Hardware virtualization techniques
Hardware-assisted virtualization, Full virtualization, Paravirtualization, Partial virtualization

30 Virtualization Hardware-assisted virtualization Full virtualization
Hardware provides architectural support for building a virtual machine manager able to run a guest operating system. Full virtualization Full virtualization refers to the ability to run a program, most likely an operating system, directly on top of a virtual machine and without any modification, as though it were run on the raw hardware. To make this possible, virtual machine managers are required to provide a complete emulation of the entire underlying hardware. The principal advantage of full virtualization is complete isolation, which leads to enhanced security, ease of emulation of different architectures, and coexistence of different systems on the same platform. full virtualization poses important concerns related to performance and technical implementation. A key challenge is the interception of privileged instructions such as I/O instructions: Since they change the state of the resources exposed by the host, they have to be contained within the virtual machine manager. A simple solution to achieve full virtualization is to provide a virtual environment for all the instructions,

31 Virtualization Paravirtualization
Paravirtualization techniques expose a software interface to the virtual machine that is slightly modified from the host and, as a consequence, guests need to be modified. The aim of paravirtualization is to provide the capability to demand the execution of performance-critical operations directly on the host, thus preventing performance losses that would otherwise be experienced in managed execution. To take advantage of such an opportunity, guest operating systems 853.3 Taxonomy of virtualization techniques need to be modified and explicitly ported by remapping the performance-critical operations through the virtual machine software interface. This is possible when the source code of the operating system is available, and this is the reason that paravirtualization was mostly explored in the opensource and academic environment.

32 Virtualization Partial virtualization
Partial virtualization provides a partial emulation of the underlying hardware, thus not allowing the complete execution of the guest operating system in complete isolation. Partial virtualization allows many applications to run transparently, but not all the features of the operating system can be supported, as happens with full virtualization An example of partial virtualization is address space virtualization used in time-sharing systems; this allows multiple applications and users to run concurrently in a separate memory space, but they still share the same hardware resources (disk, processor, and network).

33 Virtualization Operating system-level virtualization Operating system-level virtualization creates different and separated execution environments for applications that are managed concurrently. there is no virtual machine manager or hypervisor. The virtualization is done within a single operating system, where the OS kernel allows for multiple isolated user space instances. The kernel is responsible for sharing the system resources among instances and for limiting the impact of instances on each other. operating system-level virtualization aims to provide separated and multiple execution containers for running applications

34 Virtualization Programming language-level virtualization
Programming language-level virtualization is mostly used to achieve ease of deployment of applications, managed execution, and portability across different platforms and operating systems. It consists of a virtual machine executing the byte code of a program, which is the result of the compilation process. The main advantage of programming-level virtual machines, also called process virtual machines, is the ability to provide a uniform execution environment across different platforms. From a development lifecycle point of view, this simplifies the development and deployment efforts since it is not necessary to provide different versions of the same code.

35 Virtualization Application-level virtualization
Application-level virtualization is a technique allowing applications to be run in runtime environments that do not natively support all the features required by such applications. In this scenario, applications are not installed in the expected runtime environment but are run as though they these techniques are mostly concerned with partial file systems, libraries, and operating system component emulation. Emulation can also be used to execute program binaries compiled for different hardware architectures. One of following strategies can be implemented: Interpretation Binary translation

36 Virtualization Interpretation Binary translation
Application-level virtualization Interpretation In this technique every source instruction is interpreted by an emulator for executing native ISA instructions, leading to poor performance. Interpretation has a minimal startup cost but a huge overhead, since each instruction is emulated. Binary translation In this technique every source instruction is converted to native instructions with equivalent functions. After a block of instructions is translated, it is cached and reused. Binary translation has a large initial overhead cost, but over time it is subject to better performance, since previously translated instruction blocks are directly executed.

37 Virtualization Storage virtualization Network virtualization
Other types of virtualization Storage virtualization Network virtualization Desktop virtualization Application server virtualization

38 Virtualization Network virtualization Storage virtualization
Decoupling the physical organization of the hardware from its logical representation. users do not have to be worried about the specific location of their data. Can be identified using a logical path. Storage virtualization allows us to connect to a wide range of storage facilities and represent them under a single logical file system. Network virtualization Network virtualization combines hardware appliances and specific software for the creation and management of a virtual network. Network virtualization can aggregate different physical networks into a single logical network. An aggregation of hosts communicate with each other as though they were located under the same broadcasting domain.

39 Virtualization Application server virtualization
Desktop virtualization Desktop virtualization abstracts the desktop environment available on a personal computer in order to provide access to it using a client/server approach. The desktop environment is stored in a remote server or a data center that provides a high-availability infrastructure and ensures the accessibility and persistence of the data. Application server virtualization Application server virtualization abstracts a collection of application servers that provide the same services as a single virtual application server This is done by using load-balancing strategies provides high-availability infrastructure for the services hosted in the application server.

40 Virtualization Virtualization and cloud computing
Virtualization allows customization, security, isolation, and manageability which are fundamental for delivering IT services on demand. Hardware and programming language virtualization are the techniques adopted in cloud computing systems. Hardware virtualization is an enabling factor for solutions in the Infrastructure-as-a- Service (IaaS) market segment. programming language virtualization is a technology leveraged in Platform-as-a- Service (PaaS) offerings. Since virtualization allows us to create isolated and controllable environments, it is possible to serve these environments with the same resource without them interfering with each other. Virtualization allows reducing the number of active resources by aggregating virtual machines over a smaller number of resources that become fully utilized which is known as server consolidation. Allows virtual machine migration(the movement of virtual machine instances) because virtual machine instances are controllable environments.

41 Virtualization An example of live migration and server consolidation is shown in fig. It is important to notice that cloud computing is strongly leveraged for the development of applications that need to scale on demand. This is because applications have to process increased workloads or serve more requests. In this scenario, live migration offers a better solution because it does not create any service interruption during consolidation.

42 Virtualization Advantages of virtualization
Pros and cons (advantages and disadvantages) of virtualization Advantages of virtualization Managed execution and isolation Leads to secure and controllable computing environments. Simplifies the allocation of resources among different guests which enables fine- tuning of resources which is the requirement for effective quality of service. Portability Virtual machine instances can be easily transported because they are self-contained since they do not have other dependencies besides the virtual machine manager for their use. Portability and self-containment simplify their administration Portability and self-containment also contribute to reducing the costs of maintenance since the number of hosts is expected to be lower than the number of virtual machine instances.

43 Virtualization Pros and cons (advantages and disadvantages) of virtualization Disadvantages of virtualization Performance degradation Due to the intermediation performed by the virtualization layer, guest can experience increased latencies. performance degradation is the result of overhead introduced by the following activities: Maintaining the status of virtual processors Support of privileged instructions (trap and simulate privileged instructions) Support of paging within VM Console functions Inefficiency and degraded user experience Virtualization can sometime lead to an inefficient use of the host Ex: In the case of hardware virtualization, the virtual machine sometime provide a default graphic card that maps only a subset of the features available in the host. In the case of programming-level virtual machines, some of the features of the underlying operating systems may become inaccessible unless specific libraries are used.

44 Virtualization Pros and cons (advantages and disadvantages) of virtualization Disadvantages of virtualization Security holes and new threats Virtualization opens the door to a new and unexpected form of phishing In the case of hardware virtualization, malicious programs can preload themselves before the operating system and act as a thin virtual machine manager toward it. The operating system is then controlled and can be manipulated to extract sensitive information of interest to third parties. The same considerations can be made for programming-level virtual machines: Modified versions of the runtime environment can access sensitive information or monitor the memory locations utilized by guest applications while these are executed.

45 Virtualization Technology examples Xen: Paravirtualization
Xen is an open-source initiative implementing a virtualization platform based on paravirtualization. Initially developed by a group of researchers at the University of Cambridge in the United Kingdom. Xen now has a large open-source community. Xen-based technology is used for either desktop virtualization or server virtualization. Xen Hypervisor constitutes the core technology of Xen. Xen has been advanced to support full virtualization using hardware-assisted virtualization in recent times. Xen is the most popular implementation of paravirtualization. Allows high-performance execution of guest operating systems in contrast with full virtualization.

46 Virtualization Xen: Paravirtualization

47 Virtualization Xen: paravirtualization
A Xen-based system is managed by the Xen hypervisor, which runs in the highest privileged mode and controls the access of guest operating system to the underlying hardware. Guest operating systems are executed within domains, which represent virtual machine instances. Specific control software, which has privileged access to the host and controls all the other guest operating systems, is executed in a special domain called Domain 0. Specific control software is the first one that is loaded once the virtual machine manager has completely booted, and it hosts a HyperText Transfer Protocol (HTTP) server that serves requests for virtual machine creation, configuration, and termination. The x86 implementations support four different security levels, called rings, where Ring 0 represent the level with the highest privileges and Ring 3 the level with the lowest ones.

48 Virtualization Xen: paravirtualization
This provides the opportunity for Xen to implement virtualization by executing the hypervisor in Ring 0, Domain 0, and all the other domains running guest operating systems—generally referred to as Domain U—in Ring 1. Almost all the most popular operating systems, except OS/2, utilize only two levels: Ring 0 for the kernel code, and Ring 3 for user application and nonprivileged OS code. This provides the opportunity for Xen to implement virtualization by executing the hypervisor in Ring 0, Domain 0, and all the other domains running guest operating systems—generally referred to as Domain U—in Ring 1, while the user applications are run in Ring 3. Because of the structure of the x86 instruction set, some instructions allow code executing in Ring 3 to jump into Ring 0 (kernel mode). Such operation is performed at the hardware level and therefore within a virtualized environment will result in a trap, thus preventing the normal operations of the guest operating system, since this is now running in Ring 1.

49 Virtualization Xen: paravirtualization
To avoid this situation, operating systems need to be modified in their implementation. The sensitive system calls need to be re-implemented with hypercalls, which are specific calls exposed by the virtual machine interface of Xen. With the use of hypercalls, the Xen hypervisor is able to catch the execution of all the sensitive instructions, manage them, and return the control to the guest operating system by means of a supplied handler. Open-source operating systems such as Linux can be easily modified, since their code is publicly available and Xen provides full support for their virtualization, whereas components of the Windows family are generally not supported by Xen unless hardware-assisted virtualization is available. New releases of operating systems are designed to be virtualization aware and the new hardware supports x86 virtualization.

50 Virtualization Technology examples Microsoft Hyper-V Architecture
Hyper-V is an infrastructure virtualization (hardware virtualization) solution developed by Microsoft for server virtualization. Hyper-V is currently shipped as a component of Windows Server 2008 R2 that installs the hypervisor as a role within the server. Architecture Hyper-V supports multiple and concurrent execution of guest operating systems by means of partitions. A partition is a completely isolated environment in which an operating system is installed and run.

51

52 Virtualization Microsoft Hyper-V Architecture
In Hyper-V the host operating system becomes a virtual machine instance with special privileges, called the parent partition. The parent partition (also called the root partition) is the only partition that has direct access to the hardware. It runs the virtualization stack, hosts all the drivers required to configure guest operating systems, and creates child partitions through the hypervisor. Child partitions are used to host guest operating systems and do not have access to the underlying hardware. Child partition’s interaction with hardware is controlled by either the parent partition or the hypervisor. Components Hypervisor Enlightened I/O and synthetic devices Parent partition Child partition

53 Virtualization Microsoft Hyper-V Architecture-Components Hypervisor
The hypervisor is the component that directly manages the underlying hardware (processors and memory). Hypervisor-Components Hypercalls interface. Memory service routines (MSRs). Advanced programmable interrupt controller (APIC). Scheduler. Address manager Partition manager

54 Virtualization Microsoft Hyper-V Architecture-Components
Hypervisor-Components Hypercalls interface This is the entry point for all the partitions for the execution of sensitive instructions. This interface is used by drivers in the partitioned operating system to contact the hypervisor using the standard Windows calling convention. The parent partition also uses this interface to create child partitions Memory service routines (MSRs). These are the set of functionalities that control the memory and its access from partitions. the hypervisor uses the Input/Output Memory Management Unit to fast-track access to devices from partitions by translating virtual memory addresses.

55 Virtualization Microsoft Hyper-V Architecture-Components
Hypervisor-Components Advanced programmable interrupt controller (APIC). This component represents the interrupt controller, which manages the signals coming from the underlying hardware when some event occurs. Scheduler This component schedules the virtual processors to run on available physical processors. Address manager. This component is used to manage the virtual network addresses that are allocated to each guest operating system. Partition manager This component is in charge of performing partition creation, destruction, and configurations.

56 Virtualization Microsoft Hyper-V Architecture-Components
Enlightened I/O. Enlightened I/O provides an optimized way to perform I/O operations, allowing guest operating systems to leverage an interpartition communication channel rather than traversing the hardware emulation stack provided by the hypervisor. Is used to exchange data between partition. There are three fundamental components: VMBus, Virtual Service Providers (VSPs), and Virtual Service Clients (VSCs). VMBus implements the channel and defines the protocol for communication between partitions. VSPs are kernel-level drivers that are deployed in the parent partition and provide access to the corresponding hardware devices. VSPs interact with VSCs, which represent the virtual device drivers seen by the guest operating systems in the child partitions.

57 Virtualization Microsoft Hyper-V Architecture-Components
Parent partition The parent partition executes the host operating system and implements the virtualization stack that complements the activity of the hypervisor in running guest operating systems. This partition always hosts an instance of the Windows Server 2008 R2, which manages the virtualization stack made available to the child partitions. This partition is the only one that directly accesses device drivers and mediates the access to device drivers by child partitions by hosting the VSPs. The parent partition is also the one that manages the creation, execution, and destruction of child partitions by means of the Virtualization Infrastructure Driver (VID). VID controls access to the hypervisor and allows the management of virtual processors and memory. For each child partition created, a Virtual Machine Worker Process (VMWP) is instantiated in the parent partition, which manages the child partitions by interacting with the hypervisor through the VID.

58 Virtualization Microsoft Hyper-V Architecture-Components
Child partitions Child partitions are used to execute guest operating systems. These are isolated environments that allow secure and controlled execution of guests. Two types of child partition exist: Enlightened and Unenlightened partitions. They differ on whether the guest operating system is supported by Hyper-V or not. The Enlightened partitions can benefit from Enlightened I/O. Unenlightened partitions are executed by leveraging hardware emulation from the hypervisor.

59 Virtualization VMware: full virtualization
VMware’s technology is based on the concept of full virtualization. The underlying hardware is replicated and is made available to the guest operating system. Guest OS runs unaware of this abstraction layers and does not need to be modified. VMware implements full virtualization either in the desktop environment using Type II hypervisors, or in the server environment, using Type I hypervisors. In either cases, full virtualization is made possible by means of direct execution (for nonsensitive instructions) and binary translation (for sensitive instructions).

60 Virtualization VMware: full virtualization Full virtualization

61 Virtualization VMware: full virtualization
Full virtualization and binary translation In dynamic binary translation, the trap triggers the translation of the sensitive instructions into an equivalent set of instructions that achieves the same goal without generating exceptions. The equivalent set of instruction is cached so that translation is no longer necessary for further occurrences of the same instructions This improves the performance. The major advantage is that guests can run unmodified in a virtualized environment. The disadvantage of translating instructions at runtime introduces an additional overhead that is not present in paravirtualization or hardware-assisted virtualization. VMware achieves full virtualization by providing virtual representation of memory and I/O devices

62 Virtualization VMware: full virtualization Virtualization solutions
VMware is a pioneer in virtualization technology and offers a collection of virtualization solutions covering the entire range of the market, from desktop computing to enterprise computing and infrastructure virtualization These include End-user (desktop) virtualization Server virtualization Infrastructure virtualization and cloud computing solutions

63 Virtualization VMware: full virtualization
Virtualization solutions - End-user (desktop) virtualization VMware supports virtualization of operating system environments on end user computers Specific VMware software—VMware Workstation, for Windows operating systems, and VMware Fusion, for Mac OS X environments. VMware workstation architecture The virtualization environment is created by an application installed in guest operating systems, which provides those operating systems with full hardware virtualization of the underlying hardware This is done by installing a specific driver in the host operating system that provides two main services: Deploys a virtual machine manager that can run in privileged mode. Provides hooks for the VMware application to process specific I/O requests via system calls. Other solutions include: VMware Player, VMware ACE, and VMware ThinApp VMware Player

64 Virtualization VMware: full virtualization
Virtualization solutions - End-user (desktop) virtualization VMware workstation architecture

65 Virtualization VMware: full virtualization
Virtualization solutions - Server virtualization VMware provides Server virtualization by VMware GSX server Architecture of VMware GSX Server The architecture is designed to serve the virtualization of Web servers.

66 Virtualization VMware: full virtualization
Virtualization solutions - Server virtualization Architecture of VMware GSX Server The architecture is designed to serve the virtualization of Web servers. A daemon process, called serverd, controls and manages VMware application processes. These applications are then connected to the virtual machine instances by means of the VMware driver installed on the host operating system. Virtual machine instances are managed by the VMM (Hypervisor). User requests for virtual machine management and provisioning are routed from the Web server through the VMM by means of serverd.

67 Virtualization VMware: full virtualization
Virtualization solutions - Server virtualization VMware ESX Server and its enhanced version, VMWare ESXi Server, are the hypervisor-based servers. The two solutions provide the same services but differ in the internal architecture. VMware ESX embeds a modified version of a Linux operating system, which provides access through a service console to hypervisor. VMware ESXi implements a very thin OS layer and replaces the service console with interfaces and services for remote management. VMware ESXi reduces the hypervisor code size and memory footprint.

68 Virtualization VMware: full virtualization
Virtualization solutions - Server virtualization Architecture of VMware ESXi

69 Virtualization VMware: full virtualization
Virtualization solutions - Server virtualization Architecture of VMware ESXi The base of the infrastructure is the Vmkernel. Vmkernel is a thin Portable Operating System Interface (POSIX) compliant operating system. Vmkernel provides the minimal functionality for processes and thread management file system I/O stacks resource scheduling The kernel is accessible through specific APIs called User world API. These APIs are utilized for the management of virtual machines. Remote management of an ESXi server is provided by the CIM Broker. CIM Broker is a system agent that acts as a gateway to the Vmkernel for clients. The ESXi installation can also be managed locally by a Direct Client User Interface (DCUI), which provides a BIOS-like interface for the management of local users.

70 Virtualization VMware: full virtualization
Infrastructure virtualization and cloud computing solutions VMware provides a set of products covering the entire stack of cloud computing

71 Virtualization VMware: full virtualization
Infrastructure virtualization and cloud computing solutions ESX and ESXi constitute the building blocks of the solution for virtual infrastructure management Virtual infrastructure management is a pool of virtualized servers is tied together and remotely managed as a whole by VMware vSphere. VMware vSphere is a virtualization platform that provides virtual compute services that include: Infrastructure services such as Virtual file system Virtual storage Virtual network Application services such as virtual machine migration storage migration data recovery security zones

72 Virtualization VMware: full virtualization
Infrastructure virtualization and cloud computing solutions The management of the infrastructure is operated by VMware vCenter. VMware vCenter provides centralized administration and management of vSphere installations in a data center environment. VMware vCloud is a collection of virtualized data centers: a Infrastructure-as-a-Service cloud. VMware vCloud enables cloud providers to make available the end users virtual computing environments on demand on a pay-per-use basis. VMware vFabric provides a solution for application development in the cloud. application monitoring, scalable data management scalable execution and provisioning of Java Web applications At the top of the cloud computing stack, VMware provides Zimbra which provides solution for office automation messaging collaboration


Download ppt "Historical developments"

Similar presentations


Ads by Google