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

Post on 22-Feb-2016

29 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

top related