3 simple rules for migrating legacy applications to the cloud

HP's cloud guru shares the basic formula for breaking down applications into chunks, abstracted as loosely coupled web services.

“Is the cloud all about transforming the way existing applications are running and experienced by the user or should cloud be focused on innovation and the support of new activities?”

That's the question posed recently by Christian Verstraete, HP's chief technologist for cloud strategy. Migration to the cloud, as Verstraete defines it, means service -- "the user can provision an instance of the application from the service catalog automatically."

SOA experience really can help in deciding the what and how of moving applications to cloud-based services, Verstraete says. Moving to the cloud means abstracting pieces of applications as various services. For example, he says, an application such as a production scheduling tool is one service. Or, on a more complex level, "an order entry system includes multiple services including, but not limited to, entry of a new order, order modification, order deletion, order fulfillment and order status look-up."

And, if an application is already supported within a virtual environment, the transition to cloud is more doable. If in a more traditional or legacy environment, Verstraete lays out three ways to transform an application to loosely coupled cloud services:

1. Create a series of web services, and use them to front-end the application. "Each web service invokes one function within the existing application. The web services are included in the cloud environment and all rely on the application running in a separate environment that may run in a physical, a virtual partition or in a traditional environment (hybrid delivery)."

2. Re-architect the application and create the services that will be provisioned by the users. "Each will run in a separate virtual environment, while a separate physical or virtual environment containing the common data structure is created and made visible to all appropriate services. The link between the service and the data structure is configured at provisioning time."

3. Replace the application. "The application is replaced by existing services, and then you may want to look at SaaS services as long as they support your security and compliance requirements, or rewritten."

For SOA proponents, this all has a familiar ring.