automatic software deployment using user-level virtualization for cloud-computing

26
Automatic software deployment using user-level virtualization for cloud-computing Future Generation Computer System (2013) Youhui Zhang, Yanhua Li, Weimin Zheng

Upload: gino

Post on 22-Feb-2016

29 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Automatic software deployment using  user-level virtualization for cloud-computing

Automatic software deployment using user-level virtualization for cloud-computing

Future Generation Computer System (2013)Youhui Zhang, Yanhua Li, Weimin Zheng

Page 2: Automatic software deployment using  user-level virtualization for cloud-computing

Outline

• Introduction• The framework• Performance test• Conclusion

Page 3: Automatic software deployment using  user-level virtualization for cloud-computing

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

Page 4: Automatic software deployment using  user-level virtualization for cloud-computing

Virtual Appliances (VAs)

• It is a pre-built software

• VA-based method can reduce time and expenses

Page 5: Automatic software deployment using  user-level virtualization for cloud-computing

VA drawbacks

• Lack of flexibility

• Inefficiency of storage

Page 6: Automatic software deployment using  user-level virtualization for cloud-computing

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

Page 7: Automatic software deployment using  user-level virtualization for cloud-computing

Inefficiency of storage

• OS has to be combined. Therefore, the storage overhead

Page 8: Automatic software deployment using  user-level virtualization for cloud-computing

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

Page 9: Automatic software deployment using  user-level virtualization for cloud-computing

Function1 - Software preparation

• Cover software into the on-demand mode

• On-demand software is stored in the software depository for users’ selection

Page 10: Automatic software deployment using  user-level virtualization for cloud-computing

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

Page 11: Automatic software deployment using  user-level virtualization for cloud-computing

Preparation of on-demand software(cont’ d)

Page 12: Automatic software deployment using  user-level virtualization for cloud-computing

Preparation of on-demand software(cont’ d)

• Snapshot is taken to build the on-demand software

Page 13: Automatic software deployment using  user-level virtualization for cloud-computing

Function2 - Software selection

• A customer can choose the wanted OS, as well as any number of software in separated stages

Page 14: Automatic software deployment using  user-level virtualization for cloud-computing

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.

Page 15: Automatic software deployment using  user-level virtualization for cloud-computing

The runtime environment of on-demand software (cont’ d)

• The resource modified will be moved into Part 3

Page 16: Automatic software deployment using  user-level virtualization for cloud-computing

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

Page 17: Automatic software deployment using  user-level virtualization for cloud-computing

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

Page 18: Automatic software deployment using  user-level virtualization for cloud-computing

Function4 - Software customization

• The VA-based solution, it is difficult to implement this function efficiently

Page 19: Automatic software deployment using  user-level virtualization for cloud-computing

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

Page 20: Automatic software deployment using  user-level virtualization for cloud-computing

System overview

Page 21: Automatic software deployment using  user-level virtualization for cloud-computing

Optimizations

• Content-addressable storage• Data cache

Page 22: Automatic software deployment using  user-level virtualization for cloud-computing

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.

Page 23: Automatic software deployment using  user-level virtualization for cloud-computing

Data cache

• The replace strategy is based on the usage frequency

Page 24: Automatic software deployment using  user-level virtualization for cloud-computing

Comparisons of start-up time.

Page 25: Automatic software deployment using  user-level virtualization for cloud-computing

Comparisons of running time

Page 26: Automatic software deployment using  user-level virtualization for cloud-computing

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