Search⌘ K
AI Features

Replacing a Legacy Web App

Explore practical approaches for migrating legacy web applications to Elixir. Understand the importance of breaking down migration into manageable steps, balancing political and technical challenges, and leveraging case studies like Bleacher Report's gradual monolith transition. Learn how to build focused teams, manage risks, and incrementally replace legacy components to achieve better performance and maintainability.

One step at a time

This old quote may sound familiar: “The only way to move a mountain is one stone at a time.” Legacy application migrations are nearly impossible to handle all at once. We have to break the problem into manageable pieces to even have a chance. Over the course of this section, we walk you through this process. The resources available and the size of your platform certainly have an effect on how long this process will take, but the process will remain the same. There’s a political element and a technical one.

The political element involves setting expectations and managing risk. Throughout this course, we stress the importance of setting expectations. Programming is more than ones and zeros. Successful programmers communicate.

The technical element is isolating small bits of the application to migrate, step by step. With a little time and effort, we can have a common web API that has two backends, one for our legacy system and one for the new. Then, we can flip the switch, either all at once or one subsystem at a time.

Where we begin depends on a number of factors, including a company’s architecture and urgency. Let’s start with architecture, of which we’ll consider two general types:

  1. Monolithic
  2. Service-oriented architecture (SOA)

Monoliths

Many companies with scaling and code maintenance issues use a monolith of some sort. Monoliths are large systems written as a single project with little to no boundaries between its ...