Transcript Lecture 2

COMS E6998-6 Cloud Computing and Data Center Networking
Sambit Sahu
http://www.cs.columbia.edu/~sambits/
Some useful links
 http://aws.amazon.com/
 http://www.eucalyptus.com/
 http://www.opennebula.org/start
 http://cloudcomputing.sys-con.com/node/770174
2
This Week
 Presenting the following papers:
– Above the Clouds: A Berkeley View of Cloud Computing
– http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf
– MapReduce: Simplified Data Processing on Large Clusters
http://labs.google.com/papers/mapreduce.html
3
Next Week
 Building Clouds
– Eucalyptus
– OpenNebula
– ESXi APIs
 Virtualization
– Xen and Art of Virtualization
4
What is virtualization
 Server virtualization components
– Hypervisor
– Guest machines (VMM)
 Allows one to have several machines
abstraction on top of a single machine
 Various levels of virtualization
 Several virtualization solutions
– VMWare: ESX
– Xen
– KVM
– IBM pHype, zHype
Source: ESXi Architecture White Paper
5
Types of Virtualization
 Hardware emulation
– Most complex: a hardware VM is created for each instance
 Full Virtualization
– Uses hypervisor to share underlying hardware across guest VMs
– Mediates between guest OS and underlying h/w
 Paravirtualization
– Differs from full virtualization in that integrates virtualization handling code into OS – thus
the guest OS code is modified
 Operating system level virtualization
– Virtualizes server on top of operating systems
– Single OS that isolates the servers
6
Why Useful
 Resource optimization
– Allows several machines to run on top of a single machine
– Consolidation of workload running on different machines onto one
 Automation of software stack configuration
– Configure once and provision many times
 Migration from one machine to another
 Disaster recovery
 Energy optimization
7
Some Cloud building blocks
 Web service portal for customers to request Virtual Machines
 Cloud request handler
–
–
–
–
–
New provision request
Update request
Delete request
Monitor request
Scaling of resources
 Backend system
–
–
–
–
–
–
–
Manage a large cluster of machines
Creates Virtual Machine with required software stack (OS, applications,..)
Keep track of virtual machine to physical machine mapping
Detect any physical resource errors
Detect any VM errors
Monitor physical and virtual machines
Security and access control
 Management services
– Monitor events and report errors
– Backup and maintenance
– Migration for enabling maintenance
8