Buzzwords, society is filled with them. Buzzwords can cause confusion as not everyone agrees or understands them. I too use buzzwords. Often because they are handy with a 280 character limit on Twitter. I was caught in a discussion after tweeting that I hoped legacy apps will die out soon. I triggered a discussion by using legacy in my tweet. This blog is born out of that. If buzzwords are so difficult to define, I take the glove of the table and define them. I’ll be basing my definition of references found online, so nothing self-declared. Still interested? read on, let’s open that box of Pandora.
Buzzwords – what is a buzzword?
Let’s first define what a buzzword is, just to make sure we don’t get into a discussion over that as well. To define what a buzzword is I like to use the reference as found in the Oxford dictionary.
“A word or phrase, often an item of jargon, that is fashionable at a particular time or in a particular context“ref: https://en.oxforddictionaries.com/definition/buzzword
“An important-sounding usually technical word or phrase often of little meaning used chiefly to impress laymen“ref: https://www.merriam-webster.com/dictionary/buzzword
Personally, I think that the latter explanation is a good one. To impress instead of to explain something.
The buzzwords I like to talk about over here are IT related buzzwords. If I take a look at the discussion I was in, there were some buzzwords that came along. I picked out two of them to discuss in this blog. I’m not going to discuss SaaS apps as I think it is useless to have that discussion. A SaaS app is just an app that is delivered a certain way.
For each of these words, I will look for external references to the buzzword to define the exact meaning. I will also give my own idea about the buzzword, my definition so to say. Interested in other grammar discussions? I suggest my previous blog about the on-premises discussion. It is found here: https://robbeekmans.net/euc/on-premises-like-on-site/
Let’s grab the bull by the tail and start with the buzzword “Legacy”. This seems to be the one that is a tough cracker. If we look at it, we see that it is not an IT-only term. The meaning in both worlds is based on the same idea. It is something from the past.
Examples from the normal world (I think IT is not always a normal world)
- Someone leaves a legacy, a fortune, a house a watch they want someone to receive when they passed away.
- Someone can leave a legacy by what they did in a certain field of work, philosophers or scientists.
- The war can leave a legacy of pain and broken homes.
When we focus on IT we will see a similar meaning of the word legacy. The same dictionary, Merriam-Webster, has this definition on it.
“of, relating to, or being a previous or outdated computer system“ref: https://www.merriam-webster.com/dictionary/legacy
This comes pretty close to what I think legacy applications, systems are. One reference is of course not enough to define a buzzword so I also took a look at a reference often used by many in IT to define who is the leader in a field. I took a look at what Gartner says on it.
“An information system that may be based on outdated technologies, but is critical to day-to-day operations. Replacing legacy applications and systems with systems based on new and different technologies is one of the information systems (IS) professional’s most significant challenges. As enterprises upgrade or change their technologies, they must ensure compatibility with old systems and data formats that are still in use.ref: https://www.gartner.com/it-glossary/legacy-application-or-system
My thought on the buzzword “legacy”.
I use the term legacy when I want to point to outdated software and/or systems. If you think of a 32bit application that is unfit for a 64bit system. That application I would declare a legacy app. I need to deploy an outdated system to run that application. This is just one example, there are many more. Applications and systems achieve a legacy status as newer versions of systems are introduced. This is an ongoing process. It has nothing to do with a specific delivery method/platform but is generic in use. Any app or system, no matter which delivery platform can be legacy depending on the current delivery platform you deploy on.
Docker seems to agree
I took a look around on the web and found some vendors talk about how you move legacy apps to modern versions. I found a nice quote on the Docker website.
“The majority of containerized applications are legacy apps that are easily transformed into portable, more secure applications. Learn how Docker can help you containerize your applications without touching code.“ref:https://www.docker.com/solutions/MTA
They refer to legacy apps as .net apps and Java apps but also windows server 2003/2008 and 2012 systems. Their definition is exactly what I would expect of it.
The other buzzword that causes a lot of confusion is “Traditional”. In the discussion, several responded that they use the word traditional instead of legacy when talking about a specific kind of application. I don’t share that idea and will explain why. I don’t even see how you could interexchange both words.
A traditional application, I presume that is what most think of it, is an application that runs on a computer system. Often this is a Windows application but it could be anything really. Techopedia has a quote on this.
“Traditional applications relied on a single system to run them. Even in the client-server model, the application software had to run on either the client, or the server that the client was accessing“ref: https://www.techopedia.com/definition/23971/distributed-application
I agree with some that say that you might run into a traditional app that is far from legacy but still unfit for your delivery platform. There will always be “crapplications” as we used to call them (or is that a past buzzword?) that just are unfit. Those kind of apps need a lot of work, everyone doing projects ran into some of those. I don’t think those kinds of apps should cloud the definition we are talking about. They are normal apps that just have a specific requirement or install procedure. Sometimes they are just a pain in the….
So if we look at the relation between legacy and traditional apps we see they are connected. Legacy apps could well be traditional apps. Chances are that a huge amount of the legacy apps (apps that are outdated and don’t run on current and future delivery platforms) indeed are traditional apps.
Traditional apps, however, are not always legacy. I believe that traditional apps are not dying out. I believe that traditional applications are still deployed a lot and will be so for a long time.
When we moved to 64bit systems some traditional apps (the ones I call legacy) required older systems to keep them running. When moving to a different delivery platform a number of traditional apps might require a specific solution to run on the new platform. If we focus on WVD for a minute, I don’t see much difference in traditional or legacy apps running there opposed to running them in an on-premises RDS environment. The delivery platform is a Windows-based multi-user system. Application not compatible with on-premises Windows systems will also no be compatible with a Windows system in Azure.
I think a definition that is accepted by everyone is never achieved. I tried to create a definition that hopefully many accept. I worked from references and added my own input to it. I’m always open for suggestions and discussion on this topic. It is good to keep your mind open for new ideas and being challenged by other is the best way to do so.
So if you disagree or have a different opinion please let me know why and I might change my blog (if I agree with you).