Replatforming: Definition

ModernLift · ·6 min read
Part 12 of 14

Replatforming moves an application to a new runtime or managed platform with targeted, minimal changes to take advantage of it — for example containerizing an app, swapping a self-managed database for a managed one, or upgrading a runtime. It sits between lift-and-shift, which changes nothing in the app, and refactoring, which restructures the code itself.

Replatforming is the modernization move that sits one step up from lift-and-shift. Rather than relocating an application untouched, you make targeted changes so it can take advantage of a modern runtime or managed platform, without rewriting its core logic. It is sometimes called “lift, tinker, and shift”: more than relocation, far less than a rebuild.

What it is

Typical replatforming changes are contained and platform-facing: containerizing an application so it can run on a modern orchestrator, swapping a self-managed database for a managed equivalent, upgrading to a supported runtime version, or replacing a hand-rolled component with a platform service. The application’s structure and behavior stay essentially the same. What changes is the platform underneath and the thin layer that connects to it.

Where it sits on the spectrum

MoveWhat changesTypical trigger
Rehost (lift-and-shift)Nothing in the app, only where it runsExiting a data center or unsupported hardware, fast
ReplatformThe runtime or a managed service, not the app’s logicWant platform benefits (autoscaling, managed backups, a supported runtime) without a rewrite
Refactor / re-architectThe code, or the application’s structure itselfThe application’s design, not just its platform, is the actual constraint

A concrete example

Picture a logistics company running a Java application on self-managed Tomcat, deployed on aging VMs, backed by a hand-rolled MySQL cluster the team patches and backs up manually at 2am when something goes wrong. Replatforming here means containerizing the application (same code, new packaging), moving to a managed MySQL-compatible database service (a connection-string change and a handful of SQL-dialect fixes, not a data model redesign), and letting the platform handle autoscaling. None of the application’s business logic changes. What changes is who is on call for patching, backups, and capacity, and the answer becomes the platform instead of an engineer’s phone at 2am.

Why it matters

Lift-and-shift gets you off the old infrastructure but captures little of what a modern platform offers, autoscaling, managed backups, a supported runtime, better observability. A full rewrite captures all of it but at much higher cost and risk. Replatforming is the pragmatic middle: it delivers real platform benefits for modest, well-bounded changes, which makes it a common second step after an initial rehost.

When it fits

  • The current runtime is end-of-life or unsupported, but the application’s logic is otherwise sound and does not need restructuring.
  • The team wants managed backups, autoscaling, or better observability without funding a multi-quarter rewrite.
  • There is real capacity for a few weeks of focused platform work, but not for a rebuild.

Often the trigger is an end-of-life runtime. Replatforming onto a supported version removes the security and compliance exposure without restructuring the application.

How it relates to modernization

Replatforming is one of the “Rs,” positioned between rehosting and refactoring or re-architecting. In a real program it is rarely the whole answer. It is the right move for some slices: the parts that are sound but stranded on an unsupported runtime, or that would benefit from a managed service without needing their logic reworked.

Common confusion

Replatforming is easily blurred with both of its neighbors. It is not lift-and-shift, that changes nothing in the application, and it is not re-architecting, which changes the application’s fundamental structure. The defining line is that replatforming adapts the application to a new platform while leaving its architecture intact. If you find yourself redrawing module boundaries, you have crossed into a deeper move. Picking the right move per slice is the subject of the Rs of modernization.

Frequently asked questions

What is the difference between rehosting and replatforming?
Rehosting (lift-and-shift) moves an application with no meaningful code change. Replatforming makes targeted changes so the application can use a modern platform, containerizing it, adopting a managed database, or upgrading the runtime, without restructuring the application's core logic.
When is replatforming the right move?
When lift-and-shift would leave too much value on the table but a rewrite is unjustified. You want managed services, autoscaling, or a supported runtime, and the application can reach those with modest, contained changes rather than restructuring.
Does replatforming change the application's architecture?
Not fundamentally. Replatforming adapts the application to a new platform but keeps its essential structure. Changing the architecture itself, splitting a monolith, redrawing boundaries, is re-architecting, a deeper move.
What are some concrete examples of replatforming?
Containerizing an application so it runs on a modern orchestrator instead of a hand-managed VM. Swapping a self-managed database for a managed equivalent from the same engine family. Upgrading to a supported language or runtime version. Moving a virtual-machine-hosted app to a managed platform-as-a-service. In each case the code that implements business logic stays the same; what changes is what it runs on and how it is operated.
Is replatforming risky?
Lower risk than refactoring or rebuilding, because the application's logic does not change, but not risk-free. A database engine swap can surface subtle SQL-dialect differences that only show up under real traffic, and a runtime upgrade can expose behavior that quietly depended on the old version. Replatforming still deserves the same parity testing before cutover that any other modernization move gets, just over a shorter, more contained scope.
All 14 parts of Modernization Glossary & Definitions →