260 likes | 343 Views
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).
E N D
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 Aand B to work together in a virtual machine, but the provideronly has two separate VAs containing A and B respectively • The provider has to create a new VM template to combine A and Btogether
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 OS • Part2 contains what are created/ modified/ deleted by the installation process • Part3 is the data created/modified/deleted during the run time
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
Optimizations • Content-addressable storage • Data cache
Content-addressable storage • On-demandsoftware is partitioned into shards • Compute the hash valueof every shard, and the same values mean the corresponding shardsare identical.
Data cache • The replace strategy is based on the usagefrequency
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