skip to main content
10.1145/2642937.2642980acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Automated synthesis and deployment of cloud applications

Published: 15 September 2014 Publication History

Abstract

Complex networked applications are assembled by connecting software components distributed across multiple machines. Building and deploying such systems is a challenging problem which requires a significant amount of expertise: the system architect must ensure that all component dependencies are satisfied, avoid conflicting components, and add the right amount of component replicas to account for quality of service and fault-tolerance. In a cloud environment, one also needs to minimize the virtual resources provisioned upfront, to reduce the cost of operation. Once the full architecture is designed, it is necessary to correctly orchestrate the deployment phase, to ensure all components are started and connected in the right order.
We present a toolchain that automates the assembly and deployment of such complex distributed applications. Given as input a high-level specification of the desired system, the set of available components together with their requirements, and the maximal amount of virtual resources to be committed, it synthesizes the full architecture of the system, placing components in an optimal manner using the minimal number of available machines, and automatically deploys the complete system in a cloud environment.

References

[1]
A. Aleti, B. Buhnova, L. Grunske, A. Koziolek, and I. Meedeniya. Software architecture optimization methods: A systematic literature review. IEEE TSE, 39(5):658--683, 2013.
[2]
R. Amadini. Evaluation and application of portfolio approaches in constraint programming. Theory and Practice of Logic Programming (TPLP), 13(4-5-Online-Supplement), 2013.
[3]
R. Amadini, M. Gabbrielli, and J. Mauro. An empirical evaluation of portfolios approaches for solving CSPs. In C. P. Gomes and M. Sellmann, editors, Constraint Programming for Combinatorial Optimization Problems (CPAIOR), volume 7874 of LNCS, pages 316--324, 2013.
[4]
M. Burgess. A site configuration engine. Computing Systems, 8(2):309--337, 1995.
[5]
Canonical Ltd. Juju, devops distilled. https://juju.ubuntu.com/. Retrieved October 2013.
[6]
M. Catan, R. Di Cosmo, A. Eiche, T. A. Lascu, M. Lienhardt, J. Mauro, R. Treinen, S. Zacchiroli, G. Zavattaro, and J. Zwolakowski. Aeolus: Mastering the complexity of cloud application deployment. In ESOCC 2013: Service-Oriented and Cloud Computing, volume 8135 of LNCS, pages 1--3, 2013.
[7]
R. Di Cosmo, M. Lienhardt, R. Treinen, S. Zacchiroli, and J. Zwolakowski. Optimal provisioning in the cloud. Technical report, Université Paris Diderot, 2013. Available at http://hal.archives-ouvertes.fr/hal-00831455/.
[8]
R. Di Cosmo and J. Vouillon. On software component co-installability. In Foundations of Software Engineering (FSE), pages 256--266. ACM, 2011.
[9]
R. Di Cosmo, S. Zacchiroli, and G. Zavattaro. Towards a formal component model for the cloud. In Software Engineering and Formal Methods (SEFM) 2012, volume 7504 of LNCS, pages 156--171, 2012.
[10]
P. M. Duvall, S. Matyas, and A. Glover. Continuous integration: improving software quality and reducing risk. Pearson Education, 2007.
[11]
X. Etchevers, T. Coupaye, F. Boyer, and N. de Palma. Self-configuration of distributed applications in the cloud. In International Conference on Cloud Computing, pages 668--675. IEEE, 2011.
[12]
I. Feinerer. Efficient large-scale configuration via integer linear programming. Artificial Intelligence for Engineering, Design, Analysis and Manufacturing (AI EDAM), 27(1):37--49, 2013.
[13]
I. Feinerer and G. Salzer. Consistency and minimality of UML class specifications with multiplicities and uniqueness constraints. In Theoretical Aspects of Software Engineering (TASE), pages 411--420, 2007.
[14]
J. Fischer, R. Majumdar, and S. Esmaeilsabzali. Engage: a deployment management system. In PLDI'12: Programming Language Design and Implementation, pages 263--274. ACM, 2012.
[15]
J. A. Hewson, P. Anderson, and A. D. Gordon. A declarative approach to automated configuration. In LISA '12: Large Installation System Administration Conference, pages 51--66, 2012.
[16]
J. Humble and D. Farley. Continuous delivery: reliable software releases through build, test, and deployment automation. Pearson Education, 2010.
[17]
L. Kanies. Puppet: Next-generation configuration management.texttt;login: the USENIX magazine, 31(1):19--25, 2006.
[18]
T. A. Lascu, J. Mauro, and G. Zavattaro. Automatic component deployment in the presence of circular dependencies. In Formal Aspects of Component Software (FACS) 2013, volume 8348 of LNCS, 2013.
[19]
T. A. Lascu, J. Mauro, and G. Zavattaro. A planning tool supporting the deployment of cloud applications. In International Conference on Tools with Artificial Intelligence (ICTAI), pages 213--220. IEEE, 2013.
[20]
X. Leroy, D. Doligez, J. Garrigue, and D. Rémy. The Objective Caml system release 4.01; Documentation and user's manual. INRIA, Rocquencourt, Paris, 2013.
[21]
F. Mancinelli, J. Boender, R. D. Cosmo, J. Vouillon, B. Durak, X. Leroy, and R. Treinen. Managing the complexity of large free and open source package-based software distributions. In International Conference on Automated Software Engineering (ASE), pages 199--208. IEEE, 2006.
[22]
K. Marriott, N. Nethercote, R. Rafeh, P. J. Stuckey, M. G. de la Banda, and M. Wallace. The design of the zinc modelling language. Constraints, 13(3):229--267, 2008.
[23]
I. Neamtiu and T. Dumitras. Cloud software upgrades: Challenges and opportunities. In Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA), 2011 International Workshop on the, pages 1--10, Sept. 2011.
[24]
N. Nethercote, P. J. Stuckey, R. Becket, S. Brand, G. J. Duck, and G. Tack. Minizinc: Towards a standard CP modelling language. In Principles and Practice of Constraint Programming (CP), pages 529--543, 2007.
[25]
Normation. Rudder -- open source automation & compliance. https://www.rudder-project.org/. Retrieved April 2014.
[26]
Opscode. Chef. http://www.opscode.com/chef/. Retrieved October 2013.
[27]
Puppet Labs. Marionette collective. http://docs.puppetlabs.com/mcollective/. Retrieved October 2013.
[28]
RedHat. Augeas -- a configuration API. http://augeas.net/. Retrieved April 2014.
[29]
C. Schulte, M. Lagerkvist, and G. Tack. Gecode. http://www.gecode.org/. Retrieved October 2013.
[30]
P. J. Stuckey, M. G. de la Banda, M. Maher, J. Slaney, Z. Somogyi, M. Wallace, and T. Walsh. The G12 project: Mapping solver independent models to efficient solutions. In International Conference on Logic Programming (ICLP), volume 3668 of LNCS, pages 9--13, 2005.
[31]
S. van der Burg, E. Dolstra, and M. de Jonge. Atomic upgrading of distributed systems. In Hot Topics in Software Upgrades, pages 1--5. ACM, 2008.
[32]
VMWare. Cloud Foundry, deploy & scale your applications in seconds. Retrieved October 2013, http://www.cloudfoundry.com/.

Cited By

View all
  • (2024)A Survey on Modeling Languages for Applications Hosted on Cloud-Edge Computing EnvironmentsApplied Sciences10.3390/app1406231114:6(2311)Online publication date: 9-Mar-2024
  • (2024)Towards Sustainable Deployment of Microservices over the Cloud-IoT Continuum, with FREEDAProceedings of the 4th Workshop on Flexible Resource and Application Management on the Edge10.1145/3659994.3660311(1-4)Online publication date: 3-Jun-2024
  • (2024)Ceaml: A novel modeling language for enabling cloud and edge continuum orchestrationSoftware and Systems Modeling10.1007/s10270-024-01222-9Online publication date: 21-Nov-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '14: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
September 2014
934 pages
ISBN:9781450330138
DOI:10.1145/2642937
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automation
  2. cloud
  3. components
  4. deployment
  5. software architecture
  6. synthesis

Qualifiers

  • Research-article

Funding Sources

Conference

ASE '14
Sponsor:

Acceptance Rates

ASE '14 Paper Acceptance Rate 82 of 337 submissions, 24%;
Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A Survey on Modeling Languages for Applications Hosted on Cloud-Edge Computing EnvironmentsApplied Sciences10.3390/app1406231114:6(2311)Online publication date: 9-Mar-2024
  • (2024)Towards Sustainable Deployment of Microservices over the Cloud-IoT Continuum, with FREEDAProceedings of the 4th Workshop on Flexible Resource and Application Management on the Edge10.1145/3659994.3660311(1-4)Online publication date: 3-Jun-2024
  • (2024)Ceaml: A novel modeling language for enabling cloud and edge continuum orchestrationSoftware and Systems Modeling10.1007/s10270-024-01222-9Online publication date: 21-Nov-2024
  • (2024)The Hrewrite Library: A Term Rewriting Engine for Automatic Code AssemblyRewriting Logic and Its Applications10.1007/978-3-031-65941-6_9(165-178)Online publication date: 6-Apr-2024
  • (2023)Component-based Distributed Software Reconfiguration:A Verification-oriented SurveyACM Computing Surveys10.1145/359537656:1(1-37)Online publication date: 26-Aug-2023
  • (2023)Tailoring Technology-Agnostic Deployment Models to Production-Ready Deployment TechnologiesCloud Computing and Services Science10.1007/978-3-031-21637-4_1(1-24)Online publication date: 1-Jan-2023
  • (2022)SMT-Based Planning Synthesis for Distributed System ReconfigurationsFundamental Approaches to Software Engineering10.1007/978-3-030-99429-7_15(268-287)Online publication date: 4-Apr-2022
  • (2021)Multi-Dependency and Time Based Resource Scheduling Algorithm for Scientific Applications in Cloud ComputingElectronics10.3390/electronics1011132010:11(1320)Online publication date: 31-May-2021
  • (2021)Scalable Optimal Deployment in the Cloud of Component-based Applications using Optimization Modulo Theory, Mathematical Programming and Symmetry BreakingJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2021.100664(100664)Online publication date: Feb-2021
  • (2021)Boreas – A Service Scheduler for Optimal Kubernetes DeploymentService-Oriented Computing10.1007/978-3-030-91431-8_14(221-237)Online publication date: 22-Nov-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media