Automatic Deployment of Software Components in the Cloud with the Aeolus Blender

Cloud computing allows to build sophisticated software sys-tems on virtualized infrastructures at a fraction of the cost that was necessary just a few years ago. The deployment of such complex systems, though, is still a serious issue due to the need of deploying a large number of packages and services, their elaborated interdependencies, and the need to define the (ideally optimal) allocation of software compo-nents onto available computing resources. In this paper we present the Aeolus Blender (Blender in the following), a toolchain that automates the assembly and deployment of complex component-based software systems in the "cloud". By relying on a configuration optimizer and a deployment planner, Blender fully automates the deploy-ment of real-life cloud applications on OpenStack infrastruc-tures, by exploiting a knowledge base of software compo-nents defined in the Mandriva Armonic tool-suite. The final deployment is guaranteed to satisfy not only user require-ments and software dependencies, but also to be optimal with respect to the number of used virtual machines.

[1]  Rupak Majumdar,et al.  Engage: a deployment management system , 2012, PLDI '12.

[2]  Roberto Di Cosmo,et al.  Aeolus: Mastering the Complexity of Cloud Application Deployment , 2013, ESOCC.

[3]  Roberto Di Cosmo,et al.  Automated synthesis and deployment of cloud applications , 2014, ASE.

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

[5]  Goetz Botterweck,et al.  Consistency checking for the evolution of cardinality-based feature models , 2014, SPLC.

[6]  Judith Kelner,et al.  CloudML: An Integrated Language for Resource, Service and Request Description for D-Clouds , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

[7]  Gianluigi Zavattaro,et al.  Automatic Component Deployment in the Presence of Circular Dependencies , 2013, FACS.

[8]  Gerhard Wickler,et al.  Automated Planning for Configuration Changes , 2011, LISA.

[9]  Gianluigi Zavattaro,et al.  A Planning Tool Supporting the Deployment of Cloud Applications , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

[10]  Roberto Di Cosmo,et al.  Aeolus: A component model for the cloud , 2014, Inf. Comput..

[11]  Andrew D. Gordon,et al.  A Declarative Approach to Automated Configuration , 2012, LISA.

[12]  Mark Burgess,et al.  A Site Configuration Engine , 1995, Comput. Syst..

[13]  Herry Herry,et al.  Planning With Global Constraints for Computing Infrastructure Reconfiguration , 2012 .

[14]  Dennis Heimbigner,et al.  Deployment and dynamic reconfiguration planning for distributed software systems , 2007, Software Quality Journal.