The public cloud is the place to run greenfield applications built with the latest tools and the hippest programming languages. Could it also be a destination for the legions of aging applications that litter enterprise data centers?
If an application is due for a refresh, why settle for just a facelift via an incremental hardware upgrade or new GUI? Instead, why not go whole hog and re-platform the application on a state-of-the-art cloud platform that delivers scalable performance, flexibility and resilience—not to mention an operational expenditure (opex) rather than capital expenditure (capex) model?
Indeed, a growing number of IT professionals are asking those questions. They’ve expressed an interest in using the cloud as a target for legacy application modernization efforts, said Al Hilwa, program director for application development software research at analyst firm IDC.
“There are certain kinds of workloads that lend themselves well to the cloud,” Hilwa said—for example, externally facing applications. But migrating an existing legacy application to the cloud involves several considerations that need to be evaluated before embarking on such a project.
This summer, Pabst Brewing Co. moved its entire data center from its San Antonio, Texas, office to Rackspace Hosting, using a mix of the firms’ cloud and managed services. The migration went relatively smoothly, until it came time to move two older applications: Microsoft Dynamics GP, the enterprise resource planning (ERP) system formerly known as Great Plains, and Salient Margin Minder, a revenue management tool.
Both applications had been up and running for more than five years, and had undergone many upgrades and patches, explained Stephen Blake, CEO of Virtessential, the Florence, Ky.-based IT integrator that oversaw the migration. Pabst didn’t have access to the source installation files or good documentation about configuration changes over the years.
“No one knew what was installed; [the apps] were kind of a black box,” Blake said.
Meanwhile, like most managed service providers, Rackspace was unwilling to provide a service-level agreement (SLA) for poorly understood applications.
“There aren’t too many managed service providers [MSPs] that are flexible enough to say, ‘Sure, we’ll take your images.’ They don’t want to take the risk of having to support problems that have been there for a while,” Blake said.
Instead, MSPs typically agree to support only applications that are installed fresh, and that are managed using the MSP’s preferred tools.
Virtessential circumvented these problems using application virtualization software from AppZero that extracted the application and its dependencies into a portable “virtual application appliance” package, and then installed each of them on to a fresh operating system image.
“The servers look like a fresh build, but they’re not,” Blake said.
The application extraction and migration processes took less an hour, and the resulting builds have been running without incident on Rackspace since August. Had he not stumbled upon AppZero, Blake said migrating those two applications would have added three or four weeks to the project.
In the end, migrating legacy applications to the cloud won out for Pabst, but it’s not always so easy.
Enterprises are increasingly large consumers of Software as a Service (SaaS) applications, the classic examples being Salesforce.com for customer relationship management and Workday for payroll services. Now, some internal IT departments are exploring whether it makes sense to follow suit and re-architect in-house applications as cloud-hosted multi-tenant applications—private SaaS apps, as it were.
As an example, imagine an automobile manufacturer that has created a financing application for individual dealers across the country. That application was written as single-tenant application destined to be installed and run on a dealer’s premises, maintained by a local IT professional. That model is fraught with difficulty, of course, with dealers struggling to troubleshoot and maintain the apps.
What if, instead, that application were re-tooled to run as a multi-tenant cloud-hosted SaaS app that automobile dealers simply logged in to, while the manufacturer handled upkeep, maintenance and new development?
Independent software vendors that have offered on-premises and SaaS software say that the move to multi-tenancy has been great for their business.
“Is multi-tenant the way to go? Yes, because the goal is to optimize maintenance cost,” said Andrei Sergeev, senior vice president at EMAS Pro, which provides enrollment management software for colleges and universities. Simply put, SaaS-based tools are much simpler to install and maintain, for both the provider and the consumer.
SaaS also puts advanced capabilities in the hands of users that are otherwise cost-prohibitive, Sergeev said.
After several earlier attempts with on-premises solutions, EMAS Pro recently began offering a SaaS-based tool called Retention Pro that helps colleges identify students who are at risk of dropping out. The service consists of several different modules including Apache Tomcat, a rules engine, and a business analytics and reporting engine, all of which are tightly integrated.
“That’s a lot of different components, and if you wanted to run it on-prem, you would need licenses for all of those things, which becomes an expensive proposition,” Sergeev said. He said he could imagine many use cases for private multi-tenant SaaS apps in the enterprise.
Unfortunately, re-architecting a legacy single-tenant application for multi-tenancy is easier said than done.
“It’s a monumental task,” said Brian Hoskins, principal product manager at LANDesk, the systems management software provider that is on a three-year journey to “SaaS-ify” its traditional service desk tools, and that is doing the same for its systems and security management offerings.
Like a lot of legacy on-premises applications, LANDesk was built around a Windows console that makes a lot of direct calls to the application and database layers, Hoskins explained. That just doesn’t work in a SaaS platform, so the company had to rewrite all those calls to go through Web services.
Softening the Blow
For companies that don’t have the stomach for that kind of development project, there are startups like Apprenda and Corent Technology that claim they can simplify legacy application migration to multi-tenancy.
Corent Multi-Tenant Server (MTS), for example, can be used to transform a single-tenant app to a multi-tenant one, either with shared or separate tenant databases.
Open 4 Business Online (O4BO.com) is based in Hong Kong, and recently used Corent MTS to create a SaaS service that runs on the IBM SmartCloud from a standard catalog of open source business software, including Openbravo for ERP, Pentaho for business analytics and SugarCRM. Mike Oliver, the founder of O4BO and also a former Corent employee, said conversion times vary, but that he could convert some applications in less than an hour.
“It depends on the application. Some are well-designed, but others have idiosyncrasies or, frankly, poorly designed code,” Oliver said. Having access to the source code, however, is not a requirement for Corent MTS, Oliver added.
Oliver said he has talked about Corent MTS to a number of enterprise shops that are intrigued by the possibilities. One U.S. health care consortium, for example, is thinking about using it with its subsidiaries across the U.S. Of particular interest is that the converted application can use either shared or dedicated databases, which is an important consideration in health care, where regulations vary from state to state.
Likewise, converting in-house applications to multi-tenancy might provide an interesting way for different groups within an organization—end users, developers, quality assurance employees—to gain access to a single application estate, while providing each group with customized views.
No Pain, No Gain?
Shortcuts to migrating legacy applications to the cloud may be appealing, but there’s something to be said for doing the hard work of re-architecting for the new paradigm, experts said.
A properly architected cloud application has numerous benefits over a traditional on-premises application, namely predictability, resiliency and agility, said Michael Crandell, CEO at RightScale Inc., a cloud management software vendor.
Predictability comes from “templatizing” cloud applications, eliminating many opportunities for human error. “When you make changes manually, that’s when all hell breaks loose,” Crandell said.
Agility comes from automation techniques such as auto-scaling and having the choice of where you want to run a workload, and resilience is a result of designing applications around “the idea that everything fails eventually,” and spreading applications across multiple nodes, regions and even cloud providers.
As hard as it may be, “we recommend re-architecting any legacy application that people may be thinking about moving,” Crandell said. “The notion of taking an individual legacy application, picking it up and plopping on a server in the cloud is not at all realizing the benefits of the cloud.”