Shreyas soni
DS5A-2337
Cloud Computing
History
First appeared in IBM mainframes in 1972
Allowed multiple users to share a batch-oriented system
Formal definition of virtualization helped move it beyond
IBM
1. A V M M provides an environment for programs that is essentially
identical to the original machine
2. Programs running within that environment show only minor
performance decreases
3. The V M M is in complete control of system resources
In late 1990s Intel CPUs fast enough for researchers to try
virtualizing on general purpose PCs
Xen and VMware created technologies, still used today
Virtualization has expanded to many OSes, CPUs, VMMs
Virtual Machine
A virtual machine (VM) is a digital version of a
physical computer. Virtual machine software can
run programs and operating systems, store data,
connect to networks, and do other computing
functions, and requires maintenance such as
updates and system monitoring.
Why We Need VM?
Multiple VMs can be hosted on a single physical machine,
often a server, and then managed using virtual machine
software. This provides flexibility for compute resources
(compute, storage, network) to be distributed among VMs
as needed, increasing overall efficiency. This architecture
provides the basic building blocks for the advanced
virtualized resources we use today, including cloud
computing.
System Models
(a) Nonvirtual machine (b) Virtual machine
VMware Architecture
Types of Virtual Machine
• Process Virtual Machine
• Language Virtual machine
Process Virtual Machine
process virtual machines are designed to execute a
single computer program by providing an abstracted and
platform-independent program execution environment.
A process VM, sometimes called an application virtual
machine, or Managed Runtime Environment (MRE).
It is created when the process is started and destroyed
when it exits.
A process V M provides a high-level abstraction – that of
a high-level programming language (compared to the
low-level ISA abstraction of the system VM). Process VMs
are implemented using an interpreter; performance
comparable to compiled programming languages is
achieved by the use of just-in-time compilation.
Process Virtual Machines
APP APP APP
OS 2 OS 3
APP
Virtual Machine
Operating System 1
Hardware
Language Virtual Machine
This type of V M has become popular with the Java programming
language, which is implemented using the Java virtual machine.
The Parrot virtual machine, and the .NET Framework, which runs on a
V M called the Common Language Runtime. All of them can serve as
an abstraction layer for any computer language.
Unlike other process VMs, these systems do not provide a specific
programming language, but are embedded in an existing language;
typically such a system provides bindings for several languages
(e.g., C and FORTRAN).
Examples are PVM (Parallel Virtual Machine) and MPI (Message
Passing Interface). They are not strictly virtual machines, as the
applications running on top still have access to all OS services, and are
therefore not confined to the system model.
How Does Cloud Computing use VM
Several cloud providers offer virtual machines to their
customers. These virtual machines typically live on powerful
servers that can act as a host to multiple VMs and can be
used for a variety of reasons that wouldn’t be practical with a
locally-hosted VM.
These include:
• Running SaaS applications
• Backing up data
• Browser Isolation
• Hosting services
Running SaaS Application
Software-as-a-Service, or SaaS for short, is a
cloud-based method of providing software to
users, in which an application is served to user
over the Internet rather than running on their
computers. Often, it is virtual machines in the
cloud that do the computation for SaaS
applications as well as delivering them to users. If
the cloud provider has a geographically
distributed network edge, then the application
will run closer to the user, resulting in faster
performance.
Backing up Data
Cloud-based VM services are popular for backing
up data, because the data can be accessed from
anywhere. Plus, cloud VMs provide better
redundancy, require less maintenance, and
generally scale better than physical data centers.
(For example, it’s relatively easy to buy an extra
gigabyte of storage space from a cloud VM
provider, but much more difficult to build a new
local data server for that extra gigabyte of data.)
Hosting Service and Browser Isolation
• Hosting services like email and access
management - Hosting these services on cloud
VMs is generally faster and more cost-effective,
and helps minimize maintenance and offload
security concerns as well.
• Browser isolation - Some browser isolation tools
use cloud VMs to run web browsing activity and
deliver safe content to users via a secure
Internet connection
What is Virtualization
Virtualization is a technology to run multiple same or
different operating systems which is completely isolated
from each other . ”Ex: Run both Windows and Linux on
the same machine.
Types of Virtualization
Server Virtualization
Desktop Virtualization
Application Virtualization
Memory
Storage
Data
Network
Server Virtualization
Hardware virtualization or platform virtualization refers to the creation of
a virtual machine that acts like a real computer with an operating system.
Software executed on these virtual machines is separated from the
underlying hardware resources.
Different types of hardware virtualization include:
Full virtualization – almost complete simulation of the actual hardware to
allow software, which typically consists of a guest operating system, to run
unmodified.
Partial virtualization – some but not all of the target environment is
simulated. Some guest programs, therefore, may need modifications to run
in this virtual environment.
Para virtualization – a hardware environment is not simulated; however,
the guest programs are executed in their own isolated domains, as if they
are running on a separate system. Guest programs need to be specifically
modified to run in this environment.
Server Virtualization- Benefits
Host servers connected over S A N
Hardware fail tolerance
High availability
Online live migration
Easy management
Disaster Recovery
Easily scalable, Adjustable
Different Vendor, Type, Model servers controlled by Hypervisor
Less hardware management / maintenance cost
Better efficiency with less cost
Maintain average utilization %
Desktop Virtualization
Same as server Virtualization
User’s desktop runs on data servers as Virtual machines
Secured by design
Multiple OSes runs on same Hypervisor host
Centralized management
Shared resources with maximum utilization
Supports multimedia / memory intensive apps on V M
Desktop Virtualization - Benefits
Centralized Service pack upgrade / OS patch
installation
OS upgrade from one version to another
High availability
Fault tolerance
Thin / Thick provisioned storage
Accessed via L A N, WA N, Internet & Mobile
Offline use with help of V M Player /
XenClient on
Desktop, Laptop and ThinClients.
Application Virtualization
Business applications runs on servers located in
datacenter
Secured by design
One / more apps runs on same set of servers
Centralized application management
Shared resources with maximum utilization
Supports multimedia / memory intensive apps
Reduces licensing cost
Role based user access controlled by policies
Application Virtualization - Benefits
Applications delivered on-demand
No need to install and manage on every user desktop
Increased performance
Easily upgraded and deliver instantly
Published either locally installed or steamed to server
Top 10 Virtualization Technology Companies
VMware
Citrix
Oracle
Microsoft
Red hat
Amazon
Google
Virtual bridges
Proxmox
Parallels
Summary
Virtual machines are a number of discrete identical
execution environments on a single computer, each
of which runs an operating system. This can allow
applications written for one OS to be executed on a
machine which runs a different OS which provide a
greater level of isolation between processes than is
achieved when running multiple processes on the
same instance of an OS.
The End