CloudComputingArchitecture Module 1 ppt.pptx

ShivakumarM3 31 views 119 slides Sep 16, 2024
Slide 1
Slide 1 of 119
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105
Slide 106
106
Slide 107
107
Slide 108
108
Slide 109
109
Slide 110
110
Slide 111
111
Slide 112
112
Slide 113
113
Slide 114
114
Slide 115
115
Slide 116
116
Slide 117
117
Slide 118
118
Slide 119
119

About This Presentation

cloud related information and data for preparation


Slide Content

www.cambridge.edu.in Department of Information Science & Engineering CLOUD COMPUTING AND APPLICATIONS

www.cambridge.edu.in Department of Information Science & Engineering

Mastering Cloud Computing www.cambridge.edu.in Department of Information Science & Engineering

Chapters Module I: Chapter 1 — Introduction Module II Chapter 3 — Virtualization Module III Chapter 4 — Cloud Computing Architecture Module IV ---- Textbook 2 Chapter 9 ---- Cloud Security Module V Chapter 9 (9.1 and 9.2) — Cloud Platforms in Industry & Chapter 10 — Cloud Applications www.cambridge.edu.in Department of Information Science & Engineering

The Next Revolution in IT The Big Switch in IT Classical Computing Buy & Own Hardware, System Software, Applications often to meet peak needs. Install, Configure, Test, Verify Manage – .. Finally, use it – $$$$....$(High CapEx) Cloud Computing Subscribe Use $ - pay for what you use, based on QoS Every 18 months?

Cloud Computing Definition Cloud computing is a technological advancement it is based on the concept of dynamic provisioning, The services ,compute capability, storage, networking, and information technology (IT) infrastructure. Resources are made available through the Internet and offered on a pay-per-use basis from cloud computing vendors. www.cambridge.edu.in Department of Information Science & Engineering

Vision of Cloud Computing www.cambridge.edu.in Department of Information Science & Engineering

I need to grow my infrastructure, but I do not know for how long… I cannot invest in infrastructure, I just started my business…. I want to focus on application logic and not maintenance and scalability issues I want to access and edit my documents and photos from everywhere.. I have a surplus of infrastructure that I want to make use of I have a lot of infrastructure that I want to rent … I have infrastructure and middleware and I can host applications I have infrastructure and provide application services

Compute S t o ra g e Applications Development and Runtime Platform Cloud Manager Private Resources Private Cloud Private Cloud (Government) Public Clouds Government Agencies Organization Personnel All users, on any device

Defining Cloud www.cambridge.edu.in Department of Information Science & Engineering Cloud computing is a model for enabling ubiquito us, 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.

IT outsourcing Security No capital i n v e s t m e n ts Quality of Service Pay as you go Billing Cloud Computing?

Defining Cloud

A Closer look Cloud computing Helping Enterprises Governments Public Institutes Private Institutes Research Organization www.cambridge.edu.in Department of Information Science & Engineering

E x amples Large enterprise can offload some of their activities to Cloud based system. www.cambridge.edu.in Department of Information Science & Engineering

E x ample Small Enterprises and Start-ups can afford to translate into business results their ideas more quickly without excessive upfront cost www.cambridge.edu.in Department of Information Science & Engineering

E x ample System Developers can concentrate on business logic rather than dealing with the complexity of infrastructure management and scalability www.cambridge.edu.in Department of Information Science & Engineering

Runtime Environment for Applications Development and Data Processing Platforms Examples: Windows Azure, Hadoop, Google AppEngine, Aneka Platform as a Service Virtualized Servers Storage and Networking Examples: Amazon EC2, S3, Rightscale, vCloud Infrastructure as a Service End user applications Scientific applications Office automation, Photo editing, CRM, and Social Networking Examples: Google Documents, Facebook, Flickr, Salesforce Software as a Service Web 2.0 I n t er f a c es Cloud Computing Reference Model

Characteristics and Benefits www.cambridge.edu.in Department of Information Science & Engineering • No up-front commitments • On-demand access • Nice pricing • Simplified application acceleration and scalability • Efficient resource allocation • Energy efficiency • Seamless creation and use of third-party services The characteristics that bring benefits to both cloud service consumers (CSCs) and cloud service providers (CSPs). These characteristics are:

Challenges Ahead Dynamic Provisioning of Cloud Computing Services Security and Privacy Legal issues Performance and Bandwidth Cost Reliability and Availability www.cambridge.edu.in Department of Information Science & Engineering

Historical Development of Cloud Computing One of the main principles of cloud computing from SAAS (Software as a service) to provide storage on demand, is that the computing capacity varies immediately and transparently with the customer’s need. The idea of renting computing services by leveraging large distributed computing facilities has been around for long time. It started from 1950’s itself www.cambridge.edu.in Department of Information Science & Engineering

Evolution of cloud technologies Distributed Systems  A distributed system is a collection of independent computers that appears to its users as a single system and also it acts as a single computer.  The main and primary motive of distributed systems is to share resources and to utilize them better. www.cambridge.edu.in Department of Information Science & Engineering

Distributed Systems This is absolutely true in case of cloud computing because in cloud computing we are sharing the single resource by paying rent. The resource is single because the definition of cloud computing clearly states that in cloud computing the single central copy of a particular software is stored in a server (which is located on a anonymous location ) and users are accessing that on PAY PER USE BASIS. www.cambridge.edu.in Department of Information Science & Engineering

Mainframes A large high-speed computer, especially one supporting numerous workstations or peripherals the central processing unit and primary memory of a computer. www.cambridge.edu.in Department of Information Science & Engineering

Mainframes Mainframes were powerful, highly reliable computers specialized for large data movement and massive input/output (I/O) operations. They were used by large organizations for bulk data processing tasks such as online transactions, enterprise resource planning, and other operations involving the processing of significant amounts of data. No system shutdown was required to replace failed components Now their popularity and deployments have reduced. www.cambridge.edu.in Department of Information Science & Engineering

Clusters A computer cluster consists of a set of loosely or tightly connected computers that work together so that, in many respects, they can be viewed as a single system. computer clusters have each node set to perform the same task, controlled www.cambridge.edu.in Department of Information Science & Engineering

Clusters Cluster computing started as a low-cost alternative to the use of mainframes and supercomputers. These machines are connected by a high-bandwidth network and controlled by specific software tools that manage them as a single system. commodity machines are used here, they were cheaper than mainframes and made high-performance computing available to a large number of groups, including universities and small research labs. clusters could be easily extended if more computational power was required. www.cambridge.edu.in Department of Information Science & Engineering

Grids Grid computing is the collection of computer resources from multiple locations to reach a common goal. The grid can be thought of as a distributed system with non- interactive workloads that involve a large number of files. Grid computing appeared in the early 1990s as an evolution of cluster computing. In an analogy to the power grid, grid computing proposed a new approach to access large computational power, huge storage facilities, and a variety of services. www.cambridge.edu.in Department of Information Science & Engineering

Grids Several developments made possible the diffusion of computing grids: (a) clusters became quite common resources; (b) they were often underutilized; (c) new problems were requiring computational power that went beyond the capability of single clusters; (d) The improvements in networking and the diffusion of the Internet made possible long distance, high-bandwidth connectivity www.cambridge.edu.in Department of Information Science & Engineering

.. www.cambridge.edu.in Department of Information Science & Engineering

Virtualization www.cambridge.edu.in Department of Information Science & Engineering Virtualization is another core technology for cloud computing. It encompasses a collection of solutions allowing the abstraction of some of the fundamental elements for computing, such as hardware, runtime environments, storage, and networking. Virtualization confers that degree of customization and control that makes cloud computing appealing for users and, at the same time, sustainable for cloud services providers. These environments are called virtual because they simulate the interface that is expected by a guest. The most common example of virtualization is hardware virtualization.

Virtualization www.cambridge.edu.in Department of Information Science & Engineering

Web 2.0 The second stage of development of the Internet characterized especially change from static web pages to dynamic or user-generated content and the growth of social media. Web 2.0 brings interactivity and flexibility into Webpages, providing enhanced user experience by gaining Web based access to all the functions that are normally found in desktop applications. Examples of Web2.0applicationsare Google Documents, Google Maps, Flickr, Facebook, Twitter, YouTube, delicious, Blogger, and Wikipedia www.cambridge.edu.in Department of Information Science & Engineering

Web 2.0 The Web is the primary interface through which cloud computing delivers its services. Web encompasses a set of technologies and services that facilitate interactive information sharing, collaboration, user-centered design, and application composition These capabilities are obtained by integrating a collection of standards and technologies such as XML, Asynchronous JavaScript and XML (AJAX), Web Services, and others. www.cambridge.edu.in Department of Information Science & Engineering

Service-Oriented Computing (SOC ) www.cambridge.edu.in Department of Information Science & Engineering supports the development of rapid, low-cost, flexible, interoperable, and evolvable applications and systems

Service-oriented computing introduces and diffuses two important concepts, which are also fundamental to cloud computing: quality of service ( QoS ) and Software-as-a-Service( SaaS ). The interaction with Webs services happens through Simple Object Access Protocol (SOAP) One of the most popular expressions of service orientation is represented by Web Services (WS) Web services are software components that expose functionalities accessible using a method invocation pattern that goes over the Hypertext Transfer Protocol (HTTP). Using SOAP and WSDL over HTTP, Web services become platform independent and accessible to the World Wide Web www.cambridge.edu.in Department of Information Science & Engineering

Utility Oriented Computing The Computer Utility , is a service provisioning model i n w hic h a se r vice p r ov i de r ma k es infrastructure needed , and cha r g es them f o r specifi c usa g e rather than a Flat rate. www.cambridge.edu.in Department of Information Science & Engineering

Building Cloud Computing Environment The creation of cloud computing environments encompasses both the development of applications and systems that leverage cloud computing solutions and the creation of frameworks, platforms, and infrastructures delivering cloud computing services www.cambridge.edu.in Department of Information Science & Engineering

Enterprise Application

Infrastructure and System www.cambridge.edu.in Department of Information Science & Engineering

Computing Platform and Technologies AWS offers comprehensive cloud IaaS services ranging from virtual compute, storage, and networking to complete computing stacks. AWS is mostly known for its compute and storage-on- demand services, namely Elastic Compute Cloud (EC2) and Simple Storage Service (S3). S3 is organized into buckets those are containers of objects that are stored in binary form. Users can store objects of any size, from simple files to entire disk images, and have them accessible from everywhere. www.cambridge.edu.in Department of Information Science & Engineering

Google App Engine Google App-Engine is a scalable runtime environment mostly devoted to executing Web applications. AppEngine provides both a secure execution environment and a collection of services that simplify the development of scalable and high-performance Web applications. Developers can build and test applications on their own machines using the AppEngine software development kit (SDK), which replicates the production runtime environment and helps test and profile applications. www.cambridge.edu.in Department of Information Science & Engineering

Microsoft Azure Paas Web role (to host application), worker role (container of applications for work load processing) and virtual machine role (provides virtual environment). https://azure.microsoft.com www.cambridge.edu.in Department of Information Science & Engineering

Hadoop Hado o p an open source, Java- programming framework that does p r oces s ing a n d st o r a g e of e x t r e me l y la r g e data. It is develop by google It provides two fundamental operations for data processing Map and reduce Map: transforms and synthesis the input Reduce: aggregates the output https://cloud.google.com/hadoop http://hadoop.apache.org / www.cambridge.edu.in Department of Information Science & Engineering

Hadoop www.cambridge.edu.in Department of Information Science & Engineering

Salesforce salesforce.com, inc. is an American cloud computing company headquartered in San Francisco, California. It provides SAAS Force.com allows developers to create applications by composing ready-to-use blocks; a complete set of components supporting all the activities of an enterprise are available. http s://w ww .sales f orce.com/in www.cambridge.edu.in Department of Information Science & Engineering

www.cambridge.edu.in Department of Information Science & Engineering

Manjarasoft 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 for developing applications and a distributed runtime environment Three major market segments identified in the reference model: Infrastructure-as-a- Service, Platform-as-a-Service, and Software-as-a-Service. www.cambridge.edu.in Department of Information Science & Engineering

Manjarasoft Aneka Aneka is a platform and a framework for developing distributed applications on the Cloud. One of the key features of Aneka is the ability of providing different ways for expressing distributed applications by offering different programming models; http://www.manjrasoft.com/products.html www.cambridge.edu.in Department of Information Science & Engineering

Virtualization Virtualization is the creation of a virtual environment rather than actual version of something, such as an operating system, a server, a storage device or network resources One of the fundamental Concepts of Cloud Computing www.cambridge.edu.in Department of Information Science & Engineering

What is Virtualization?

www.cambridge.edu.in Department of Information Science & Engineering

Why are virtualized environments so popular today? Increased performance and computing capacity PCs are having immense computing power. Underutilized hardware and software resources Limited use of increased performance & computing capacity. Lack of space Continuous need for additional capacity. Greening initiatives Reduce carbon footprints Reducing the number of servers, reduce power consumption. Rise of administrative costs Power, cooling, H/W monitoring and defective replacement, server setup and updates, backups, Virtualization can help reduce the number of required servers for a given workload, thus reducing the cost of the administrative personnel. www.cambridge.edu.in Department of Information Science & Engineering

Three major components of Virtualized Environments Guest – system component that interacts with Virtualization Layer. Host – original environment where guest runs. Virtualization Layer – recreate the same or different environment where guest will run. www.cambridge.edu.in Department of Information Science & Engineering

Virtualization Layer Virtual Hardware Virtual Storage Virtual Networking Software Emulation H o s t Physical Hardware Physical Storage Physical Networking Gu es t Applications Applications Virtual Image Virtualization Reference Model

Characteristics of Virtual Environment Increased Security Managed Execution - Sharing - Aggregation - Emulation - Isolation Portability www.cambridge.edu.in Department of Information Science & Engineering

Increased Security Ability to control the execution of a guest Guest is executed in emulated environment. Virtual Machine Manager control and filter the activity of the guest. Hiding of resources. Having no effect on other users/guest environment. www.cambridge.edu.in Department of Information Science & Engineering

Managed Execution types Sharing Creating separate computing environment within the same host. Underline host is fully utilized. Aggregation A group of separate hosts can be tied together and represented as single virtual host. Emulation Controlling & Tuning the environment exposed to guest. Isolation Complete separate environment for guests Performance tuning www.cambridge.edu.in Department of Information Science & Engineering

Managed Execution www.cambridge.edu.in Department of Information Science & Engineering

Portability portability applies in different ways according to the specific type of virtualization considered Application Development Cycle more flexible and application deployment very straight forward Availability of system is with you ready to use. The guest is packaged into a virtual image that, in most cases, can be safely moved and executed on top of different virtual machines. Virtual images are generally proprietary formats that require a specific virtual machine manager to be executed. www.cambridge.edu.in Department of Information Science & Engineering

Taxonomy of Virtualization Techniques Virtualization is mainly used to emulate execution environment , storage and networks. Execution Environment classified into two :- Process-level – implemented on top of an existing operating system. System-level – implemented directly on hardware and do not or minimum requirement of existing operating system www.cambridge.edu.in Department of Information Science & Engineering

www.cambridge.edu.in Department of Information Science & Engineering

Execution Virtualization It includes all techniques that aim to emulate an execution environment that is separate from the one hosting the virtualization layer. It can be implemented directly on top of the hardware by the operating system, an application, or libraries dynamically or statically linked to an application image. It defines the interfaces between the levels of abstractions, which hide implementation details. Virtualization techniques actually replace one of the layers and intercept the calls that are directed towards it. www.cambridge.edu.in Department of Information Science & Engineering

Machine Reference Model www.cambridge.edu.in Department of Information Science & Engineering Virtualizing an execution environment at different levels of the computing stack requires a reference model It defines the interfaces between the levels of abstractions, which hide implementation details. virtualization techniques actually replace one of the layers and intercept the calls that are directed toward it .

Machine Reference Model www.cambridge.edu.in Department of Information Science & Engineering

Machine Reference Model www.cambridge.edu.in Department of Information Science & Engineering Hardware is expressed in terms of the Instruction Set Architecture (ISA). ISA for processor, registers, memory and the interrupt management. ISA is the interface between hardware and software. It is important to the OS developer and developers of applications that directly manage the underlying hardware

Machine Reference Model www.cambridge.edu.in Department of Information Science & Engineering Application Binary Interface (ABI) It separates the OS layer from the application and libraries which are managed by the OS. This interface allows portability of applications and libraries across operating systems System calls defined here Allows probabilities of applications and libraries across OS. Application programming interface (API) This interfaces applications to libraries and/or the underlying operating system.

ISA: Security Classes www.cambridge.edu.in Department of Information Science & Engineering The instruction set exposed by the hardware has been divided into different security classes that define who can operate with them. Non-privileged instructions Instructions that can be used without interfering with other tasks because they do not access shared resources. Ex: floating, fixed-point, and arithmetic instructions .

ISA: Security Classes Privileged instructions That are executed under specific restrictions and are mostly used for sensitive operations, which expose (behavior-sensitive) or modify (control-sensitive) the privileged state. Behavior-sensitive – operate on the I/O Control-sensitive – alter the state of the CPU register . www.cambridge.edu.in Department of Information Science & Engineering

Privileged Hierarchy: Security Ring Ring-0 is in most privileged level used by the kernel. Ring-1 & 2 used by the OS-level services Ring -3 in the least privileged level , used by the user. system support two levels :- Ring 0 – supervisor mode: executes without any restriction, (Its called master mode or kernel mode.) Ring 3 – user mode: There are restrictions to control the machine-level resources. www.cambridge.edu.in Department of Information Science & Engineering

Hardware-level virtualization It is a virtualization technique that provides an abstract execution environment in terms of computer hardware on top of which a guest OS can be run. It is also called as system virtualization. www.cambridge.edu.in Department of Information Science & Engineering

Hardware-level virtualization www.cambridge.edu.in Department of Information Science & Engineering

Hypervisors A fundamental element of hardware virtualization is the hypervisor, or virtual machine manager (VMM). Hypervisor runs above the supervisor mode. It recreates a h/w environment. It is a piece of s/w that enables us to run one or more VMs on a physical server(host). Two major types of hypervisor Type –I, Type-II www.cambridge.edu.in Department of Information Science & Engineering

Type-I Hypervisor It runs directly on top of the hardware. Takes place of OS. Directly interact with the ISA exposed by the underlying hardware. Also known as native virtual machine www.cambridge.edu.in Department of Information Science & Engineering

Type-II Hypervisor It require the support of an operating system to provide virtualization services. Programs managed by the OS. Emulate the ISA of virtual h/w. Also called hosted virtual machine. www.cambridge.edu.in Department of Information Science & Engineering

Virtual Machine Manager (VMM) Main Modules :- Dispatcher Entry Point of VMM Reroutes the instructions issued by VM instance. Allocator Deciding the system resources to be provided to the VM. Invoked by dispatcher Interpreter Consists of interpreter routines Executed whenever a VM executes a privileged instruction. Trap is triggered and the corresponding routine is executed. www.cambridge.edu.in Department of Information Science & Engineering

Virtual Machine Manager (VMM) www.cambridge.edu.in Department of Information Science & Engineering

Criteria of VMM Equivalence – same behavior as when it is executed directly on the physical host. Resource control – it should be in complete control of virtualized resources . Efficiency – a statistically dominant fraction of the machine instructions should be executed without intervention from the VMM www.cambridge.edu.in Department of Information Science & Engineering

Theorems Popek and Goldberg provided a classification of the instruction set and proposed three theorems that define the properties that hardware instructions need to satisfy in order to efficiently support virtualization. Classification of IS- Privileged Instructions Trap if the processor is in user mode Control sensitive Instructions www.cambridge.edu.in Department of Information Science & Engineering

The o r em s - 1 Theorems 1 – For any conventional third-generation computer, a VMM may be constructed if the set of sensitive instructions for that computer is a subset of the set of privileged instructions. www.cambridge.edu.in Department of Information Science & Engineering

Theorems Theorems 2 A conventional third-generation computers is recursively virtualizable if: It is virtualizable and A VMM without any timing dependencies can be constructed for it. www.cambridge.edu.in Department of Information Science & Engineering

Theorems Theorems 3 A hybrid VMM may be constructed third- generation machine in which the set of user- sensitive instructions is a subset of the set of privileged instructions. In HVM, more instructions are interpreted rather than being executed directly. www.cambridge.edu.in Department of Information Science & Engineering

Hardware virtualization Techniques CPU installed on the host is only one set, but each VM that runs on the host requires their own CPU. It means CPU needs to virtualized, done by hypervisor. www.cambridge.edu.in Department of Information Science & Engineering

Hardware-assisted virtualization In this hardware provides architectural support for building a VMM able to run a guest OS in complete isolation. Intel VT and AMD V extensions. Early products were using binary translation to trap some sensitive instructions and provide an emulated version. Software emulation is significantly costly from the performance point of view. www.cambridge.edu.in Department of Information Science & Engineering

Full virtualization Ability to run program (OS) directly on top of a virtual machine and without any modification. VMM require complete emulation of the entire underneath h/w Advantages Complete isolation Enhanced security Ease of emulation of different architectures and coexistence Key challenge is interception of privileged instructions such as I/O, Since they change the state of the resource exposed by host. So provide virtual environment for all the instructions. www.cambridge.edu.in Department of Information Science & Engineering

Paravirtualization Not-transparent virtualization solution that allows implementing Thin VMM Expose software interface to the virtual machine that is slightly modified from the host. Guest OS need to be modified. Aim is to provide the capability to demand the execution of performance critical operation directly on host. Allows simply transfer the execution of instructions which were hard to virtualized, directly to the host. Suitable for open source os . www.cambridge.edu.in Department of Information Science & Engineering

Heading Goes Here Partial virtualization Partial emulation of the underlying hardware Not allow complete isolation to guest OS. Address space virtualization is a common feature of contemporary operating systems. Address space virtualization used in time- sharing system. www.cambridge.edu.in Department of Information Science & Engineering

Operating system-level virtualization It offers the opportunity to create different and separated execution environments for applications that are managed concurrently. No VMM or hypervisor Virtualization is in single OS OS kernel allows for multiple isolated user space instances Good for server consolidation. Ex. chroot operation changes root directory to parent and child specific directory Example for os virtualization are FreeBSDJails , OpenVZ etc. www.cambridge.edu.in Department of Information Science & Engineering

Programming language-level virtualization It is mostly used to achieve ease of deployment of application, managed execution and portability across different platform and OS. It consists of a virtual machine executing the byte code of a program , which is the result of the compilation process . Produce a binary format representing the machine code for an abstract architecture. It was introduced in 1996 for implementation of Basic Combined Programming Language (BCPL) an ancestors of C language. Example Java platform – Java virtual machine (JVM) .NET provides Common Language Infrastructure (CLI) They are stack-based virtual machines Register based VM’s which are close to underlying architecture Eg : Parrot used to support execution of PERL www.cambridge.edu.in Department of Information Science & Engineering

Advantage of programming/process- level VM Provide uniform execution environment across different platforms. This simplifies the development and deployment efforts. Allow more control over the execution of programs. Security; by filtering the I/O operations Easy support for sandboxing www.cambridge.edu.in Department of Information Science & Engineering

Application-level virtualization It is a technique allowing applications to run in runtime environments that do not natively support all the features required by such applications. In this, applications are not installed in the expected runtime environmen t. This technique is most concerned with :- Partial file system Libraries Operating System component emulation www.cambridge.edu.in Department of Information Science & Engineering

Strategies for Implementation Application-Level Virtualization Emulation can be used to execute program binaries compiled for different h/w architures Two techniques can be implemented:- Interpretation - In this every source instruction is interpreted by an emulator for executing native ISA instructions , Minimal start up cost but huge overhead . Binary translation - In this every source instruction is converted to native instructions with equivalent functions. Block of instructions translated , cached and reused . Large overhead cost , but over time it is subject to better performance . www.cambridge.edu.in Department of Information Science & Engineering

Strategies for Implementation Application-Level Virtualization (Cont..) This is a good techniques for in case of missing libraries in host OS. It allows incompatible to run together, It runs on the specific environment so it supports all the applications which runs on specific environment. Eg : Wine www.cambridge.edu.in Department of Information Science & Engineering

Other Types: Storage Virtualization It allows decoupling the physical organization of the h/w from its logical representation. Using Network based virtualization known as storage area network (SAN). www.cambridge.edu.in Department of Information Science & Engineering

Network Virtualization It combines h/w appliances and specific software for the creation and management of a virtual n/w. It can aggregate different physical networks into a single logical network. www.cambridge.edu.in Department of Information Science & Engineering

Application Server Virtualization Application server virtualization abstracts a collection of application servers that provide the same service as a single virtual application server Providing better quality of service rather than emulating a different environment www.cambridge.edu.in Department of Information Science & Engineering

Virtualization and cloud computing Virtualization plays an important role in cloud computing Virtualization technologies are primarily used to offer configurable computing environments and storage . Hardware virtualization is an enabling factor for solutions in the ( IaaS ) market segment programming language virtualization is a technology leveraged in ( PaaS ) offerings. www.cambridge.edu.in Department of Information Science & Engineering

Server consolidation and virtual machine migration

Pros and cons of virtualization Advantages of Virtualization Reduced spending Sandbox Portability Efficient use of resources. Easier backup and disaster recovery Better business continuity More efficient IT operations www.cambridge.edu.in Department of Information Science & Engineering

Disadvantages of Virtualization Upfront costs. Software licensing considerations Possible learning curve Performance degradation Maintain the status of virtual processor Support of privileged instructions Support of paging within VM Inefficiency and degraded user experience Security holes and new threats www.cambridge.edu.in Department of Information Science & Engineering

Technology examples Xen : paravirtualization VMware: full virtualization Microsoft Hyper-V www.cambridge.edu.in Department of Information Science & Engineering

Xen : paravirtualization Xen is the most popular implementation of paravirtualization Xen is an open-source initiative Developed by a group of researchers at the University of Cambridge Citrix also offers it as a commercial solution, Xen -based technology is used for Desktop virtualization or server virtualization Xen Cloud Platform (XCP) high-performance execution of guest operating systems. This is done by modifying portions of the guest operating systems run by Xen www.cambridge.edu.in Department of Information Science & Engineering

Xen : paravirtualization A Xen -based system is managed by the Xen hypervisor, which runs in the highest privileged mode. 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. Once VMM manager has completely booted, Domain 0 hosts HTTP server that serves requests for virtual machine creation, configuration, and termination. https://www.xenproject.org / www.cambridge.edu.in Department of Information Science & Engineering

x86 implementations support four different security levels www.cambridge.edu.in Department of Information Science & Engineering two levels: Ring 0 for the kernel code, and Ring 3 for user application and non privileged OS code.

Xen : paravirtualization Paravirtualization needs the operating system codebase to be modified. Open-source operating systems such as Linux can be easily modified, since their code is publicly available. www.cambridge.edu.in Department of Information Science & Engineering

VMware: full virtualization Underlying hardware is replicated and made available to the guest operating system. Runs unaware of such abstraction layers and does not need to be modified. It support Type 1 and Type 2 Hypervisor. Full virtualization is possible through direct execution (for non sensitive instructions) and binary translation (for sensitive instructions). VMware also provides additional tools and software that simplify the use of virtualization technology either in a desktop environment or server environment. www.cambridge.edu.in Department of Information Science & Engineering

VMware: full virtualization The use of dynamic binary translation was the only solution that allowed running x86 guest operating systems unmodified in a virtualized environment. x86 architecture design does not satisfy the first theorem of virtualization (sensitive instructions are not subset of privileged instruction Set). This causes a different behavior when such instructions are not executed in Ring 0. In dynamic binary translation, the trap triggers the translation of the offending instructions into an equivalent set of instructions that achieves the same goal without generating exceptions. The major advantage is that guests can run unmodified in a virtualized environment. www.cambridge.edu.in Department of Information Science & Engineering

VMware: full virtualization Disadvantage: Translating instructions at runtime introduces an additional overhead. CPU virtualization is only a component of a fully virtualized hardware environment. VMware achieves full virtualization by providing virtual representation of memory and I/O devices. Memory virtualization can deeply impact performance without the appropriate hardware support.( eg : OS management unit(MMU)). The translation look-aside buffer (TLB) in the virtual MMU directly maps physical pages, and the performance slowdown only occurs in case of a TLB miss. www.cambridge.edu.in Department of Information Science & Engineering

A full virtualization reference model www.cambridge.edu.in Department of Information Science & Engineering

Microsoft Hyper-V Hyper-V is an infrastructure 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. 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. www.cambridge.edu.in Department of Information Science & Engineering

Microsoft Hyper-V Hyper-V takes control of the hardware, and 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 one 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. www.cambridge.edu.in Department of Information Science & Engineering

Microsoft Hyper-V The hypervisor is logically defined by the following components: Hypercalls interface: This is the entry point for all the partitions for the execution of sensitive instructions and the parent partition uses this interface to create child partitions. Memory service routines (MSRs) : It control the memory and its access from partitions and the hypervisor uses the I/O MMU to fast-track access to devices from partitions by translating virtual memory addresses. Advanced programmable interrupt controller (APIC): It is an interrupt controller, and it manages the signals coming from the underlying hardware when some event occurs Each virtual processor is equipped with a synthetic interrupt controller ( SynIC ), The hypervisor is responsible for dispatching the physical interrupts to the synthetic interrupt controllers. www.cambridge.edu.in Department of Information Science & Engineering

Microsoft Hyper-V Scheduler: It schedules the virtual processors to run on available physical processors. It controlled by policies that are set by the parent partition. Address manager: It is used to manage the virtual network addresses that are allocated to each guest operating system. Partition manager: It is in charge of performing partition creation, finalization, destruction, enumeration, and configurations. www.cambridge.edu.in Department of Information Science & Engineering

Enlightened I/O and synthetic devices Enlightened I/O provides an optimized way to perform I/O operations, allowing guest operating systems to leverage an inter partition communication channel. There are three fundamental components: VMBus : This channel and defines the protocol for communication between partitions. Virtual Service Providers(VSPs): These are kernel-level drivers that are deployed in the parent partition and provide access to the corresponding hardware devices. Virtual Service Clients(VSCs): It represent the virtual device drivers (also called synthetic drivers) seen by the guest operating systems in the child partitions. www.cambridge.edu.in Department of Information Science & Engineering

www.cambridge.edu.in Department of Information Science & Engineering

END OF MODULE 1 www.cambridge.edu.in Department of Information Science & Engineering
Tags