skip to main content
research-article

Engage: a deployment management system

Published:11 June 2012Publication History
Skip Abstract Section

Abstract

Many modern applications are built by combining independently developed packages and services that are distributed over many machines with complex inter-dependencies. The assembly, installation, and management of such applications is hard, and usually performed either manually or by writing customized scripts. We present Engage, a system for configuring, installing, and managing complex application stacks. Engage consists of three components: a domain-specific model to describe component metadata and inter-component dependencies; a constraint-based algorithm that takes a partial installation specification and computes a full installation plan; and a runtime system that co-ordinates the deployment of the application across multiple machines and manages the deployed system. By explicitly modeling configuration metadata and inter-component dependencies, Engage enables static checking of application configurations and automated, constraint-driven, generation of installation plans across multiple machines. This reduces the tedious manual process of application configuration, installation, and management.

We have implemented Engage and we have used it to successfully host a number of applications. We describe our experiences in using Engage to manage a generic platform that hosts Django applications in the cloud or on premises.

References

  1. Puppet at Puppet Labs: http://www.puppetlabs.com/.Google ScholarGoogle Scholar
  2. Chef at Opscode: http://www.opscode.com/chef/.Google ScholarGoogle Scholar
  3. Apache Libcloud: http://libcloud.apache.org/.Google ScholarGoogle Scholar
  4. Monit: http://mmonit.com/monit/.Google ScholarGoogle Scholar
  5. JasperReports Server: http://www.jaspersoft.com/reporting-server/.Google ScholarGoogle Scholar
  6. Django: https://www.djangoproject.com/.Google ScholarGoogle Scholar
  7. J. Aldrich, C. Chambers, and D. Notkin. Architectural reasoning in ArchJava. In ECOOP '02, pages 334--367. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Anderson and A. Scobie. LCFG: the next generation. In UKUUG Winter Conference. UKUUG, 2002.Google ScholarGoogle Scholar
  9. M. Burgess. A site configuration engine. Computing Systems, 8(2):309--337, 1995.Google ScholarGoogle Scholar
  10. A. Cicchetti, D. Di Ruscio, P. Pelliccione, A. Pierantonio, and S. Zacchirol. A model driven approach to upgrade package based software systems. In Evaluation of Novel Approaches to Software Engineering, pages 262--276. Springer, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  11. R. Di Cosmo, D. Di Ruscio, P. Pelliccione, A. Pierantonio, and S. Zacchiroli. Supporting software evolution in component-based FOSS systems. Science of Computer Programming, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. R. Di Cosmo and J. Vouillon. On software component co-installability. In SIGSOFT FSE '11, pages 256--266. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Di Cosmo, P. Trezentos, and S. Zacchiroli. Package upgrades in FOSS distributions: Details and challenges. In HotSWup '08, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In PLDI '98, pages 236--248. ACM, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesC language: A holistic approach to networked embedded systems. In PLDI '03, pages 1--11. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. Goldsack, J. Guijarro, S. Loughran, A. Coles, A. Farrell, A. Lain, P. Murray, and P. Toft. The SmartFrog configuration management framework. Operating Systems Review, 43(1):16--25, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. F. Mancinelli, J. Boender, R. di Cosmo, J. Vouillon, B. Durak, X. Leroy, and R. Treinen. Managing the complexity of large free and open source package-based software distributions. In ASE '06, pages 199--208. IEEE Computer Society, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. Trezentos, I. Lynce, and A. L. Oliveira. Apt-pbo: solving the software dependency problem using pseudo-Boolean optimization. In ASE '10, pages 427--436. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Tucker, D. Shuffelton, R. Jhala, and S. Lerner. OPIUM: Optimal package install/uninstall manager. In ICSE '07, pages 178--188. IEEE Computer Society, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. B.A. Wolfe, B.W. Mamlin, P.G. Biondich, H. Fraser, D. Jazayeri, C. Allen, J. Miranda, and W.M. Tierney. Cooking Up an Open Source EMR for Developing Countries: OpenMRS -- A Recipe for Successful Collaboration. In American Medical Informatics Association Annual Symposium, pages 529--533. AMIA, 2006.Google ScholarGoogle Scholar

Index Terms

  1. Engage: a deployment management system

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 47, Issue 6
        PLDI '12
        June 2012
        534 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2345156
        Issue’s Table of Contents
        • cover image ACM Conferences
          PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation
          June 2012
          572 pages
          ISBN:9781450312059
          DOI:10.1145/2254064

        Copyright © 2012 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 11 June 2012

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!