SlideShare a Scribd company logo
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
Storage
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
ubiquitous, 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 investments
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
Examples
• Large enterprise can offload some of their activities to Cloud based system.
www.cambridge.edu.in
Department of Information Science & Engineering
Example
• 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
Example
• 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
Interfaces
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 in which a service provider
makes infrastructure needed, and charges them forspecific usage 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
CloudComputingArchitecture Module 1 ppt.pptx
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
CloudComputingArchitecture Module 1 ppt.pptx
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
CloudComputingArchitecture Module 1 ppt.pptx
Hadoop
Hadoop an open source, Java- programming framework that does processing and
storage of extremely large 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.
• https://www.salesforce.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
Host Physical Hardware Physical Storage Physical Networking
Guest 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
Theorems-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
environment.
●
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
CloudComputingArchitecture Module 1 ppt.pptx
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

More Related Content

PDF
Introduction to Cloud computing
PPTX
PPTX
Cloud-mod1-chap1.pptx
PPTX
Unit 1 - Cloud Computing Basics and Details.pptx
PPTX
Cloud-Computing.pptx
PPTX
001_Cloud Computing presentation Unit1.pptx
PPTX
Cloud computing ppt
Introduction to Cloud computing
Cloud-mod1-chap1.pptx
Unit 1 - Cloud Computing Basics and Details.pptx
Cloud-Computing.pptx
001_Cloud Computing presentation Unit1.pptx
Cloud computing ppt

Similar to CloudComputingArchitecture Module 1 ppt.pptx (20)

PPT
Cloud Computing and Virtualization Overview by Amr Ali
PPTX
Cloud computing
PPTX
Unit-I Introduction to Cloud Computing.pptx
PPTX
ETB S04 - (Cloud Computing) important for.
PPTX
Introduction to Cloud Computing
PDF
module1st-cloudcomputing-180131063409 - Copy.pdf
PPT
cloudintro-lec018.1.ppt
PPT
Cloud computing
PPTX
Introduction to Cloud Computing.pptx
PPTX
Cloud Computing_Unit 1- Part 1.pptx
PPT
Cloud computing
PPTX
CLOUD COMPUTING V.S.ARJUN
PPTX
Cloud computing14 02 .pptx
PPTX
Cloud Computing Made Easy
PPTX
Cloud computing_Final
PPTX
Cloud Computing in the Real-World 1.pptx
PPTX
Cloud_computing module1 ppt seventh seme
PPTX
Cloud computing
PPT
Group 39 presentation cloud computing
Cloud Computing and Virtualization Overview by Amr Ali
Cloud computing
Unit-I Introduction to Cloud Computing.pptx
ETB S04 - (Cloud Computing) important for.
Introduction to Cloud Computing
module1st-cloudcomputing-180131063409 - Copy.pdf
cloudintro-lec018.1.ppt
Cloud computing
Introduction to Cloud Computing.pptx
Cloud Computing_Unit 1- Part 1.pptx
Cloud computing
CLOUD COMPUTING V.S.ARJUN
Cloud computing14 02 .pptx
Cloud Computing Made Easy
Cloud computing_Final
Cloud Computing in the Real-World 1.pptx
Cloud_computing module1 ppt seventh seme
Cloud computing
Group 39 presentation cloud computing
Ad

More from Shivakumar M (16)

PPT
Templeteprojectpresentationtemplate_PPT.ppt
PPTX
CNR_Module for students of vtu_Biodiversity.pptx
PPT
CloudComputingAnd Applications Module 3 Part_2 (1).ppt
PPTX
MODULE1_CLASSICALENCRYPTIONTECHNIQUES.pptx
PPTX
bridgecourse-CRYPTOGRAPHYANDNETWORKSECURITY.pptx
PPT
boundaryvalueanalysisequivalentclasspartitiondecisiontable-200927060915.ppt
PDF
ST Module 3 vtu prescribed syllabus and scheme
PDF
software-testing-second-edition-pages.pdf
PDF
visvesvaraya sports academics from year2021-2022
DOCX
landforms of various types and their disadvantages
DOCX
airwaterforestseariverlandformshierarchyof needs
PDF
Conservation of Natural Resources Module-3.pptx
PPTX
cnrbiodiversity, land and soil refomrs.pptx
PPTX
software testing equivalence class Module 4 Session 1,2,3 (1).pptx
PPTX
Conservation of Natural Resources Module-3.pptx
PPTX
MES_MODULE 2.pptx
Templeteprojectpresentationtemplate_PPT.ppt
CNR_Module for students of vtu_Biodiversity.pptx
CloudComputingAnd Applications Module 3 Part_2 (1).ppt
MODULE1_CLASSICALENCRYPTIONTECHNIQUES.pptx
bridgecourse-CRYPTOGRAPHYANDNETWORKSECURITY.pptx
boundaryvalueanalysisequivalentclasspartitiondecisiontable-200927060915.ppt
ST Module 3 vtu prescribed syllabus and scheme
software-testing-second-edition-pages.pdf
visvesvaraya sports academics from year2021-2022
landforms of various types and their disadvantages
airwaterforestseariverlandformshierarchyof needs
Conservation of Natural Resources Module-3.pptx
cnrbiodiversity, land and soil refomrs.pptx
software testing equivalence class Module 4 Session 1,2,3 (1).pptx
Conservation of Natural Resources Module-3.pptx
MES_MODULE 2.pptx
Ad

Recently uploaded (20)

PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Open Quiz Monsoon Mind Game Prelims.pptx
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
master seminar digital applications in india
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Open Quiz Monsoon Mind Game Final Set.pptx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Cardiovascular Pharmacology for pharmacy students.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Open folder Downloads.pdf yes yes ges yes
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Microbial diseases, their pathogenesis and prophylaxis
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
O5-L3 Freight Transport Ops (International) V1.pdf
Open Quiz Monsoon Mind Game Prelims.pptx
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
master seminar digital applications in india
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Anesthesia in Laparoscopic Surgery in India
Open Quiz Monsoon Mind Game Final Set.pptx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Cardiovascular Pharmacology for pharmacy students.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Open folder Downloads.pdf yes yes ges yes
O7-L3 Supply Chain Operations - ICLT Program
Basic Mud Logging Guide for educational purpose
Microbial diseases, their pathogenesis and prophylaxis

CloudComputingArchitecture Module 1 ppt.pptx

  • 1. www.cambridge.edu.in Department of Information Science & Engineering CLOUD COMPUTING AND APPLICATIONS
  • 3. Mastering Cloud Computing www.cambridge.edu.in Department of Information Science & Engineering
  • 4. 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
  • 5. 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?
  • 6. 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
  • 7. Vision of Cloud Computing www.cambridge.edu.in Department of Information Science & Engineering
  • 8. 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
  • 9. Compute Storage 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
  • 10. Defining Cloud www.cambridge.edu.in Department of Information Science & Engineering Cloud computing is a model for enabling ubiquitous, 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.
  • 11. IT outsourcing Security No capital investments Quality of Service Pay as you go Billing Cloud Computing?
  • 13. A Closer look • Cloud computing Helping • Enterprises • Governments • Public Institutes • Private Institutes • Research Organization www.cambridge.edu.in Department of Information Science & Engineering
  • 14. Examples • Large enterprise can offload some of their activities to Cloud based system. www.cambridge.edu.in Department of Information Science & Engineering
  • 15. Example • 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
  • 16. Example • 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
  • 17. 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 Interfaces Cloud Computing Reference Model
  • 18. 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:
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 30. 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.
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. • 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
  • 36. Utility Oriented Computing The Computer Utility, is a service provisioning model in which a service provider makes infrastructure needed, and charges them forspecific usage rather than a Flat rate. www.cambridge.edu.in Department of Information Science & Engineering
  • 37. 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
  • 39. Infrastructure and System www.cambridge.edu.in Department of Information Science & Engineering
  • 40. 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
  • 42. 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
  • 44. 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
  • 46. Hadoop Hadoop an open source, Java- programming framework that does processing and storage of extremely large 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
  • 48. 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. • https://www.salesforce.com/in www.cambridge.edu.in Department of Information Science & Engineering
  • 50. 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
  • 51. 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
  • 52. 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
  • 55. 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
  • 56. ● 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
  • 57. Virtualization Layer Virtual Hardware Virtual Storage Virtual Networking Software Emulation Host Physical Hardware Physical Storage Physical Networking Guest Applications Applications Virtual Image Virtualization Reference Model
  • 58. Characteristics of Virtual Environment • Increased Security • Managed Execution  - Sharing  - Aggregation  - Emulation  - Isolation • Portability www.cambridge.edu.in Department of Information Science & Engineering
  • 59. 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
  • 60. 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
  • 61. Managed Execution www.cambridge.edu.in Department of Information Science & Engineering
  • 62. 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
  • 63. 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
  • 65. 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
  • 66. 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.
  • 67. Machine Reference Model www.cambridge.edu.in Department of Information Science & Engineering
  • 68. 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
  • 69. 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.
  • 70. 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.
  • 71. 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
  • 72. 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
  • 73. 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
  • 75. 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
  • 76. 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
  • 77. 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
  • 78. 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
  • 79. Virtual Machine Manager (VMM) www.cambridge.edu.in Department of Information Science & Engineering
  • 80. 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
  • 81. 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
  • 82. Theorems-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
  • 83. 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
  • 84. 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
  • 85. 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
  • 86. ● 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
  • 87. ● 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
  • 88. ● 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
  • 89. 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
  • 90. 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
  • 91. 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
  • 92. 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
  • 93. 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 environment. ● This technique is most concerned with :- – Partial file system – Libraries – Operating System component emulation www.cambridge.edu.in Department of Information Science & Engineering
  • 94. 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
  • 95. 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
  • 96. 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
  • 97. 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
  • 99. 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
  • 100. 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
  • 101. Server consolidation and virtual machine migration
  • 102. 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
  • 103. 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
  • 104. Technology examples • Xen: paravirtualization • VMware: full virtualization • Microsoft Hyper-V www.cambridge.edu.in Department of Information Science & Engineering
  • 105. 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
  • 106. 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
  • 107. 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.
  • 108. 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
  • 109. 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
  • 110. 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
  • 111. 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
  • 112. A full virtualization reference model www.cambridge.edu.in Department of Information Science & Engineering
  • 113. 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
  • 114. 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
  • 115. 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
  • 116. 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
  • 117. 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
  • 119. END OF MODULE 1 www.cambridge.edu.in Department of Information Science & Engineering