Modern software applications need to accomodate many technical and business demands. Over the past decade, the dominant industry trend has been to decompose applications into smaller microservices and to deploy them as composition atop various cloud platforms and devices. More recently, more suitable abstractions were proposed to build and describe such software. Software becomes adaptive, liquid and osmotic within a continuum of computing resources, ranging from high-end data centres (e.g. HPC) and multiple clouds over fog/edge/middlebox systems to sensors and end user devices including machines and mobile phones.
The crucial step between authoring software applications and serving their functionality to the world is the deployment. Various approaches to deploy to continuums have been proposed, but most of them automagically arrive at a (presumably) suitable solution in terms of placing software components such as microservices across the infrastructure and platforms. We analysed the problems associated with such approaches and postulate that while fully automated approaches have their place, we need to complement them with interactive, guided and explainable deployment decisions. As application packaging improves (SAM, Helm, OAM, TOSCA, CAMEL), this new approach becomes increasingly relevant.
At the 35th International Conference on Advanced Information Networking and Applications (AINA 2021), a workshop dedicated to Multi-Clouds and Mobile Edge Computing (M²EC) took place, supported by the European H2020 project MELODIC, where we presented our approach Continuum Deployer along with an open source tool implementation. The main work on the implementation was conducted by Daniel Hass. Have a look at the presentation slides below and at the tool, and let us know of any feedback!