DEV Community

loading...

Monolith vs Micro

UIXKinguin
A UX / UI Focused Entry Level Dev I really want to start picking up as many tools and skills as possible to solidify my place in this code ocean.
・2 min read

What exactly is a monolith and what is a Microservice? They're not exactly tangible and the definition seems a bit obscure at a glance so lets take some time to define both of them.

What is a Monolith?

It's a type of architecture where everything is self-contained in a singular pipeline. Think of your major CMS' like Drupal or WordPress. These are large applications/services that attempt to cover a large breadth of tasks and workload. It's both versatile but also very heavy.

What is a microservice?

Think opposite. These attempt to do a singular task or very specific task in a very small lightweight solution. Often times they are working in tandem with other microservices to achieve a larger task at hand. They are additionally usually paired with APIs so that they can properly communicate with other microservices.

Why is this important?

We as developers need to understand the mechanics behind this so that we can further refine our own understanding of web development, not just at a face value but the technologies that drive our workflow. The current trend is to rely on microservice technologies instead of monolith types. This is because code deployment is taxing and resource heavy when attempting to do deployments or fixes on Monolith type services. In a microservice type system we can deploy hundreds of times a day and fix small parts of the system that need work or make changes without having to fear of damaging the overall system.

Some industry leaders such as Uber, Netflix, and Amazon have realized this a long time ago and have shifted over to the microservice model.

How a deployment works with Docker:
Youtube

Discussion (0)