Need to migrate legacy business logic to cloud-native? Here’s how

Article for SiliconANGLE by Jason Bloomberg

Translating legacy code to a modern language is only part of the answer. Transitioning to cloud-native architectures is the greater challenge.

For decades, information technology executives were faced with two unpalatable options for legacy application modernization: “Rip and replace” or “Leave and layer.”

When a legacy application still provides value, ripping and replacing is a high-risk option. The replacement may not adequately meet the needs of the organization, and the transition from old to new may be overly disruptive to the enterprise.

However, the leave-and-layer approach isn’t much better. True, adding application programming interfaces or connectors to a legacy application can extend its lifetime, as can leveraging robotic process automation to script its user interface.

The problem: Leave and layer adds to technical debt, kicking the modernization can down the road. Any shortcomings of the legacy app remain a ball and chain around the enterprise.

Cloud computing has added a third option: “Lift and shift.” In theory, this approach makes sense: Simply migrate the legacy app off of its antiquated platform into the cloud and voila! It’s modernized.

Lift and shift, however, rarely delivers on this promise. Just like leave and layer, it also adds to technical debt. Even more problematic: What if the older app was written in a language the cloud doesn’t support? How can you expect lifting and shifting it to work at all?

The legacy code modernization option

The obvious solution to the problem of legacy apps written in cloud-unfriendly programming languages is to translate those programs line-by-line into a modern language that will run in the cloud.

Indeed, there have been tools for conducting such translations on the market for years. Such line-by-line translation on its own, however, rarely addresses the business need.

It does nothing about technical debt, and it rarely leads to maintainable code moving forward. “I can’t find anybody that has bought two line-by-line translation projects,” says Tom Bragg, chief technology officer of ResQSoft Inc.

For many organizations, the goal of legacy code migration is to end up with maintainable modern applications, which means a combination of microservices as well as user interfaces that meet the needs of today’s increasingly mobile workforce and customer base.

To achieve these goals, code migration must do more than translate legacy code. It must transition legacy software architecture to microservices architecture – a task that today’s tools cannot fully automate. “With line-by-line translation, you get the old architecture,” Bragg adds.

The missing piece of this puzzle is human expertise, and as a result all of the vendors in this market offer some combination of automation tooling and professional services, either in-house or via partners.

In many cases, therefore, the migration tools themselves are not standalone products, but rather consultants’ tools. “There’s a big difference between tool-based professional services and a product,” explains João de Oliveira, founder and director at MigrationWare Ltd. “The gap is massive.”

Read the entire article here.

SHARE THIS: