The legacy premium

I’ve noticed this pattern lately: teams who modernise their platform, but not the apps, and they end up paying premiums on both sides.

The half-modernisation trap

A platform team decides to adopt modern cloud technologies, and they decide on containers. They move to ECS, and they build a lovely set of CI/CD pipelines.

But then, they stop! They modernise the platform, but not the apps.

(Yet another side effect of DevOps being a job title now, rather than a culture of collaboration.)

One team I worked with recently run apps on decade-old runtimes in beautiful ECS containers. Everything is modern, except the apps themselves.

At first I thought - that’s a bit unusual! But it’s not, it’s everywhere.

Modernising apps is terrifying. It comes with risky code changes, rewrites, expensive consulting fees, and a lot of testing.

It’s just easier to just not touch the precious things at all. Also: last person to touch the old app gets stuck with it.

The double premium

But postponing modernisation costs money; teams just don’t see where it goes.

If you don’t modernise, what does the money get spent on?

  • Extended Life Support fees for ancient runtimes
  • Expensive SaaS services which have support for ancient runtimes
  • Custom instrumentation work (modern observability tools assume you’re using a recent framework)
  • Engineers patching and workarounding instead of building useful stuff
  • The opportunity cost of missing out on tooling or services that would make life easier
  • Costs of hiring specialist engineers who understand your legacy stack

So you actually end up paying a legacy premium, on BOTH sides:

  • A premium for your lovely, managed, infinitely-scalable but expensive cloud infrastructure
  • A premium for the tools and people that can still handle your old runtimes

The legacy premium mostly likes to hide in budgets. When financial year end comes, you’ll be paying for it somewhere, but you won’t know exactly where. It will probably all just roll under the budget of “keeping the show on the road”.

I don’t think that these teams make the wrong call. Sometimes you’ve got to weigh up the cost of modernisation against the stability of the current setup, especially if you’ve got customers to support.

But you’ve got to be honest about the price you’re paying for it if you don’t upgrade. It’s a real $/£ amount that doesn’t show up in the summary that’s presented to the CTO after you finish the containerisation project.

The question isn’t whether to modernise. It’s actually whether you prefer to pay cash or credit: upfront in a planned and scoped technical project, or slowly, with interest, more premiums and missed opportunities.