Dissertaç ˜ao de Mestrado Mestrado em Engenharia Informática Jo ...
Dissertaç ˜ao de Mestrado Mestrado em Engenharia Informática Jo ...
Dissertaç ˜ao de Mestrado Mestrado em Engenharia Informática Jo ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2. STATE OF THE ART AND RELATED WORK 2.2. Automatic Configuration of Applications<br />
• zero or more disk images files<br />
• zero or more additional resource files, such as ISO images<br />
OVF specification v1.0.0 has been released on Sept<strong>em</strong>ber, 2008 and is prone to intensive<br />
<strong>de</strong>velopment.<br />
2.1.4 Virtual Appliances in Real Life<br />
A good example of an application of virtual appliances is the Amazon Elastic Compute Cloud [Ama09],<br />
also known as Amazon EC2. It is a service which allows customers to rent hosted computing<br />
capacity in or<strong>de</strong>r to run their applications. The customers can create a VA comprised by appli-<br />
cations, libraries, data and associated configuration settings or use a pre-constructed image and<br />
then upload it in the Amazon Machine Image format to the Amazon storage service, Amazon<br />
Simple Storage Service (S3). VAs provi<strong>de</strong> the means for elastic computing by enabling a fast<br />
and efficient way for service expansion.<br />
Whereas previously SaaS solutions failed to succeed due to the lack of control of the ser-<br />
vice from the customer and the maintenance costs involved, Amazon EC2 uses multiple Xen<br />
hypervisor no<strong>de</strong>s so that customers can build VAs containing their applications and host th<strong>em</strong><br />
outsi<strong>de</strong> their domain. In this way, the vendor is able to provi<strong>de</strong> the service <strong>de</strong>sired by the<br />
customer without the need to maintain the solution, focusing on keeping a secure, reliable, ef-<br />
ficient and inexpensive environment for the VAs to run on. On the other hand, the customers<br />
now have the control over their services and may update th<strong>em</strong> any time necessary without hav-<br />
ing to wait for the vendor. Furthermore, customers are only billed for what they consume (i.e.,<br />
instance uptime or data transferred), opposed to paying an established fee even if the service<br />
usage is low or non-existant.<br />
2.2 Automatic Configuration of Applications<br />
To the best of our knowledge, our approach is the first to exploit the similarities among con-<br />
figuration files to allow for automatic, vendor-in<strong>de</strong>pen<strong>de</strong>nt and on-the-fly application recon-<br />
figuration. Similar existing projects, such as AutoBash [SAF07] or Chronus [WCG04], take on<br />
automatic application configuration as a way to assist the r<strong>em</strong>oval of configuration bugs. Auto-<br />
Bash <strong>em</strong>ploys the causality support within the Linux kernel to track and un<strong>de</strong>rstand the actions<br />
performed by a user on an application and then recurs to a speculative execution to rollback<br />
a process, if it moved from a correct to an incorrect state. Chronus, on the other hand, uses a<br />
virtual machine monitor to impl<strong>em</strong>ent rollback, at the expense of an entire computer syst<strong>em</strong>.<br />
It also focuses a more limited probl<strong>em</strong>: finding the exact moment when an application ceased<br />
to work properly.<br />
Two other projects, better related to this work, are Thin Crust [Cru08] and<br />
SmartFrog [GGL + 09]. Both projects aim at automatic application configuration, but take a<br />
different approach than ours. Following is a brief summary of both.<br />
15