Introduction to Cloud Computing and Virtual Resource Management Jian Tang Syracuse University 1
Outline Definition Components Why Cloud Computing Cloud Services IaaS Cloud Providers Overview of Virtual Resource Management Reservation-based Virtual Resource Management Homework 1: Virtual Machine Manager 2
References [1] G. Schulz, The Green and Virtual Data Center, CRC Press, 2009. [2] R. Buyya, J. Broberg and A. M. Goscinski, Cloud Computing: Principles and Paradigms Chapter 6, Wiley, 2011, ISBN: 0470887990. [3] B. Sotomayor, K. Keahey and I. Foster, Combining batch execution and leasing using virtual machines, Proceedings of ACM HPDC 2008, pp. 87-96. (http://dl.acm.org/citation.cfm?id=1383434) [4] J. Xu, J. Tang, K. Kwiat, W. Zhang and G. Xue, Enhancing survivability in virtualized data centers: a service-aware approach, IEEE Journal on Selected Areas in Communications, Vol. 31, No. 12, 2013, pp. 2610-2619. (http://lcs3.syr.edu/faculty/tang/pub/tang-jsac13.pdf) 3
Definition Cloud is a metaphor for the Internet. Cloud computing is a new location-independent computing model, in which shared servers and data storage devices provide resources, software, and data to users in an on-demand manner. Cloud computing -> Network is computer 4
Components Client (end user): web browser or an APP Service: a function or a set of functions in a cloud Application: backbone of service Platform: software infrastructure for applications, e.g., Windows Azure, Google App Engine, VMware Foundry, Heroku. Storage: disks, tapes, optical, memory, etc Infrastructure: IT hardware and facilities 5
The milk/cow example Why Cloud Computing The power/power plant example The restaurant/website example From business point of view, most of time it is better to rent than buy. 6
No capital expenses needed Why Cloud Computing Customers only pay a fee for what are actually used Flexible capacity and feature sets No risk of obsolescence No facilities and engineering cost incurred Guaranteed business continuity and disaster recovery 7
Services Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Everything as a Service (XaaS) 8
SaaS A software distribution model in which applications are hosted by vendor or service provider and made available to users over Internet. Network-based management and access to commercially available software from central locations rather than at each user s site. Application delivery follows a one-to-many model as opposed to a traditional one-to-one model. Centralized administration Examples: Gmail/Hotmail, Google Docs, etc 9
Benefits: No powerful computer needed. SaaS No installation needed. Automated update and patch management services. Data compatibility across the enterprise (All users have the same version of software). Facilitated and enterprise-wide collaboration. Global accessibility. 10
PaaS Delivery of computing platform and solution stack as a service. Mainly used by developers to build and deploy their applications. Examples: Windows Azure, Google App Engine, VMware Foundry, Heroku. 11
PaaS Benefits: Fast and cost-effective application development and delivery. Deliver new applications to markets via web browsers. Users pay only for what they actually use. 12
Windows Azure (azure.microsoft.com) 13
IaaS The delivery of computer infrastructure (such as servers, storage, etc) as a service. The IaaS provider owns the equipment and is responsible for housing, cooling, running and maintaining it. The client typically pays on a per-use basis. Examples: Amazon EC2, Alibaba Cloud, Dropbox, etc 14
IaaS Benefits: Ready access to a preconfigured environment Use of latest technologies for equipment Secured sand-box computing platform Ability to manage service peaks and valleys No capital investments needed Reduced time, cost and complexity in adding new features and capacities 15
IaaS Cloud Providers Provide computational resources in an on-demand manner. Use virtualization technologies to lease resources. Provide public and simple remote interfaces to manage resources. Use the pay-as-you-go billing model. 16
Virtual Resource Management Virtual Resource Management: the management of Virtual Machines (VMs) and related virtual resources distributed across a pool of physical resources. The configuration of VMs needs to be done on the fly. A group of VMs need to be configured properly to support a service. The virtual resource manager needs to optimize resource allocation with the objective of minimizing the operational cost subject to tenants SLA constraints. 17
Virtual Resource Management [3] 18
VM A VM has the following attributes: A capacity (size) in terms of memory, CPU, network bandwidth, and disk space. A set of disk images: In general, it might be necessary to transfer some of these image files to/from the physical machine the VM will be running in. A state file or recovery file that contains the memory image of a running VM plus some hypervisor-specific information. 19
VM The lifecycle of a VM includes several stages: Resource selection: a feasible placement plan for the VM must be made. Resource preparation: The disk images of the VM are transferred to the target host. VM creation: The VM is booted by the hypervisor. VM migration: A VM may be migrated to a more suitable host. VM termination: When the VM is shut down, its disk images are transferred back to an image repository. 20
Virtual Resource Management Solutions VMware vsphere: http://www.vmware.com OpenStack http://www.openstack.org/ OpenNebula: http://opennebula.org/ VirtualStream: http://www.virtustream.com/ ovirt: http://www.ovirt.org/ 21
Reservation-based Virtual Resource Management [2] When the behavior of services with respect to resource demands is predictable (such as HPC applications), a reservation-based method can be used. VMs are an appealing vehicle for implementing efficient reservation of resources due to their ability to be suspended, potentially migrated, and resumed without modifying any of the applications running inside a VM. 22
Reservation-based Virtual Resource Management Lease: a negotiated and renegotiable agreement between a resource provider (cloud service provider) and a resource consumer (tenant), where the former agrees to make a set of resources available to the latter, based on a set of lease terms presented by the resource consumer. Advanced reservation lease: certain resources must be available at a specific time for a specific duration. Best-effort lease: resources are provisioned as soon as possible. Immediate lease: resources are provisioned when requested, or not at all. 23
Reservation-based Virtual Resource Management A lease is implemented as a set of N VMs, each of which is described by a tuple (p, m, d, b), where p is number of CPUs, m is memory in MB, d is disk space in MB, and b is network bandwidth in Mbps. If a lease is preempted, it is suspended by suspending its VMs, which may then be either resumed on the same node, or migrated to another node and resumed there. Suspending a VM results in a memory state image file that can be saved to either a local file system or a global file system. Resumption requires reading that image back into memory. 24
Reservation-based Virtual Resource Management A lease manager (such as Haizea, part of OpenNebula) is designed to process lease requests and determine how those requests can be mapped to VMs, leveraging their suspend/resume/migrate capability, in such a way that the leases requirements are satisfied. Backfilling algorithms are usually used to allow best-effort leases to be preempted if resources have to be freed up for advance reservation requests. 25
Lease Scheduling [2] 26