Development of Adaptive Multi-cloud Applications - A Model-Driven Approach (original) (raw)
Related papers
Model-based Adaptation of Cloud Computing Applications
International Conference on Model-Driven Engineering and Software Development, Special Session on Model-driven Software Adaptation
In this paper we propose a provider-managed, model-based adaptation approach for cloud computing applications, allowing customers to easily specify application behavior goals or adaptation rules. Delegating control over corrective actions to the cloud provider will pose advantages for both, customers and providers. Customers are relieved of effort and expertise requirements necessary to build sophisticated adaptation solutions, while providers can incorporate and analyze data from a multitude of customers to improve adaptation decisions. The envisioned approach will enable increased application performance, as well as cost savings for customers, whereas providers can manage their infrastructure more efficiently.
Towards model-driven provisioning, deployment, monitoring, and adaptation of multi-cloud systems
In the landscape of cloud computing, the competition between providers has led to an ever growing number of cloud solutions offered to consumers. The ability to run and manage multi-cloud systems (i.e., applications on multiple clouds) allows exploiting the peculiarities of each cloud solution and hence optimising the performance, availability, and cost of the applications. However, these cloud solutions are typically heterogeneous and the provided features are often incompatible. This diversity hinders the proper exploitation of the full potential of cloud computing, since it prevents interoperability and promotes vendor lock-in, as well as it increases the complexity of development and administration of multi-cloud systems. This problem needs to be addressed promptly. In this paper, we provide a classification of the state-of-the-art of cloud solutions, and argue for the need for model-driven engineering techniques and methods facilitating the specification of provisioning, deployment, monitoring, and adaptation concerns of multi-cloud systems at design-time and their enactment at run-time.
MODAClouds: A model-driven approach for the design and execution of applications on multiple Clouds
2012
Cloud computing is emerging as a major trend in the ICT industry. While most of the attention of the research community is focused on considering the perspective of the Cloud providers, offering mechanisms to support scaling of resources and interoperability and federation between Clouds, the perspective of developers and operators willing to choose the Cloud without being strictly bound to a specific solution is mostly neglected. We argue that Model-Driven Development can be helpful in this context as it would allow developers to design software systems in a cloud-agnostic way and to be supported by model transformation techniques into the process of instantiating the system into specific, possibly, multiple Clouds. The MODAClouds (MOdel-Driven Approach for the design and execution of applications on multiple Clouds) approach we present here is based on these principles and aims at supporting system developers and operators in exploiting multiple Clouds for the same system and in migrating (part of) their systems from Cloud to Cloud as needed. MODAClouds offers a quality-driven design, development and operation method and features a Decision Support System to enable risk analysis for the selection of Cloud providers and for the evaluation of the Cloud adoption impact on internal business processes. Furthermore, MODAClouds offers a run-time environment for observing the system under execution and for enabling a feedback loop with the design environment. This allows system developers to react to performance fluctuations and to re-deploy applications on different Clouds on the long term.
Towards Model-Driven Multi-Cloud Resource Management
2016
Multi-Cloud computing has established itself as a paradigm of choice for acquiring resources from different providers and get the best of each of them to run their applications. However, managing resources in Multi-Cloud remains a challenging task. Several multi-cloud libraries based approaches include Apache Libcloud, Apache jclouds, δ-cloud, Daseincloud, fog, and pkgcloud exist in the cloud market. But these are still low level as Multi-Cloud management tasks must always be programmed. Therefore, application platforms are need to help developers to succeed. In this paper we give a model-driven approach for managing resources of multiple clouds at high level. We illustrate our proposal by providing a prototype of Multi-Cloud Designer for managing resource from multiple clouds.
Identifying adaptation needs to avoid the vendor lock-in effect in the deployment of cloud SBAs
Proceedings of the 2nd International Workshop on Adaptive Services for the Future Internet and 6th International Workshop on Web APIs and Service Mashups on - WAS4FI-Mashups '12, 2012
Cloud computing has emerged as a new paradigm where IT resources are offered by cloud providers in a flexible and elastic way. However, the use and development of cloud services has not been standardized, thereby deriving in migratability and interoperability difficulties. Different standardization initiatives exist seeking to normalize this situation, however none has predominated and a generalized consensus has not been reached. Consequently, several alternatives have been proposed based on the use of intermediate layers or middlewares seeking to isolate developers from the variability of specific cloud vendor services. These approaches provide a valid solution at the risk of shifting the lock-in effect from vendors to middlewares. In this paper, we explore an alternative solution based on the use of software adaptation (SA) techniques. Different guidelines are presented as the basis of an approach that will favor cloud application interoperability and migratability thereby avoiding vendor lock-in.
Assisting Cloud Service Migration Using Software Adaptation Techniques
2013 IEEE Sixth International Conference on Cloud Computing, 2013
The different implementations of cloud computing services developed by each cloud vendor have resulted in a heterogeneity of APIs and libraries which most developers of cloud-based applications must fight to understand. This so called vendor lock-in effect leads to a substantial increment on the development effort required to switch the initially selected cloud service used by an application to a different one. Different initiatives have emerged to solve this problem, such as standardization attempts, and intermediate systems or middlewares. Instead, our approach makes use software adaptation techniques for tackling the vendor lock-in problem and facilitating the development of cloud applications that are not coupled to any specific platform. In this paper, a case study application is presented in order to illustrate how the vendor lock-in effect appears and to make an estimation of the effort required for its migration to a different platform. This way we show the benefits of our approach for reducing the cloud service migration efforts. Such solution is sketched briefly, and the main steps of the adaptation process are described.
Model Driven Framework for the Configuration and the Deployment of Applications in the Cloud
2016
Cloud computing offers a distributed computing environment where applications can be deployed and managed. Many companies are seeing substantial interest to extend their technical infrastructure by adopting cloud infrastructures. Although the choice of such an environment may seem advantageous, users are faced with many challenges, especially with regard to deployment and migration of applications in the Cloud. To address some of these challenges, we propose a new approach based on modeldriven engineering techniques (MDE), called MoDAC-Deploy, for the assistance to the configuration and the deployment of applications in the Cloud. This paper focuses on the design and the implementation of our approach. In fact, we developed a model-driven Framework with generative mechanisms to simplify and to automate cloud services deployment process, to overcome APIs heterogeneity, to minimize the vendor lock-in and to enable application portability among different cloud infrastructures by reusin...
Towards Uniform Management of Cloud Services by Applying Model-Driven Development
2014 IEEE 38th Annual Computer Software and Applications Conference, 2014
Popularity of Cloud Computing produced the birth of Everything-as-a-Service (XaaS) concept, where each service can comprise large variety of software and hardware elements. Although having the same concept, each of these services represent complex systems that have to be deployed and managed by a provider using individual tools for almost every element. This usually leads to a combination of different deployment tools that are unable to interact with each another in order to provide an unified and automatic service deployment procedure. Therefore, the tools are usually used manually or specifically intergrated for a single cloud service, which on the other hand requires changing the entire deployment procedure in case the service gets modified. In this paper we utilize Model-driven development (MDD) approach for building and managing arbitrary cloud services. We define a metamodel of a cloud service called CoPS, which describes a cloud service as a composition of software and hardware elements by using three sequential models, namely Component, Product and Service. We also present an architecture of a Cloud Management System (CMS) that is able to manage such services by automatically transforming the service models from the abstract representation to the actual deployment. Finally, we validate our approach by realizing three real world use cases using a prototype implementation of the proposed CMS architecture.
Enhancing Cloud SAAS Development with Model Driven Architecture
International Journal on Cloud Computing: Services and Architecture, 2011
Cloud computing is a leading edge computing paradigm in which massively scalable and dynamically configured resources are offered remotely as services, over a network. With rapid transitions in hardware and software technologies, as witnessed in the recent years, the biggest challenge posed to the IT industry is technology obsolescence. Consequently, there arises a need for a software development approach that could mitigate the undesirable effects of technology change. The Model Driven Architecture (MDA) approach to software development becomes an obvious choice. In this approach, the models drive the process of software development. These models are specified at different levels of abstraction and automated tools are used for model-to-model and model-to-code transformations between the levels. In this paper, the authors endeavour to explore the MDA approach for developing cloud software applications so that the ensuing software solutions are more robust, flexible and agile, in the wake of constantly evolving technologies.
The CloudMIG Approach: Model-Based Migration of Software Systems to Cloud-Optimized Applications
2011
Cloud computing provides means for reducing over-and under-provisioning through enabling a highly flexible resource allocation. Running an existing software system on a cloud computing basis can involve extensive reengineering activities during the migration. To reduce the correspondent effort, it is often possible to deploy an existing system widely unmodified in IaaS VM instances. However, this simplistic migration approach does not solve the challenge of overand under-provisioning or scalability issues per se, as our experiments using Eucalyptus and the popular open source system Apache OFBiz show. Moreover, current migration approaches suffer from several further shortcomings. For example, they are often limited to specific cloud environments or do not provide automated support for the alignment with a cloud environment. We present our model-based approach CloudMIG which addresses these shortcomings. It aims at supporting SaaS providers to semi-automatically migrate existing enterprise software systems to scalable and resource-efficient PaaS and IaaS-based applications. To facilitate reasoning about the suitability of certain cloud environments for a given system and the degree of alignment during the reengineering process, we introduce the Cloud Suitability and Alignment (CSA) hierarchy. For example, Apache OFBiz used in our experiments is initially categorized "cloud compatible" but not "cloud optimized" as it does not exploit the cloud's advantages.