This piece on modernizing traditional apps with Docker made me see a recent trend, the death of legacy apps. Okay, not the applications themselves, but using the term “legacy” to describe them. Instead, as in this piece, the term “traditional” is one alternative. The other I saw at Cloud Field Day last week, where Droplet Computing just called them production apps (which is far too broad in my estimation).
It’s interesting that both of these references come in reference to containers. But why the move from legacy as a term? I think it comes from a transition in how we view older software. In our monolithic past, the main distinction with an application was based around performance, feature, reliability, etc. In that framework, legacy often meant inferior, or at least outdated.
But as organizations have scrambled to become more agile, legacy becomes less a descriptive term. Instead traditional vs modern is a conversation not based around application features, but rather around development methodology. Describing apps in these terms gives IT staff at least a vague idea of how the app is constructed, rather than the prior indication which meant age.
It’s an interesting shift in framing applications.
Elton Stoneman comments:
I talk about traditional apps, rather than legacy or heritage apps. That’s because the apps that need modernizing may not actually be very old. .NET apps that were designed as recently as the last couple of years are likely to use traditional approaches, which make them difficult to develop and manage.