Migrating your Teralith

If you are reading this you are curious about migrating your applications to a more modern stack. Or you are just curious to find out what a Teralith is.

Well I am not going to make you wait long!

My definition of a Teralith

a Teralith is the organization you work for, with all of its employees, all of its business processes,
every relationship it has with vendors, the pool of hardware it maintains in order to function,
every piece of software it uses, every single customers it sells to, and whatever else makes it tick

What on earth does this have to do with migration of my application?

Well as you might have noticed every single part of your organization does not stand alone. Any choice made in any part has repercussions for another part of your organization. As such a migration of your software stack should not be undertaken without regard for that reality.

To illustrate a bit further, lets ask some questions

Question: How many people are going to be using this application?

Answer: We don't exactly know

Question: Is this application going to store data?

Answer: Yes

Question: Where is this data going to be stored?

Answer: We hope on the cloud

Question: Who is responsible for the data?

Answer: We haven't determined that yet

Question: What is the classification of the data?

Answer: Not sure

Question: How often is this application going to be used?

Answer: At least once a day

Question: Is the application mission critical

Answer: We can deal with it if it is not up for a day or so

Question: How much bandwidth does the application need?

Answer: It should not need much

Question: Where in the world will it be used?

Answer: First in North America and then in the rest of the world

As you might have noticed these questions deal with everything around the application. And that is where the real problem of your migration lies. Popular articles will tell you that a monolith is bad and micro services are going to save you. The truth is that any project can fail for a variety of reasons. Most often those reasons have nothing to do with the application, but instead it has everything to do with your Teralith!

Now I am not advocating that micro services are bad, nor am I advocating that monoliths are bad. What I am saying is that I would urge you to take a step back and look at your Teralith. Seek to understand the desire to migrate. Is it for the right reasons? Will it help the bottom line of your Teralith, or will it instead become a burden.

I hope I have given you something to think about. So the next time someone tells you need to migrate your application(s) you can ask them some questions.

Long life to your Teralith!

PS. just to throw people off the pronunciation is "terra-lit".

Posted April 4th, 2020