UPDATED 10:48 EDT / MAY 28 2021

CLOUD

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

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.”

Featured offerings

I spoke with several providers in this market, and here are the highlights:

MOST Technologies Ltd. executes legacy code migration projects by customizing its automated migration tooling for each project. “Our approach is to customize the tools to automate the migration as needed for each and every project,” explains Omry Genossar, vice president of projects at MOST Technologies.

As such, MOST takes an immutable configuration-based approach: If an error crops up in the migrated application, the company will update the customized migration tool and regenerate the target application.

MOST has had particular success modernizing legacy Japanese applications, tackling the difficult challenge of the variety of proprietary Kanji representations.

MOST handles the full migration project lifecycle, including assessment, code translation, data migration and rehosting. MOST’s target platform, however, is almost always the mainframe. “It’s all mainframe, mainframe, mainframe,” quips Hadar Israeli, who also holds the title of vice president of projects at MOST Technologies. “The mainframe is not going anywhere.”

Another vendor that takes a metadata-based configuration approach is ResQSoft. ResQSoft extracts appropriate metadata from the source application, including rules, screen layouts, data formats and more. It then uses these metadata to guide its code generation.

ResQSoft also provides automated rewrite assistance, helping developers resolve issues of code structure — for example, eliminating GOTO statements — as well as grouping logically related code elements in order to support the generation of microservices.

To assist its customers in moving to target architectures, ResQSoft leverages templates that provide 90% of the structure necessary for the migration. Templates include Spring Boot for creating standalone Java applications and Hibernate for object-relational mapping.

Sometimes, a modernization vendor develops a specialty in less common, but still important legacy languages.

MigrationWare, for example, translates applications written in numerous legacy languages to COBOL and other languages, but has developed a particular specialty in IBM’s MANTIS rapid application development and Broadcom’s Easytrieve report generator. “Languages have different characteristics,” explains MigrationWare’s Oliveira. “It’s how you find solutions for different languages that’s particularly useful.”

In addition to code translation, it offers reimplementation and rehosting of applications. MigrationWare can also migrate legacy databases, file definitions and source data to modern platforms and formats.

The company’s particular focus is on rehosting projects to COBOL (along with CICS and JCL) on IBM mainframes, including database conversion and application replatforming.

Another vendor with a particular specialty is Synchrony Systems Inc., which has deep expertise in translating Smalltalk, 3270/5250 green screen apps and IBM VisualAge Generator and Enterprise Generation Language, although it can apply its modernization techniques to any source or target language. (* Disclosure below.)

Synchrony provides automated and transparent modernization while ensuring 100% functional equivalency with no operational interruptions and takes an iterative, automated approach that assumes its customer will want to continue to maintain a modern application.

Beyond the mainframe

Many vendors in the code modernization market focus on mainframe applications – either source applications or, in a surprising number of cases, target applications as well. However, some vendors work entirely in the distributed computing world off the mainframe.

Mobilize.net Corp. migrates applications by translating code from legacy Microsoft technologies such as VB6, Winforms and Silverlight to modern C#, VB.NET or Java.

The company also rearchitects monolithic apps by separating the front end from the business logic in a mostly automated fashion. It can also expose modernized business logic via APIs for headless application purposes.

In addition, Mobilize.net has a similar solution for legacy data warehouses from vendors such as Oracle and Teradata. The company migrates SQL code as well as data structures such as tables and views to Snowflake. It also converts legacy stored procedures to modern code that Snowflake can execute.

Another vendor with an even more surprising modernization offering is vFunction Inc., which converts legacy Java (typically Java Enterprise Edition) to modern Java. It automatically converts monolithic legacy Java applications to microservices by giving application architects and senior developers sufficient visibility into application functions to transition legacy apps to modern microservices architectures.

Unlike most legacy code migration tools, vFunction works with the original application binaries, performing both static and dynamic analysis in order to extract the logical relationships within the application. It then leverages the original source code to generate RESTful APIs and microservices, typically transitioning legacy Java EE applications to Spring Boot for deployment in cloud-native environments.

Our final vendor is Blu Age, owned by parent company Netfective Technology SA, which delivers functional equivalence migration from many legacy languages to modern Java/Spring or .NET Core cloud-native applications. Functional equivalence means that the final application will pass all functional tests that the source application could, thus giving customers a way to guarantee the migration has been completely successful.

Blu Age targets 100% automation of the code transformation part of every project, a goal that’s achievable because of its comparison-based functional testing approach. “The idea of Blu Age is to create modern applications,” explains Xavier Plot, business development and cloud partner alliances manager at Blu Age.

Lessons learned

The last decade has seen a dramatic shift in the economics of legacy migration, making newer, more cost-effective approaches a reality for organizations struggling with legacy technical debt.

Given the pandemic-enhanced urgency of today’s digital transformation and IT transformation initiatives, legacy code migration has become a top priority for many enterprises that had previously struggled with their legacy burden. The ongoing maturation of cloud computing is a key enabler of this change. “Over the last three years, the pace of modernization has changed,” Plot says. “It’s accelerating because of the cloud.”

Preserving still-valuable legacy business logic while moving to a modern software platform clearly has appeal – but it has its pitfalls as well. Simply achieving functional equivalence between source and target is only a part of the answer. “Successful migration migrates warts and all,” Oliveira quips. “It’s hard to validate the success of a migration with a moving target.”

Today’s IT executives want it all: preservation of legacy business logic, modern cloud-native architectures and maintainable code that helps to pay off legacy technical debt. The good news is that today’s legacy code migration offerings help make this wish list a reality.

Jason Bloomberg is founder and president of Intellyx, which publishes the Cloud-Native Computing Poster and advises business leaders and technology vendors on their digital transformation strategies. He wrote this article for SiliconANGLE. (* Disclosure: IBM and Synchrony Systems are Intellyx customers, and Broadcom and Microsoft are former Intellyx customers. None of the other companies mentioned in this article is an Intellyx customer.)

Photo: Kranich17/Pixabay

A message from John Furrier, co-founder of SiliconANGLE:

Your vote of support is important to us and it helps us keep the content FREE.

One click below supports our mission to provide free, deep, and relevant content.  

Join our community on YouTube

Join the community that includes more than 15,000 #CubeAlumni experts, including Amazon.com CEO Andy Jassy, Dell Technologies founder and CEO Michael Dell, Intel CEO Pat Gelsinger, and many more luminaries and experts.

“TheCUBE is an important partner to the industry. You guys really are a part of our events and we really appreciate you coming and I know people appreciate the content you create as well” – Andy Jassy

THANK YOU