Reducing Complexity of Software Deployment with Delta Configuration

Deploying a modern software service usually involves installing several software components, and configuring these components properly to realize the complex interdependencies between them. This process, which accounts for a significant portion of information technology (IT) cost, is complex and error-prone. In this paper, we propose delta configuration - an approach that reduces the cost of software deployment by eliminating a large number of choices on parameter values that administrators have to make during deployment. In delta configuration, the complex software stack of a distributed service is first installed and tested in a test environment. The resulting software images are then captured and used for deployment in production environments. To deploy a software service, we only need to copy these pre-configured software images into a production environment and modify them to account for the difference between the test environment and a production environment. We have implemented a prototype system that achieves software deployment using delta configuration of the configuration state captured inside virtual machines. We perform a case study to demonstrate that our scheme leads to substantial reduction in complexity for the customer, over the traditional software deployment method.

[1]  Renato J. O. Figueiredo,et al.  VMPlants: Providing and Managing Virtual Machine Execution Environments for Grid Computing , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

[2]  Joseph L. Hellerstein,et al.  A model of configuration complexity and its application to a change management system , 2005, 2005 9th IFIP/IEEE International Symposium on Integrated Network Management, 2005. IM 2005..

[3]  Beng-Hong Lim,et al.  Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor , 2001, USENIX Annual Technical Conference, General Track.

[4]  Renato J. O. Figueiredo,et al.  A case for grid computing on virtual machines , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[5]  Calton Pu,et al.  Automated Staging for Built-to-Order Application Systems , 2006, 2006 IEEE/IFIP Network Operations and Management Symposium NOMS 2006.

[6]  Paul Murray,et al.  SmartFrog: Configuration and Automatic Ignition of Distributed Applications , 2003 .

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

[8]  Remi Badonnel,et al.  Automating the Provisioning of Application Services with the BPEL4WS Workflow Language , 2004, DSOM.

[9]  Kun-Lung Wu,et al.  The CHAMPS system: change management with planning and scheduling , 2004, 2004 IEEE/IFIP Network Operations and Management Symposium (IEEE Cat. No.04CH37507).

[10]  Mark Burgess,et al.  Adaptive provisioning using virtual machines and autonomous role-based management , 2006, International Conference on Autonomic and Autonomous Systems (ICAS'06).