18.04.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!