Facebook TransCoder: A Migration Panacea or a Mirage?

Last year Facebook announced TransCoder, a tool that converts code from one programming language to another. Like many companies, Facebook also has legacy code that runs critical features and functionality of their platform. They also have billions of active users. It’s no wonder they chose the automation approach for migrating their legacy code to more modern technologies. With this approach, Facebook can preserve its original investment and reduce the risk of significant business disruptions that the proverbial, brute-force rewrite would otherwise bring.

Facebook TransCoder Flow Image
Source: Facebook AI Blog

 

TransCoder can help modernize legacy systems; however, the devil is always in the details when trying to bring the migrated code to production quality, release the migrated legacy application into production, and retire it.

Any machine learning translation tool can only get the complete migration of an application so far. If Facebook’s TransCoder can translate 90% of the application code, one line out of every ten still needs a software developer’s attention.

For an application with ten million lines of code, one million lines of code would need to be hand-written with production quality.

A manual rewrite of 10% of a large application may take years. In fact, the translated code may never see a production environment. Even with Facebook’s size, virtually unlimited resources, and access to the world’s best talent, the company will still need to manage the entire software migration lifecycle and all of the pieces that it takes to bring the new code into production.

Modernization is More Than Just Code Translation

Machine-driven migration tools from source to target programming languages play a crucial role in achieving successful modernization projects. These tools are akin to best-of-breed compilers and their role in greenfield application development. Yes, we need a good compiler, but without the well-established best practices of DevOps, no compiler by itself can ensure the successful completion of a software development project.

What will it take to migrate a large and often complex body of legacy code that runs a critical aspect of the business to a modern technology platform and release it into production without any operational disruptions or development freezes?

This particular challenge has been the Achilles’ heel of every modernization project. No migration tools, including the TransCoder, make any attempt to even mention it or, let alone address it.

Tools like TransCoder are often positioned as “auto-magic.” Buy a piece of AI software, and *poof* all of the migration work is done in a few keystrokes. But a programmer cannot take a COBOL program, wave an AI wand over it, and turn it into microservices or properly architected modern-day application. Right now, AI tools are decades away from being able to transform legacy applications in this manner.

Migration Tools Inside a Modernization Process

Migration tools such as TransCoder are just pieces of the chain of moving parts needed to run a well-oiled machine of an otherwise complex modernization process. Therefore, the real value is in integrating such tools inside the entire modernization lifecycle to achieve the kind of an assembly line that is needed to make a complex modernization manageable in terms of process and predictable in terms of time and cost.

No single automation tool is a silver bullet for a modernization project, and we should know. We’ve spent 25+ years modernizing legacy applications, building and using our proprietary migration tools. When we finally managed to integrate the source code migration tools into an entire modernization process, our clients saw considerable gains in code quality, efficiency, and affordability.

Our Modernization Lifecycle Platform (MLP) supports the entire modernization lifecycle: from analysis and planning to transformation and remediation; from build and deployment to testing and production release. It applies the same systematic, iterative, and automation-driven modernization processes to produce production-ready, modernized applications. It is compatible with any translation libraries or rule-sets, no matter the source or target programming language, platform, or framework. By automating the complete modernization process where a tool like TransCoder can be integrated into as part of an entire assembly line, the MLP platform:

  • Saves thousands of hours of manual effort
  • Reduces the time and cost of a modernization by 90% compared to traditional approaches
  • Is 100% automation driven yielding predictable outcomes
  • Ensures 100% functional equivalence
  • Eliminates the risk of introducing unexpected regressions or random defects
  • Provides complete transparency and interoperability for all stakeholders

Like Facebook’s TransCoder, new tools are emerging to take on challenges evident in legacy application modernizations, but they are limited in and of themselves.

An integrated platform that facilitates an automated, reliable, and transparent modernization while ensuring 100% functional equivalence with no operational interruptions is needed to take the migrated application into production.

MLP delivers what TransCoder only promises.

Contact us to see MLP in action.