Development of Adaptive Multi-cloud Applications - A Model-Driven Approach (original) (raw)

Cloud computing is a new paradigm that allows users to access computing resources in a dynamic, flexible and scalable manner. It has drawn the interest of multiple users, and in a short period of time it has experienced a notorious hype. However, its numerous strengths are mitigated by the lack of standardization which the technology suffers from. Different cloud vendors provide and manage similar resources in a different manner, thereby coupling the application to its targeted cloud. Companies that consume cloud services are locked-in to a single cloud vendor due to the high costs of migrating software in the cloud, preventing them from changing their cloud provider or having multiple providers. In this paper we explore a solution to the cloud vendor lock-in problem based on the use of model-driven engineering and software adaptation techniques. The proposed solution is both cloud vendor and user friendly as it allows the former to freely define their own cloud policies, whilst users continue to be free to choose a cloud provider, even after the application has been developed.