The New Holy Grail: Application Portability in the Cloud
How PaaS can empower the real-world enterprise and deliver on the promise of the cloud
By: Diane Mueller
Apr. 13, 2012 08:00 AM
Today's enterprise is built on the promises of mobility, everywhere-access and flexibility. We work on multiple devices when and where we want - at the office, on the road or at home. We expect full access to our data and applications - on a sales call, in a boardroom or on a cross-continental flight. And we expect to be able to transfer our data seamlessly between platforms -on a mobile device, on the desktop or in the cloud.
Why should enterprise cloud application data be any different? Enterprises housing apps in the cloud should expect to be able to position application data to optimize service, ensure regulatory compliance and preserve privacy. Application portability is a mission-critical demand of the real-world enterprise, and yet it's a need left unfulfilled by public cloud providers.
Why Move Apps to the Cloud?
What Does Cloud Portability Really Mean?
The Need for Speed...and New Switching Costs
Impediments to Portability
Let's be fair: Signing up for a service provider requires trust and dependence on that vendor. But the real-world enterprise CIO should be able to preserve some semblance of flexibility in developing and deploying applications. The ideal scenario in moving from one cloud service provider to another is a seamless service experience. By increasing service and application portability in a neutral and standardized cloud vendor ecosystem, portable deployment to any cloud can become possible.
Building apps on open, portable standards is one way to limit the costs (and risks) of vendor lock-in. But the real-world enterprise demands more than such a simple, so-called "greenfield" solution: the holy grail of cloud application portability is the smooth migration of existing applications.
Getting to the Holy Grail of Cloud Application Portability
Sounds great! But how to get there when cloud service providers operate with competing frameworks and unique specifications?
When an application is pushed to a new cloud, there are many interdependencies that must be identified and re-evaluated. Service providers frequently toss around "standard" terms like service, application composition, orchestration and platform, yet these terms can differ in meaning from provider to provider, and in practice, dramatically affect (or even thwart) cloud application interoperability.
Formal industry standards for cloud interoperability are still being developed. The Organization for the Advancement of Structured Information Standards (OASIS), a not-for-profit consortium that drives the development, convergence and adoption of open standards, has formed TOSCA (Topology and Orchestration Specification for Cloud Applications), a technical working group created to develop a description of application and infrastructure cloud services, and to define the relationships and operational behavior of these services independent of suppliers and hosting technology.
TOSCA aims to make it possible for higher-level operational behavior to be associated with cloud infrastructure management. Having an interoperable description of all the application and infrastructure cloud services, the relationship between parts of any service, and the operational behavior of the services independent of the supplier creating the service will enhance the portability of cloud applications and services.
We are a long way from cloud interoperability standards. What's the best option in the meantime? A Platform-as-a-Service (PaaS) layer.
How PaaS Solves the Interoperability Problem
Until interoperability standards are in place, running cloud apps requires an elastic application middleware layer - a PaaS. A PaaS sits between the software and the infrastructure, providing everything necessary for an application to run: hardware (virtualized or not), operating system, database, language runtime, modules, and web framework. A PaaS can be deployed on multiple hypervisors and on different types of Infrastructure-as-a-Service (IaaS) foundations. In a three-tiered cloud computing model, the PaaS layer lies between the application and the IaaS, and provides the elastic middle layer and solution stack as a service that allows for portability - so applications can be pushed (or migrated) to any cloud with little or no reengineering required.
Private PaaS: Metaphorical "Bubble-wrap" for Enterprise Applications
A private PaaS layer offers the same advantages as a public cloud - scalability, efficiency, elasticity, etc. - but also provides the additional security, control, and customization afforded by dedicated resources.
A private PaaS is operated for a specific organization, either by the organization itself or by a third-party. Private PaaS - whether hosted on-premise or off, in a public, private, or hybrid environment - is about control; it is operated for a specific organization, either by the organization itself or by a third party.
For instance, implementation behind a corporate firewall can ensure data privacy, security, and control. That makes sense for large enterprises with specific IT security requirements that can't be reasonably met with a shared-resource public cloud model. And compatibility is never guaranteed. Even if a public-cloud hosting provider offers a PaaS, that vendor might not know how to install, deploy, run, and manage every specific application(s) of a particular real-world enterprise.
Private PaaS: Not Just for Private Cloud Anymore
Want Control? Flexibility? Portability? Get a PaaS
Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week