The use of virtual appliances could provide a flexible solution to services deployment. However, these solutions suffer from several disadvantages: (i) the slow deployment time of services in virtual machines, and (ii) virtual appliances crafted by developers tend to be inefficient for deployment purposes.
Researchers target problem (i) by advancing virtualization technologies or by introducing virtual appliance caches on the virtual machine monitor hosts. Others aim at problem (ii) by providing solutions for virtual appliance construction, however these solutions require deep knowledge about the service dependencies and its deployment process.
This dissertation aids problem (i) with a virtual appliance distribution technique that first identifies appliance parts and their internal dependencies. Then based on service demand it efficiently distributes the identified parts to virtual appliance repositories. Problem (ii) is targeted with the Automated Virtual appliance creation Service (AVS) that can extract and publish an already deployed service by the developer. This recently acquired virtual appliance is optimized for service deployment time with the proposed virtual appliance optimization facility that utilizes active fault injection to remove the non-functional parts of the appliance. Finally, the investigation of appliance distribution and optimization techniques resulted the definition of the minimal manageable virtual appliance that is capable of updating and configuring its executor virtual machine.
The deployment time reduction capabilities of the proposed techniques were measured with several services provided in virtual appliances on three cloud infrastructures. The appliance creation capabilities of the AVS are compared to the already available virtual appliances offered by the various online appliance repositories. The results reveal that the introduced techniques significantly decrease the deployment time of virtual appliance based deployment systems. As a result these techniques alleviated one of the major obstacles before virtual appliance based deployment systems.