Cloud application architectures: When to redesign an app for the cloud

Not all legacy apps are cloud-ready, and some never will be. Providers must decide which apps to redesign to suit cloud application architectures.

As businesses take bolder steps into the cloud by moving a growing number of their most important applications there, cloud providers are finding they must wrestle with re-architecting legacy applications that were never designed for the cloud environment.

Although service providers say most apps can be redesigned to suit cloud application architectures, the task of re-architecting some applications can be more trouble than it's worth. The decision to adapt a legacy application to the cloud relies on one question: Does it make financial sense to commit the necessary manpower and money to reconfigure an app for the cloud?

"Just the fact that an app is not architected for the cloud is not a deal-breaker," said Sunil Bhargava, global portfolio executive for cloud and hosting at CSC, a cloud and managed services provider (MSP) based in Falls Church, Va. "We have never found something that could not be re-architected for the cloud, but we have found many that should not be re-architected because the cost is too high for the return on investment."

Redesigning apps for the cloud: Challenge or opportunity?

We have never found something that could not be re-architected for the cloud, but we have found many that should not be re-architected because the cost is too high.
Sunil Bhargavaglobal portfolio executive for cloud and hosting, CSC

In the earliest days of cloud, businesses used the cloud services conservatively -- mainly for application testing and development. But in the past few years, cloud providers have seen businesses gain more confidence in the technology, and now many customers are looking to apply the cloud's cost savings, agility and elasticity to business applications that are tied directly to a company's operations and revenue.

As a result, migrating business apps that don't conform to cloud application architectures is becoming both a challenge and an opportunity for providers.

"We have seen a big shift over the last two years especially," Bhargava said. "With the ongoing desire to improve efficiency, companies have run into a challenge. Whatever efficiency they could squeeze out of their staff, they've done. To get to the next level, they need to rewrite applications and modernize the whole process."

One of the goals of restructuring legacy apps for cloud application architectures is building in new resiliency, said Brian Snitzer, a distinguished engineer at IBM.

"As we're building for the cloud, we're rethinking what an app needs and expects of its infrastructure," Snitzer said. "We see this resiliency coming out, and it's the big design change that enables these things to be effective running on a lower-cost infrastructure."

In some cases, service providers can make relatively simple changes to an app to make it cloud-ready, such as changing hard-coded computer names to allow for cloud-friendly connections. Applications that are written for x86-based machines can typically be re-architected for the cloud with a modest amount of work, according to several cloud providers.

But it's not always so easy to bring an intricate application to the cloud, and in those cases, providers and their clients need to consider the price, time and complexity involved in the redesign and migration. These kinds of consultations with customers typically take three weeks to complete, Bhargava said.

Test and dev still matters

As the types of apps going into the cloud have evolved, cloud providers need to re-evaluate customer demands according to what this next generation of cloud applications should be able to do. Test-and-dev customers have far different expectations for their apps than clients with applications for a production environment.

"The world of test and dev is about doing something fast -- something that facilitates quick workflow," said Kevin Mondfrans, vice president of product management at Layered Tech, a cloud provider and MSP based in Plano, Texas. "But production users tend to be different. They care more about application performance, rapid provisioning, about how [providers] can respond with 24/7 phone support, and how they can build management tools around that."

At the same time, that doesn't mean abandoning one set of requirements for the other. Cloud providers need to meet the needs of both constituencies: test-and-dev and production applications.

"Every single one of those [production] customers cares about test [and] dev as well," Mondfrans said. "Not every cloud provider is good at serving both, but you need to be in this new world of where customers are going."

Cloud application architectures: What to consider

There are several logistical concerns cloud providers should consider when deciding whether it makes sense to migrate an application to the cloud and potentially redesign it to conform to cloud application architectures.

Layered Tech takes three factors into consideration: what kind of disk input/output (I/O) an application will have, whether the software licensing is transferrable to the cloud, and whether the application can be tiered or if it's modular.

"A lot of things can sit in the cloud if you're OK with the disk I/O and licensing," Mondfrans said. "But it may not be wise to do that with everything. If you've got a legacy app that's built for everything to be directly connected to it, or if it's built to scale up on very large systems, those become larger hurdles to move into the cloud than something more modular."

Some apps are simply better off staying outside the cloud, these providers said.

"If you're helping a customer migrate a database, you could have a physical database platform for several different applications, and that might be more cost-effective than making all those databases virtual and creating many instances of databases in the cloud," Mondfrans said.

IBM's Snitzer agreed that super-complex apps that are already deeply integrated with existing systems or simply don't work well on virtualized environments are not the best candidates for the cloud because they require a lot more work for providers to convert.

"You have to look at how complicated the app is and how it's connected in," he said. "Say you had an app that didn't do virtualization at all. You could [migrate] that, but you'd have to start by building the automation technology that will talk to the servers. That's not something you're going to get out of the box with existing cloud products. You could automate it, but it would take more work to get there."

Yet service providers say that for all the apps that aren't appropriate for the cloud, there are many others that are well worth redesigning because they will allow companies to gain much more in terms of cost savings and production capabilities.

When an application is made to be a good cloud match, service providers say their clients are amazed with the results. IBM worked with one small company that specialized in digital animation, which saw immediate benefits once the company's app was taken to the cloud, Snitzer said.

"Their response time was much quicker, so they moved from cycles that took weeks to moving in a space of hours," he said. "They could take advantage of the cloud and scale out, and they were able to expand their business because they had all this capacity suddenly available to them."

About the author:
Dina Gerdeman is a Boston area-based freelance writer and editor covering business news and features.

Next Steps

What is cloud-oriented architecture?

Don't fall for these common mistakes in cloud application deployment

Learn the fundamental of implementing SOA in the cloud

This was last published in August 2012

Dig Deeper on Telecommunication networking