What Are Microservices and 4 Reasons Why You Should Begin Using Them in Your Applications

Tomasz Dobrowolski
3 min readMar 20, 2022
Photo by Joshua Sortino on Unsplash

Microservices are causing a stir.

It’s the new buzzword that everyone in tech talks about for architecting your application.

But what exactly are microservices and why is everyone talking about them?

Microservices are independent deployable services that work together to form an application

To a user, a program run by microservices looks no different from a program that is stored as a monolith.

And a monolith is one giant codebase that stores all the code for the application in one area.

Think of your application as a warehouse for an online store.

A monolith is like storing all of your stock in one large warehouse. It’s great when you first start. You have all your customers buying from you locally in New York, so having a warehouse in New York is convenient.

But suddenly your online store takes off, and you get a lot more orders. You need to store more inventory, which gets difficult to manage and organize.

And now you receive orders from Los Angeles, meaning it takes days to deliver a package from New York to Los Angeles.

Here come microservices to the rescue

With your orders increasing, you decide to split your massive warehouse in New York, into loads of small warehouses around the country.

And those warehouses will contain specific stock that is most popular in that area. If your most popular item in Los Angeles is swimming trunks, you can stock swimming trunks in your Los Angeles warehouse. Whereas in New York, you store your most popular item, which is coats.

A microservice is a part of your application, which is split out and only accesses the resources and data it needs.

You are breaking your monolith of a codebase and splitting it out into smaller dedicated pieces.

Now, the warehouse is not a perfect analogy, but it gets you thinking about how splitting out your application is beneficial.

Tomasz Dobrowolski

I break down Software Engineering and Tech concepts | Backend Engineer 🐘