Tudor Girba Profile picture
28 Feb, 11 tweets, 4 min read
The monolith vs microservices debate…

By now there is plenty of evidence that both architectures can lead to a “mess”. This only shows that we should not look at these as mechanisms for controlling the said mess” in the first place.

The answer lies somewhere else.

1/
“It’s the people!”

Well, as long as it’s people building the system, of course it’s the people. But, saying that does not get us closer to figuring a way forward though.

2/
Now, what exactly does “mess” mean? The famous spaghetti code?

Mess tends to assume that there is a clean way. And by clean, people typically mean easy to understand and change.

3/
Consider these dependencies between the components of a system.

Messy, right?

4/ Image
Now, let’s change the layout a little.

What do you know? We get to see (less strict) layers.

5/ Image
And if we trim the dependencies to only focus on the internal components and show only the direct external dependencies, the mess gets a lot cleaner.

6/ Image
Now, if we go a step further and connect the graph with documentation in an interactive environment, we transform the “mess” into an exciting opportunity.

(These are actually the dependencies of #gtoolkit as shown in the live documentation)

7/ Image
In this little experiment is that we did not change the system, yet the problem moved from apparently messy to interesting. This shows that messy/clean is not property of the system alone, but both of the system and of how we look at the system.



8/
Of course, how the system is constructed matters a great deal and monolith vs microservices is a useful conversation. But, that conversation is not about messiness. It’s about other issues such as scalability or team organization.

9/
If it’s the evaluation of mess you are interested in, revisit how you look at the system.

That might sound like an investment. That’s because it is. And is one you should start making right away.



#MoldableDevelopment

10/
And if you worry about the lack of budget … well, I’d compare it with the alternative.

The way we look at systems is not only a technical imperative. It’s a business one, too.



11/

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tudor Girba

Tudor Girba Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @girba

3 Mar
Tell us about programming languages that people might perceive to be extinct, but are still around today.

Let’s see how many we get.

👇
Read 4 tweets
22 Jan
“Developers spend most of their time figuring the system out."

Let’s dissect this a little.

🧵

1/
The oldest reference on the topic I know of dates back to 1979:

Zelkowitz, Shaw, and Gannon. Principles of software engineering and design. Prentice-Hall Englewood Cliffs, 1979.

2/
It said that most of the development time was spent on maintenance (67% in the book).

Granted, the book does not specify how the figure was obtained. Still, it was deemed an important enough problem to attract significant research attention since then.

3/
Read 18 tweets
5 Apr 20
The governor of New Jersey called explicitly for COBOL programmers to help with the development of the unemployment system:


This is how the software environmentalism crisis looks like. An explanatory thread. 1/
In the software development industry, we focus exclusively on building systems. The conversations are dominated by new languages, new frameworks, new deployment options. And the body of software grows exponentially. At the same time, we are unable to remove old systems. 2/
From this perspective, our software industry behave not unlike the plastic industry: we focus on building without any regards to recyclability. That is not sustainable. And, given the breadth of software’s reach, it is not responsible either. 3/
Read 44 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!