Cloud apps to-go: Cloud portability with TOSCA and MiCADO


As cloud adoption increases, so do the number of available cloud service providers. Moving complex applications between clouds can be beneficial—or other times necessary—but achieving this so-called cloud portability is rarely straightforward. This article presents the adoption of OASIS TOSCA, a standard in the declarative description of cloud applications, to encourage and facilitate cloud portability in MiCADO, an application-level multi-cloud orchestration and auto-scaling framework. The interface to MiCADO is an Application Description Template, which draws from the TOSCA specification to describe an application in MiCADO. The generic design of these templates is presented and their applicability for achieving portability between different container and cloud environments is analysed and evaluated. A proof-of-concept where MiCADO serves as the deployment and execution engine for a Science Gateway in Sleep Healthcare is then described. In this proof-of-concept, MiCADO facilitates the deployment of a complex healthcare application, which is then moved from one cloud service provider to another with only minimal changes to the template which originally described it. This TOSCA-based approach to templates in MiCADO encourages movement between clouds by making cloud portability more approachable.

Concurrency and Computation