CS 695
Topics in Virtualization and Cloud Computing
and Storage Systems
Hot or not?
Cloud Computing
●
The in-vogue term
●
Cloud is the network
●Network is the cloud
●
Cloud storage, storage cloud
●Cloud-based e-learning
●
Application in cloud, cloud application
●Smart cloud
What is cloud computing?
●
Definition?
●
Where is it?
scale your infrastructure on demand within minutes or even seconds, instead of days or weeks, thereby avoiding under-utilization (idle servers) and over-utilization
'internet centric software.' ... shift from the traditional single tenant approach to software development to that of a scalable, multi-tenant, multi-platform, multi-network, and global a broad array of web-based services aimed at allowing users to obtain a wide range of functional capabilities on a 'pay-as-you-go' basis
…basically the broad concept of using the internet to allow people to access technology-enabled services ... services must be 'massively scalable' to qualify as true 'cloud
computing'
The 'cloud' model initially has focused on making the hardware layer consumable as
on-demand compute and storage capacity.
Cloud computing really is accessing resources and services needed to perform functions with dynamically changing needs. ... The cloud is a virtualization of resources that
maintains and manages itself.
Cloud computing
●
Computing-as-a-service
●
All forms of computing
Cloud characteristics
●
On-demand service
– User not worried about maintenance and setup issues etc.
●
Shared Resources
– Large capacity distributed/multiplexed over several users
●
Flexible Provisioning
– Dynamically scale resources
●
Fine-grained metering
Is the 'Cloud' brand new?
●
NO!
– 60s-70s, large centralized servers carved up for individual
access
– Cluster computing – Grid computing – Utility computing – Peaking now
● Decreasing cost of powerful hardware ● Virtualization
Cloud service models
●
IaaS
– Infrastructure as a Service
– Amazon EC2, Ubuntu One, IBM Test Cloud
●
PaaS
– Platform as a service
– Google Appengine, Windows Azure
●
SaaS
– Software as a service
– Gmail, Google online services
Cloud deployment options
●
Private cloud
– Infrastructure for a single organization
● Internal hosting, testing environment
●
Public cloud
– Infrastructure for general use – Cloud provider owns service
●
Hybrid cloud
– Composition of private+public
Cloud views
●
User view
User-view of the Cloud
●
On-demand provisioning
– Resource, software, services – Quick deployment
– Security and isolation
●
SLA requirements
– Service-level agreement
– Availability, isolation, performance metrics ...
●
Pay-on-use model
Providers-view of the Cloud
●
Support on-demand provisioning
– Resource accounting and provisioning
●
Efficient provisioning
– Reactive and quick
– High multiplexing desired
– Meet SLA requirements of users
– Allocate minimum to maximize profit/#users – Power!
● Administration and Manageability ● Data Privacy
● Data Services Architectures
● Distributed and Parallel Query Processing ● Energy Management
● Distributed and Cloud Networking ● High Availability and Reliability ● Infrastructure Technologies ● Large Scale Cloud Applications ● Multi-Tenancy
Scope of cloud computing
● Programming Models
● Provisioning and Metering
● Resource Management and Performance ● Scientific Data Management
● Security of Services
● Service Level Agreements ● Storage Architectures ● Transactional Models
● Virtualization Technologies
Virtualization
●
Didn't you mention “virtualization” in the course
Begin from the beginning
●
Computer systems are incredibly complex
– silicon, transistors, disks, processors, network cards,
buses ...
– device drivers, operating systems, compilers, application
libraries ...
●
But still,
– Systems evolving and flourishing
Abstractions and Interfaces
●
abstraction: concept or idea (w/o implementation
specifics)
●
interface: operations/process related to abstraction
●
Complex systems organized as a hierarchy of
abstractions
– Well-defined interfaces allow independent evolution of
Abstraction+Interface Examples
1.Storage
● Physical disk: tracks, sectors, disk head ... ● User view: file (abstraction)
● File operations (interface): OS + device driver
2.Network
3.ISA (Instruction Set Architecture)
● x86 architecture (8086 based, 16-bit) ● Intel, AMD, VIA ... manufacturers
Are we ready for world peace then?
●
What is the issue with abstraction oriented
Are we ready for world peace then?
●
What's the issue with abstraction oriented
development?
– Interoperability
– Sub-systems designed for one interface will not work for
other
Virtualization
●
virtual: not real, illusionary, perception of reality
●virtualize a component/resource
●
Map visible interface/resources onto those of
underlying physical system
Types of virtual machines
●
Process view of
machine
●
memory, user-level
instr., system calls for
OS functions
●
OS interface to
hardware defines view
of process
●Process VM
●System view of
machine
●environment to support
multiple processes
●sharing resources
●hardware characteristics
defines system view
Process VM and System VM
Virtualization Software
Application
Operating System
Hardware
Virtualization Software
Application
Operating System
Hardware
Host
Guest
Runtime
Process VM examples
●
Multi-processing systems
●Emulators
– Fetch, decode, interpret – e.g., WINE, QEMU
●
High-level Language VMs
– Compile for virtual architecture
– Translate/execute on native platform – JAVA, .Net
System VM characteristics
●
Provide machine-view (virtual machines) to multiple
operating systems
– Resource allocations
● cpu, memory, network, disk
●
Control/arbitrate VMs access to physical hardware
System VMs
●
Native VMs (type 1)
– a.k.a Bare-metal VMs
– Hypervisor/VMM on hardware, controls guests directly – Guest unaware of VM translation
●
Hosted VMs (type 2)
– Hypervisor/VMM hosted on OS – Guests co-ordinated by VMM
– Para-virtualized or Fully-virtualized VMs
Type of System VMs
●Native VMs (Bare-metal)
●VMware ESX
●Hosted VMs
●Xen
●kvm
●VMware GSX
●VirtualBox
Virtualization benefits
●
Flexible resource provisioning
●Increased Inter-operability
– Standard virtualized interface
●
Isolation
– Secure multiplexing, Local impact of crashes/bugs – Resource usage isolation
●
Machine State Capture
– VM is a file
– Snapshots, cloning, migration
Problem Areas
Virtualization technolgies Capacity planning and profiling
Physical to virtual (p2v)
Placement and Provisioning Resource Management
Migration and Consolidation management
Network I/O optimizations in virtual machines
Storage Issues with virtualization