Lift and shift -- the idea of simply relocating legacy, on-premises applications to the cloud without regard for leveraging the power of cloud technology -- has, fortunately, largely fallen out of favor. But just which applications should be migrated, refactored or rewritten? And which should be put out of their misery altogether?
In this video interview, recorded during the 2017 Red Hat Summit developer conference, we ask two company executives, Senior Application Development Evangelist James Falkner and JBoss Technology Evangelist Thomas Qvarnström, for their opinions on the current state of legacy app migration, including lift and shift and refactoring.
"One thing that people should look out for is when you have states in the application," Qvarnström says. The preferred method, he says, is to store states externally so that if an application crashes and requires a restart, it can pick up at the exact point where it left off. "Eventually, you'll want to move away from storing your state inside a traditional application server."
James Falknersenior application development evangelist, Red Hat
Even with the best advance planning, it's a fact of life that legacy app migration projects sometimes go awry. An issue that everyone faces, at one time or another, is once a project has gone off the rails, how best to get it back on track.
When you have an application that you're trying to modernize, that you shouldn't have tinkered with in the first place -- because it had dozens of developers working on it over many years -- there's no one person who understands what is going on, Falkner says. "In that case, the best way to get back on track is to use the application as is, bring it to the cloud and then slowly start to migrate individual pieces using new technology, rather than trying to do it all in one big bang."
Another consideration in deciding how to -- or whether to -- "cloudify" an application is weighing its value to the core business. "Simply migrating an application brings zero business value," Falkner says. "What we tell our customer is to combine [cloud migration] with a modernization strategy so that you can get the business value of it." CTOs and IT managers are reluctant to endorse projects that simply swap one codebase for another without enhancing business value.