Strangler Things: How To De-Risk Legacy Code Migrations

code red code red

Building new software is easy; iterating is harder. And iterating older legacy system can often feel impossible. Modernizing legacy systems comes with a lot of risk, inviting downtime or unhappy users. We'll discuss how the Strangler Fig pattern, famously described in Martin Fowler’s blog, can help reduce that risk. 

Join us as we unravel a case study from Carta in which we disentangled systems from our monolith with no customer impact and zero downtime. We’ll explore how we prioritized feature migration, tooling for reducing friction, and backwards compatibility with our downstream systems. Unearth how the Strangler Fig pattern might help you in your next migration from a legacy system.

Interview:

What key takeaways can attendees expect from your InfoQ Dev Summit session?

  • An overview of how the Strangler Fig pattern can reduce risk in legacy code migrations
  • Strategies for handling unexpected requirements in the midst of a legacy code migration
  • Practical tips from a real-world example for how to effectively leverage Strangler Fig to perform legacy code migrations

What's the focus of your work these days?

I'm working on another migration of some legacy code. That means I'm doing lots of archeology into long-untouched systems and reverse engineering existing behavior. Doing these types of updates, I've learned how important it is to not just think about the existing behavior and ensure you don't break anyone's workflows but also to keep in mind the next iteration of these user experiences.

Do we have opportunities to reduce customer cognitive load or leverage automation to make things easier? Even if you aren't making those changes in the initial migration work, engineering the next generation of systems with future improvements in mind can make a big difference.

What technical aspects of your role are most important?

Lately, it's been reasoning about good tech debt vs bad tech debt. All code is a liability, and the code we're writing today is the legacy code of tomorrow. A lot of our technical decisions come down to navigating tradeoffs between current requirements and anticipating future needs.

How does your InfoQ Dev Summit Boston session address current challenges or trends in the industry?

Any organization that's existed for really any time at all has some amount of legacy code. Often we find ourselves needing to update legacy systems while customers need to continue using whatever system we're trying to update. It's rare to be able to take large periods of downtime, especially for SaaS applications. These upgrades are needed to meet business requirements, technical requirements, or both. As long as we have legacy code, we'll need to leverage strategies to minimize risk and customer pain.

How do you see the concepts discussed in your InfoQ Dev Summit Boston session shaping the future of the industry?

Strangler Fig is 20 years old this year, so it isn't exactly on the cutting edge of tech. But the longer our technology lives, the more legacy code we have to wrangle. For many companies, the code that got us where we are won't get us where we ultimately need to go, so leveraging well-worn patterns to work through those inevitable code migrations can make those migrations less painful.


Speaker

Shawna Martell

Senior Staff Engineer @Carta

Shawna Martell is a Senior Staff Engineer at Carta, Inc. Her previous experience includes Director of Software Engineering for Yahoo's Big Data Platform, and she was one of the original engineers on Wolfram|Alpha. She holds an MS in Computer Science from Syracuse University and an MBA from the University of Illinois. Beyond her professional pursuits, she channels her passion into volunteering in local politics and finds solace in the world of podcasts.

Read more
Find Shawna Martell at:

Date

Monday Jun 24 / 01:20PM EDT ( 50 minutes )

Location

Auditorium

Topics

Tech Debt Legacy Code System Migration

Share