automatic software deployment using user-level virtualization for cloud-computing
DESCRIPTION
Automatic software deployment using user-level virtualization for cloud-computing. Future Generation Computer System (2013) Youhui Zhang, Yanhua Li, Weimin Zheng. Outline. Introduction The framework Performance test Conclusion. Introduction (1). - PowerPoint PPT PresentationTRANSCRIPT
Automatic software deployment using user-level virtualization for cloud-computing
Future Generation Computer System (2013)Youhui Zhang, Yanhua Li, Weimin Zheng
Outline
• Introduction• The framework• Performance test• Conclusion
Introduction (1)
• Infrastructure cloud service providers deliver virtual hardware and system software in their datacenters, based on the demand from customers
• It is necessary to deploy application software in similar way
Virtual Appliances (VAs)
• It is a pre-built software
• VA-based method can reduce time and expenses
VA drawbacks
• Lack of flexibility
• Inefficiency of storage
Lack of flexibility
• Customer needs software A and B to work together in a virtual machine, but the provider only has two separate VAs containing A and B respectively
• The provider has to create a new VM template to combine A and B together
Inefficiency of storage
• OS has to be combined. Therefore, the storage overhead
Introduction (2)
• This paper introduces mechanisms to isolate application software from OS
• Application software can be deployed in a fine granularity to increase the flexibility and decrease the storage overhead
• We call such application software as on-demand software
Function1 - Software preparation
• Cover software into the on-demand mode
• On-demand software is stored in the software depository for users’ selection
Preparation of on-demand software
• software can be regarded as containing three parts:Part1 includes all resources provided by the OSPart2 contains what are created/ modified/ deleted
by the installation processPart3 is the data created/modified/deleted during the
run time
Preparation of on-demand software(cont’ d)
Preparation of on-demand software(cont’ d)
• Snapshot is taken to build the on-demand software
Function2 - Software selection
• A customer can choose the wanted OS, as well as any number of software in separated stages
Function3 - On-demand deployment
• When the customer actually uses the chosen software, will it be streamed from the data server and run locally without installation.
The runtime environment of on-demand software (cont’ d)
• The resource modified will be moved into Part 3
The runtime environment of on-demand software
• Construct a runtime environment where software can locate and access any necessary resources
• Runtime environment redirects all accesses for Parts 2 and 3 to the actual storage positions and guides other visits (for Part 1) to the local OS
User-level file system
• On-demand software is stored in the central depository and presented as files/ folders on a virtual local drive in the customer’s VM
Function4 - Software customization
• The VA-based solution, it is difficult to implement this function efficiently
On-demand software VS Virtual appliance(VA)
On-demand software VA
Communicate with other software
It can communicate with other programs(on-demand software) running on the same host machine through the file system
No
User’s customizationThe runtime environment operates above the OS, it can distinguish themodifications made by different software
No
System overview
Optimizations
• Content-addressable storage• Data cache
Content-addressable storage
• On-demand software is partitioned into shards• Compute the hash value of every shard, and the
same values mean the corresponding shards are identical.
Data cache
• The replace strategy is based on the usage frequency
Comparisons of start-up time.
Comparisons of running time
Conclusion
• This paper provides a framework to decouple application software from VM images to improve the deployment flexibility for cloud computing
• Compared with VA-based solutions, it also improves the storage efficiency
• Users’ customization can been separated inherently and efficiently for reuse