DEV Community

loading...

Whats the Difference: Monolithic vs Micro-services

techwithjoe profile image TechWithJoe ・2 min read

Lets start with what Monolithic is:

The monolithic web module is a way of grouping all the services into one platform. As Thorntech.com explained it:
"In a typical client-server architecture, a monolithic product lives on the server, where it handles HTTP requests, executes logic, and interacts with the database. It contains a single executable that performs all of the server-side functions for an application" (Mike Chan, Thorntech.com).

What this means is that a monolithic client-server based architecture is one big block. In monolithic, everything is managed and served from the exact same place. The size and simplicity of monolithic architecture is both its best and its worst features.

So then what are Micro-services?

Micro-services in the whole is completely opposite. They are smaller, modulars of code that is deployed independently from the rest of the code. This allows each service to be used for one specific tasks. A great example of a service that uses this architecture is Netflix. At first, Netflix was a monolithic style of a service. But as they expended to streaming platforms, they use Micro-Services to independently get content from multiple places (Thorntech.com)

I found this photo on the web that helps explain the difference a bit more:

I also made a quick demonstration of how using docker in hand with micro-services to deploy a simple to-do app:
https://www.youtube.com/watch?v=SWhbqpik1lk

Sources:
https://www.thorntech.com/microservices-vs-monoliths-whats-right-architecture-software/#:~:text=While%20a%20monolith%20is%20a,rest%20of%20a%20product's%20components.&text=Microservices%20components%20are%20modular%2C%20so,independently%20of%20any%20other%20code.

Discussion (0)

pic
Editor guide