Automatic software deployment using user-level virtualization for cloud-computing Future Generation...
-
Upload
caroline-quinn -
Category
Documents
-
view
222 -
download
0
Transcript of Automatic software deployment using user-level virtualization for cloud-computing Future Generation...
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
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
Software B Virtual
Appliance B Software A Virtual Appliance A
Lack of flexibility
Template
Virtual Appliance A+B
OS
Virtual Appliance A+B
Software
OS
Software
OS
Software
OS
Software
OS
Software
OS
Software
OS
Software
OS
Software
OS
Software
OS
Inefficiency of storage
Storage overhead is larger
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
Outline
• Introduction• The framework• Performance test• Conclusion
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
• 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
The runtime environment of on-demand software (cont’ d)
• The resource modified will be moved into Part 3
Function4 - Software customization
• The VA-based solution, it is difficult to implement this function efficiently
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
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 customization
The 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
Outline
• Introduction• The framework• Performance test• Conclusion and future work
Comparisons of start-up time.
Comparisons of running time
Outline
• Introduction• The framework• Performance test and analysis• Conclusion
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