Dynamic Automated Selection and Deployment of Software Components within a Heterogeneous Multi-Platform Environment
Summary
Cloud computing is a new paradigm in computing where both services and infrastructure are provided on a pay-as-you-go basis. In particular, Platform as a Service (PaaS) offerings are becoming popular as it requires less maintenance than the more traditional Infrastructure as a Service (IaaS) offerings. The cloud environment however is highly dispersed, subsequently creating a heterogeneous environment. Each cloud provider is different, and using multiple providers or migrating to another cloud is very time consuming and therefore, expensive.
The multi-cloud paradigm optimizes to decrease costs and optimizing quality by leveraging multiple cloud providers simultaneously. With cloud providers not standardizing anytime soon, one solution to decrease migration costs is by developing a multi-cloud broker that is able to deploy an application to multiple cloud providers. In addition, the mere fact that multiple cloud providers are now available for use adds the question of where to deploy a software application.
This research therefore proposes a method that can automatically select, configure, and deploy an application within this highly heterogeneous cloud environment. Modeling both the application and the cloud environment is achieved through combining the modeling language TOSCA and feature models. By adding user-defined constraints such as costs and hardware configurations, it becomes possible to select an optimal cloud provider for each application component. The now generated deployment scenario is then automatically deployed to the selected cloud providers. A prototype implements by combining the design science methodology with experimentation.
The PaaS environment is more dispersed than expected. Many implementation differences exist between each cloud provider and the question arises whether any commercial incentive may exist for developing such a flexible method. In particular, we find that a proper model is needed that describes the PaaS environment, capturing all differences and similarities. As not much research yet exists that tackles this problem specifically for the PaaS environment, our findings can prove to be an initial starting point for such an attempt.