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.
