An Automated Parallel Approach for Rapid Deployment of Composite Application Servers

Infrastructure as a Service (IaaS) generally provides a standard vanilla server that contains an OS and basic functions, and each user has to manually install the required applications for the proper server deployments. We are working on a composite application deployment approach to automatically install selected applications in a flexible manner, based on a set of application installation scripts that are invoked on the vanilla server. Some applications have installation dependencies involving multiple servers. Previous research projects on installing applications with multi-server dependencies have deployed the servers sequentially. This means the total deployment time grows linearly with the number of servers. Our automated parallel approach makes the composite application deployment run in parallel when there are installation dependencies across multiple servers. We implemented a prototype system on Chef, a widely used automatic server installation framework, and evaluated the performance of our composite application deployment on a Soft Layer public cloud using two composite application server cases. The deployment times were reduced by roughly 40% in our trials.

[1]  Todd M. Austin,et al.  Dynamic dependency analysis of ordinary programs , 1992, ISCA '92.

[2]  Kalapriya Kannan,et al.  Rapid Deployment of SOA Solutions via Automated Image Replication and Reconfiguration , 2008, 2008 IEEE International Conference on Services Computing.

[3]  Ewa Deelman,et al.  Automating Application Deployment in Infrastructure Clouds , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

[4]  Horacio González-Vélez,et al.  Automated Instantiation of Heterogeneous Fast Flow CPU/GPU Parallel Pattern Applications in Clouds , 2014, 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[5]  Ying Chen,et al.  Rapid Provisioning of Cloud Infrastructure Leveraging Peer-to-Peer Networks , 2009, 2009 29th IEEE International Conference on Distributed Computing Systems Workshops.

[6]  Mark S. Squillante,et al.  On the Benefits and Limitations of Dynamic Partitioning in Parallel Computer Systems , 1995, JSSPP.

[7]  Qingbo Wang,et al.  Simplifying Service Deployment with Virtual Appliances , 2008, 2008 IEEE International Conference on Services Computing.

[8]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[9]  Tamar Eilam,et al.  Pattern-based composite application deployment , 2011, 12th IFIP/IEEE International Symposium on Integrated Network Management (IM 2011) and Workshops.

[10]  Renato J. O. Figueiredo,et al.  Reducing Complexity of Software Deployment with Delta Configuration , 2007, 2007 10th IFIP/IEEE International Symposium on Integrated Network Management.

[11]  Miron Livny,et al.  Managing Checkpoints for Parallel Programs , 1996, JSSPP.

[12]  David Brumley,et al.  Virtual Appliances for Deploying and Maintaining Software , 2003, LISA.

[13]  Jose M. Alcaraz Calero,et al.  Towards an architecture for deploying elastic services in the cloud , 2012, Softw. Pract. Exp..

[14]  Michael Hüttermann DevOps for Developers , 2012, Apress.

[15]  Antonio Brogi,et al.  SeaClouds: a European project on seamless management of multi-cloud applications , 2014, SOEN.

[16]  Keith Brian Gallagher,et al.  Using Program Slicing in Software Maintenance , 1991, IEEE Trans. Software Eng..

[17]  V. Sarkar,et al.  Automatic partitioning of a program dependence graph into parallel tasks , 1991, IBM J. Res. Dev..

[18]  Michael H. Kalantar,et al.  An architecture for virtual solution composition and deployment in infrastructure clouds , 2009, VTDC '09.

[19]  Michael H. Kalantar,et al.  Reducing the complexity of application deployment in large data centers , 2005, 2005 9th IFIP/IEEE International Symposium on Integrated Network Management, 2005. IM 2005..

[20]  Calton Pu,et al.  Comparison of Approaches to Service Deployment , 2005, 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05).

[21]  Matthias Marschall Chef Infrastructure Automation Cookbook , 2013 .

[22]  Fabienne Boyer,et al.  Self-Configuration of Distributed Applications in the Cloud , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[23]  Florian Rosenberg,et al.  Automated testing of chef automation scripts , 2013, MiddlewareDPT '13.