Considering Microservices? Here’s Why You Shouldn’t Dismiss Monoliths Just Yet

Considering Microservices? Here’s Why You Shouldn’t Dismiss Monoliths Just Yet

Considering Microservices? Here’s Why You Shouldn’t Dismiss Monoliths Just Yet. Cloud Architect and Author Rahul Rai argues how microservices aren’t a cure-all to the challenges and pain points associated with monoliths in this blog.

It is much simpler to deploy a monolith, as it is easier to avoid many of the pitfalls associated with distributed systems.

In a  Cloud Microservices Market report, it was found that the cloud microservices market was valued at USD 831.45 billion in 2020, and it is expected to reach USD 2,701.36 billion by 2026. This is a clear indication of how microservices are currently driving the market, encouraging organizations to break their applications into smaller components and leave their "traditional" monolithic architecture behind.

However, before we dismiss monoliths entirely, cloud architect and author  Rahul Rai argues how microservices aren’t a cure-all to the challenges and pain points associated with monoliths.

"In fact, in most of the cases, monoliths are a better design choice, and some monoliths, such as the single process [monolith] or modular monolith, have a whole lot of advantages as well," Rai says during an interview on  Coding over Cocktails, a podcast by TORO Cloud.

Rai added that it is much simpler to deploy a monolith, as it is easier to avoid many of the pitfalls associated with distributed systems. As a result, monoliths can have much simpler developer workflows.

But why do they have such a bad reputation?

According to Rai, monoliths have a bad reputation because "the application concerns [can become] poorly segregated, which makes it hard to decouple parts of the application, and for developers to deploy them independently".

"That being said, as a monolith grows, [it reaches a point of] diminishing returns – and one of the biggest advantages of microservices is isolation," he states.

Monolith vs. Microservices Diagram

How Do We Choose Between Monolithic and Microservice Architectures?

Rai advises that if the teams are very small and the application concerns are not massive, you shouldn’t start with building services for each and every concern.

"And more so if your team is very small. Don't start with microservices because developers would be better off focusing their time and attention on a single code base and deploying it together, rather than focusing on a ton of services and managing them," he added.

What teams can do instead is to create a well-segregated monolith first. And then, as the code base of that monolith grows, its domain-specific concerns can be broken down into smaller modules.

Rai compares the process to playing with Lego blocks: "You start by putting all of these blocks together instead of building a single structure from it. But when the time comes, you can take a set of blocks and deploy it independently from everything else. And as the team grows and as the business concerns grow, start segregating them. But, you don't just jump with this idea that you will start off with microservices, even when the domain boundaries are not very clear and you don't know what you are going to do."

"So, microservices give you this benefit of experimenting with something. And, if it doesn't work out, you can throw it away." Rai explains.

microservice monolith

What is Geek Coin

What is GeekCash, Geek Token

Best Visual Studio Code Themes of 2021

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Microservices and Data Management - DZone Microservices

This article describes the nature of microservices applications, contrasts them with monolithic apps, and talk about microservices in data management.

Microservices and Data Management - DZone Microservices

This article describes the nature of microservices applications, contrasts them with monolithic apps, and talk about microservices in data management.

Microservices and Data Management - DZone Microservices

This article describes the nature of microservices applications, contrasts them with monolithic apps, and talk about microservices in data management.

Why Transition From Monolith to Microservices?

Why transition from Monolith to Microservices? Microservices solve many issues monolith architecture has. In this article, we'll discuss why you should transition from monolith to microservices.

Breaking Monolith to Microservices

Breaking Monolith to Microservices. One of the most common topics when talking about Microservices is break a Monolith to Microservices. Converting their existing legacy monolithic to modern Microservices system. Motivation for Breaking Monolith. When a monolith system requires frequent changes, migrating to Microservices is definitely a logical step.