ActiveBlog

Cloud Application Portability: The Holy Grail of Cloud Computing
by Diane Mueller

Diane Mueller, December 20, 2011

Portable application deployment to any cloud hosting provider is the Holy Grail of cloud computing. When cloud portability depends upon the supplier creating the cloud service, the cloud provider, or the hosting technology, applications have provisioning and configuration dependencies that create vendor lock-in, preventing organizations from realizing cloud benefits like reduced costs and deployment flexibility.

Want to migrate some or all of your private cloud to a community or public cloud? You need cloud portability. Want cloud portability now? You need private PaaS.

Conflicting (or absent) cloud-interoperability standards complicate application portability

Cloud service providers frequently toss around terms like “service,” “application composition,” “orchestration,” and “platform.” But those terms often have differing meanings depending on the source. It should come as no surprise that re-deploying your application to a different cloud will require some reengineering, particularly to ensure configuration of required cloud services like databases or web servers. Unclear or conflicting terminology can make it difficult to switch between cloud platforms, and can obscure a cloud hosting provider’s basic capabilities (and/or limitations). When an application is pushed to a new cloud, interdependencies must be identified and reevaluated, with details and values reentered and checked at each stage.

Understanding your application`s cloud requirements

There are no formal standards describing cloud interoperability—specifically, your application’s migration requirements. There are some standard practices (like adding a “requirements.txt” file containing modules and packages lists to the app root), but they do not offer enough detail about data services and cloud-configuration dependencies that your app will require to scale securely and run on the (new) cloud. Several cloud-orchestration and scripting approaches—such as Right Scale, Enstratus, Dell Crowbar, Puppet, Chef—ease the burden of repeat deployment to the same cloud, but no equivalent models exist for porting an application to a new cloud model.

Standards are emerging slowly

In lieu of fully-defined cloud-computing migration standards, some vendors make their APIs public, and push their own implementation models. These vendors understandably act in their own self-interest, creating vendor lock-in to drive revenue and market share in the hope their implementation becomes a de facto standard.

However, cloud-portability standardization discussions are starting to happen. OASIS has recently brought together enterprise cloud vendors to form the TOSCA technical committee, an org tasked with defining application and infrastructure cloud services interoperability standards, relationships between parts of the service, and specific service operational behavior (e.g., deploy, patch, shutdown). But getting industry competitors (TOSCA participants include heavy lifters like IBM, CA, SAP, Citrix, RedHat, and ActiveState) to agree on interoperability standards is a daunting—and laborious—process, and market adoption is not guaranteed.

Want cloud portability? Only Platform-as-a-Service delivers it now

Platform-as-a-Services (PaaS) solutions like ActiveState Stackato can be deployed on multiple hypervisors or on different flavors of IaaS, and offer another way forward to cloud portability. A PaaS provides a computing platform and a solution stack as a service. In the three-tiered cloud-computing model, the PaaS layer lies between the SaaS and the IaaS layers.

A PaaS such as Stackato can be deployed on either a Public or Private Cloud running on VMWare’s vSphere, Amazon’s EC2, or OpenStack. Stackato provides a layer of abstraction on top of the IaaS layer.

Applications deployed on a Stackato-enabled cloud platform can be moved to a different cloud model easily and painlessly, with little to no reengineering. This keeps your application (and your business) from being locked into a single cloud-hosting provider, and gives you the flexibility of choosing the right provider to meet your organization’s needs.

How does Stackato’s cloud-portability approach work?

Stackato automatically reads your application’s top-level “requirements.txt” file, and installs any packages you've defined—Handling dependencies is completely transparent during the staging process.
 
Stackato goes one step further and encapsulates your application's cloud configuration. Your application’s cloud configuration is persisted using YAML in the top-level “stackato.yml“ file. The “stackato.yml“ file holds various installation details for your app, removing the need to enter those details each time the app is pushed, and ensuring values are the same each time.

When you use Stackato’s database services, your application’s code uses connection details provided as environment variables. These environment variables give your application the flexibility to point to database services wherever they reside.

Deploying Stackato as the PaaS layer on your choice of cloud enables portable deployment to any Stackato-enabled cloud. Stackato’s approach to application deployment and wealth of enterprise-class languages, frameworks, and services ease the migration of your existing applications to the cloud, and ensure that your organization can take advantage of lower costs as the competition among cloud hosting providers ramps up in the coming year and drives down pricing.

Platform-as-a-Service may be not the holy grail of cloud application portablity, but the PaaS's ability to abstract away the differences between cloud computing infrastructure providers and an enterprise solution stack makes it easier to port applications between cloud platforms, enables more-flexible application management, and helps you avoid vendor lock-in (today, not tomorrow).

Subscribe to ActiveState Blogs by Email

Share this post:

Category: stackato
About the Author: RSS

Diane Mueller is a Cloud Evangelist at ActiveState. She has been designing & implementing financial applications at Fortune 500 corporations for over 20 years. Diane has been actively involved in development efforts of XBRL Open Standard (http://www.xbrl.org) since 1999.

Comments

1 comments for Cloud Application Portability: The Holy Grail of Cloud Computing
Permalink

Keep your eyes peeled for our upcoming webcast about cloud portability! Details available early next week.

Watch twitter.com/activestate and activestate.com/webinars for details shortly.