1.introduction To Cloud and Virtualization
1.introduction To Cloud and Virtualization
Cloud Computing
Virtualization
Containerization
Cloud Service models
Cloud Deployment models
Services provided by Cloud
Cloud development best practices
Introduction to AWS and Services
Introduction to cloud
Cloud computing is the on-demand availability of computer system
resources, especially data storage and computing power, without
direct active management by the user.
The availability of high-capacity networks, low-cost computers and
elastic-storage as well as the widespread adoption of hardware
virtualization, service-oriented architecture and autonomic and
utility computing has led to growth in cloud computing.
cloud computing allows companies to avoid or minimize up-front IT
infrastructure costs
The main enabling technology for cloud computing is virtualization.
What is it ?
7
Introduction to
Virtualization
1
Outline
• Goals
• Understanding the benefits of virtualization in IT
industry and how to virtualize HW resources
• Schedule
• Introduction to virtualization
• OS vs. VMM
• CPU virtualization and scheduling
• Memory virtualization and management
• I/O virtualization
• Live VM migration
• Introduction to Systemtap
What is Virtualization?
• Multiple OSes on a single machine
• Giving an illusion that each OS is running on real HW
• Virtual Machine Monitor (VMM)
• Another layer of kernel to virtualize multiple OSes
• Also called “hypervisor”
• An OS as a supervisor is no more HW-dictator!
App App
Hardware
History – Born and Died (1/4)
• 1960s-1970s
• High cost of computing machines
• IBM VM/370: A VMM for IBM mainframe
Powerful &
expensive
hardware
• 1980s-1990s
• But, lost attentions since PC era (1980s)
• Cheap HW No need to share hardware
• CPU did not support virtualization well
• High engineering cost and overhead
History - Reborn (2/4)
• The late 1990s
• Regain attention for “server consolidation”
• Toward cost-effective large-scale computing
• Stanford’s research project: Disco
CPU
CPU
CPU
VM
CPU
VM
VM
CPU
CPU
CPU
Why Virtualization? (3/6)
• Flexible VM relocation
• “Live VM migration”
• Flexible VM relocation with near-zero downtime
• High availability
VM
SW or HW maintenance
(upgrade or fix)
Why Virtualization? (4/6)
• Strong isolation
• Strong isolation between co-located VMs
• Fault containment or isolation Safe
• Safe
OSes, especially drivers, are from bugs
error-prone and
App
malicious
App
attacks VM VM
OS OS
OS VMM
Hardware Hardware
Trusted VMM
VM
VM VM
Reliability Extensibility
Trustworthiness for primary functions Flexibility for adding features as needed
Business
Phone
Personal
Phone
Mobile Virtualization
• Embracing all apps in a unified market
• iOS + Android + Windows
• Technically possible, but not yet by industry
• Currently, not much attractive.
• Multiple Androids
• Android + RTOS
• Issues
• Performance, performance, performance…
• Graphics acceleration Challenging
• CPU, memory limitation
• High-end smartphones can resolve this limitation
Basic Terminologies
• Types of VMMs
• Type-1 vs. Type-2
• Virtualization methods
• Full-virtualization vs. Para-virtualization
Type-1 vs. Type-2
• Depending on what sits right on HW
Type-1: VMM on HW Type-2: Host OS on HW
Guest VM Guest VM Host OS Guest VM Guest VM
Guest OS Guest OS
Guest OS Guest OS
VMM
VMM
HW HW
Xen VMM
KVM: Type-2 VMM
• Type-2 VMM for Linux as a host OS
• Based on HW-assisted virtualization
• Linux kernel mainline (2.6.20~)
LVM
SAN
VPN/NAT
Partitioning
Virtualization Under Linux(1)
http://user-mode-
linux.sourceforge.net/
KVM (Kernal-based Virtual Machine)
From Linux-2.6.20
http://kvm.qumranet.com/kvmwiki
XEN
http://xen.xensource.com/
Virtualization Under Linux(2)
QEMU
http://fabrice.bellard.free.fr/qemu/
QEMU Accelerators
KQEMU
QVM86
VirtualBox (released in January 2007)
KVM with QEMU
Virtualization Under Linux(3)
VMWare (Workstation,Server,Player)
Virtualization Under Linux(4)
SWSOFT Virtualizations
http://www.swsoft.com
http://www.parallels.com/
http://openvz.org/
Linux-VServer
http://linux-vserver.org/
Compare with:
FreeBSD Jail
Solaris Containers (Zones)
Linux Virtualization in Windows(1)
VMWare
Virtual PC
VirtualBox
Bochs
QEMU