Avoiding Lock-In: Timely Reconfiguration of a Virtual Cloud Platform on Top of Multiple PaaS and IaaS Providers (original) (raw)
Related papers
PaaS-independent Provisioning and Management of Applications in the Cloud
Study of existing cloud platforms shows that their operating requires the use of specific and proprietary APIs. This PaaS providers' policy is hampering the interactions between different clouds. If appropriate solutions are not considered, this issue would for instance slow down the democratization of clouds federation and cooperation. In this paper, we propose (i) a unified description model that allows to represent a PaaS application independently of the targeted PaaS and (ii) a generic PaaS application provisioning and management API (*-PaaS API). Our proposed solution applies the separation of concerns principle by separating the provisioning and the management API from the defined description model. We motivate our solution with real use case scenarios and an implementation to show its feasibility.
Journal of Network and Systems Management, 2014
Traditional cloud computing providers enable developers to program and deploy applications in the cloud by using platform as a service (PaaS) providers. Despite the benefits of such an approach, this service model usually comes with a high level of the lock in effect into the service provider. The lock in effect occurs when a software developer needs to change its cloud provider. When this happens, it usually means a major application rewrite, specific for the new PaaS. This paper details the initial results of a project whose goal is to build a PaaS where vendor lock in does not occur. With this PaaS, developers wishing to deploy their applications into the cloud may continue to program using their usual development environments. There are no necessary changes required to make the application PaaS compatible. As a proof of concept, we developed an open source PaaS management application as a regular web application and then deployed it on the cloud.
Cloud brokering mechanisms for optimized placement of virtual machines across multiple providers
Future Generation Computer Systems, 2012
The last few years we have witnessed the proliferation of a heterogeneous ecosystem of cloud providers, each one with a different infrastructure offer and pricing policy. We explore this heterogeneity in a novel cloud brokering approach that optimizes placement of virtual infrastructures across multiple clouds and also abstracts the deployment and management of infrastructure components in these clouds. The feasibility of our approach is evaluated in a high throughput computing cluster case study. Experimental results confirm that multi-cloud deployment provides better performance and lower costs compared to usage of a single cloud only.
A Marketplace Broker for Platform-as-a-Service Portability
Platform as a Service (PaaS) has become a strong technological solution in particular for small medium enterprises (SMEs) to achieve cost savings and rapid time to market of their software solutions. However, for SMEs how to choose the PaaS provider becomes a bottleneck due to the number of offerings each PaaS vendor offers. Another challenge often faced by enterprises is how to match their software system requirements to PaaS offerings. Furthermore, searching for the best PaaS offering is even more difficult when enterprises need to migrate their existing software solutions from one PaaS vendor to another. In such cases, the portability of the enterprises data and application components becomes cumbersome. If their software solutions are bound to a specific PaaS provider, enterprises suffer from vendor lock-in. This paper addresses these portability challenges by proposing a high-level architecture to ease the portability of software solutions over PaaS vendors taking into consideration the various life-cycle stages, such as identifying and analysing Paas offerings in the market; selecting the best PaaS offering according to organisation's requirements; and the deployment, management, and monitoring of the software solutions.
Optimising Development and Deployment of Enterprise Software Applications on PaaS: the CAST Project
seerc.org
Platform as a Service (PaaS) is a concept whereby a computing platform and a software development stack are being offered as a combined service to prospective application developers. This model has been shown to carry a great number of benefits for developers and PaaS providers alike, and represents an important trend within cloud computing today. However, the design of mature platforms to support this model to its full extent remains a complex and challenging undertaking for enterprise application PaaS providers. The aim of this paper is to present the approach that is being undertaken within research project CAST to realise a platform that pushes the envelope of PaaS facilities and addresses the challenges associated with optimising application reusability, extensibility, configurability, integrability, and manageability. The ultimate aim is to create a software platform that fosters the creation of an ecosystem, thus pursuing the PaaS vision to its fullest extent possible.
A Case Study for Deploying Applications on Heterogeneous PaaS Platforms
2013 International Conference on Cloud Computing and Big Data, 2013
Platform-as-a-Service (PaaS) model provides developers with the ability to deploy and manage their applications remotely through the cloud and pay only for actual usage hours. Currently, there is no standard API for PaaS management and deployment; each PaaS provider has its own specific APIs (e.g., Google AppEngine (GAE), OpenShift (OS), Cloud Foundry (CF), and Windows Azure). Therefore, deploying applications on heterogeneous PaaS platforms is considered one of the challenges that make some developers worry about using PaaS services. Such challenge can be solved by providing a standard or a generic API that overcomes PaaS API heterogeneity. The aim of this paper is to report on our effort to use and extend a generic API, namely the COAPS API, which supports deployment and management on Cloud Foundry and OpenShift. According to the work in this paper, an extension of the COAPS API is provided to include the deployment on Google AppEngine as a case study to demonstrate COAPS API generality.
Challenges for the comprehensive management of Cloud Services in a PaaS framework
2012
The 4CaaSt project aims at developing a PaaS framework that enables flexible definition, marketing, deployment and management of Cloud-based services and applications. This paper describes the major challenges tackled by 4CaaSt for the comprehensive management of applications and services in a PaaS. These challenges involve the blueprint language to describe applications in the cloud and its lifecycle management, as well as a one stop shop for Cloud services and a PaaS level resource management featuring elasticity and advanced Network as a Service capabilities. 4CaaSt also provides a portfolio of ready to use Cloud native services and Cloud enabled immigrant technologies. The evaluation process followed to assess 4CaaSt progress is also described.
International Journal of Big Data Intelligence, 2016
The cloud platform-as-a-service (PaaS) model provides developers with the ability to deploy and manage their applications remotely in the cloud and pay only for actual usage hours. Currently, there is no standard API for PaaS deployment and management; each PaaS provider [e.g., Google AppEngine (GAE), OpenShift (OS), Cloud Foundry (CF), and Windows Azure] has its own proprietary APIs. This lack of standardisation adds a layer of complexity to application deployment and migration between heterogeneous PaaS platforms because of API incompatibility. A standard (generic) PaaS deployment API overcomes the previously mentioned PaaS API heterogeneity. A generic open-source API, namely the COAPS API, has been proposed to support deployment and management of applications on CF and OS PaaS platforms. This work implements COAPS deployment API to include the GAE PaaS. Whereas both CF and OS PaaS platforms use the same application packaging, deploying the same application on GAE requires application repackaging. We evaluated our work using a case study in which the same application is automatically deployed on CF and GAE.
PaaSHopper: Policy-driven middleware for multi-PaaS environments
Journal of Internet Services and Applications, 2015
Offering Software-as-a-Service (SaaS) applications on top of a Platform-as-a-Service (PaaS) platform is a promising strategy as the SaaS provider does not need to acquire and maintain private cloud infrastructure, and it enables him/her to enjoy the benefits of cloud scalability and flexiblity as well. However, as this entails losing some control over the application and its data, SaaS providers are in practice reluctant to migrate to a PaaS platform entirely. To alleviate such concerns of vendor lock-in, the concept of a multi-cloud involves integrating and combining multiple cloud environments, private as well as public, but also involving multiple providers and different technologies. This has the added benefit that it further improves overall availability, flexibility and scalability. Current support for multi-cloud applications however is limited. This paper presents PaaSHopper, a middleware platform for developing and operating multi-tenant SaaS applications in a multi-PaaS environment. It enables the SaaS provider to have fine-grained control over the execution of applications and the storage of application data, while offering the tenant some degrees of customization and self-service as well. Driven by stakeholder-specific policies, the middleware dynamically decides which requests and tasks are executed in a particular part of the multi-PaaS environment. We validated this work in the context of four realistic SaaS application cases on top of a multi-cloud consisting of a local JBoss Application Server cluster, Google App Engine, and Red Hat OpenShift.