on-demand software

advertisement
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 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)
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
It can communicate with other
programs(on-demand software)
running on the same host machine
through the file system
No
The runtime environment operates
above the OS, it can distinguish the
User’s customization
modifications made by different
software
No
Communicate with
other software
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
Download