The digital transformation from product to service economy means changes in the companies’ operating environment: they need to transform into service providers from product providers and be able to flexibly change their role in the value chain and markets. The main objective of the DECIDE project is to ease the servitization of the software industry by providing a new generation of framework for multi-cloud service-based software, enabling techniques and mechanisms to design, develop, and dynamically deploy multi-cloud aware applications in an ecosystem of reliable, interoperable, and legally secured cloud services. For DECIDE, a multi-cloud native application is a distributed application over heterogeneous cloud resources whose components are deployed on different Cloud Service Providers (CSPs) and still, they all work in an integrated way and transparently for the end-user. There are several reasons for deploying an application in a multi-cloud architecture, the most important ones being: dynamic switching in case of non-compliance of the CSPs to the agreed SLAs, avoidance of vendor lock-in, increasing reliability, ensuring service continuity or improving other QoS concerns such as increasing performance or security, and finally, reducing costs. The application types that would benefit the most from such a multi-cloud approach are on the one hand, those that are critical to the business and that need to respond efficiently to the user’s needs in terms of performance, reliability and security and on the other hand, complex applications whose components need to be distributed over different CSPs due to their specific needs and requirements.
Developing, deploying and operating multi-cloud applications present the following challenges:
- Applications need to be responsive to hybrid/multi-cloud model scenario, in which an application that is executing in a private cloud bursts into a public cloud when the demand for computing capacity spikes.
- Means shall be provided to manage and assess cloud deployment alternatives to better support cloud re-deployment decisions.
- Existing cloud services shall be made available dynamically, broadly and cross border, so that software providers can re-use and combine cloud services, assembling a dynamic and re-configurable network of interoperable, legally secured, quality assessed (against SLAs) single and composite cloud services, facilitating the free flow of data.
The main goal of DECIDE is to provide a new generation of multi-cloud services-based software framework, enabling techniques, tools and mechanisms to design, develop, operate, and dynamically (re-)deploy multi-cloud aware applications in an ecosystem of reliable, interoperable, and legal compliant cloud services. DECIDE provides architectural patterns and the needed supporting tools for developers and operators of multi-cloud application providers to develop and operate (following the DevOps approach), multi-cloud native applications that can be dynamically self-adapted and re-deployed using the “best” combination of cloud services in each moment (depending on the existing multi-cloud context considering both the multi-cloud application behaviour as well as the behaviour of the underlying used cloud offerings). Moreover, DECIDE enhances the trustworthiness of multi-cloud application providers towards buyers and users of the SaaS applications by setting up an ecosystem of trusted, interoperable and legally compliant cloud services and the required mechanisms to register, discover, compose, use and assess them.
DECIDE has been validated in three use cases with strict non-functional requirements (NFR): clinical research platforms, network management and high availability from a user centric perspective, and in another application from a developer centric point of view.