DEV Community

Cover image for Why use Microservice Server Architecture?
The Open Coder
The Open Coder

Posted on

Why use Microservice Server Architecture?

Traditionally, software server architecture has been described as a monolith, where all of the resources are hosted in one large environment. Within the past few years, DevOps specialists at many different countries around the world have been able to design a far more approved approach to server architecture called microservices.

What are Microservices?

A microservice is a small piece of the backend of a software application which runs in a virtualized environment. We can use these microservices to handle highly specific operations like authorizing a login or retrieving data from an API. By splitting these tasks up, we can encapsulate the functionality of the backend into thousands of tiny container instances. These containers can be running anywhere around the world, and we have the ability to destroy them and rebuild whenever we want. So, why do we take this approach to server architecture?

What is a Monolith?

A monolith server architecture basically keeps all of your resources, APIs, nodes, etc. in one large server. All of the infrastructure for your application is kept together, which means if one thing fails, it can crash your entire project. Now not all the software can be kept in one place, but the majority of it is kept together and all directly connected.

Advantages of Microservices

Alt Text
Microservices bring a unique advantage over the monolith server architecture. We can completely separate all the different functions of our backend into separate parts that can all be scatter across our network. This way their problems and errors don't affect each other. Also, this gives us the ability to update, delete, move, or create new microservices very easily. Because containers are so flexible, we can restart them and put them wherever we want. Lastly, we also have the ability to expand by simply adding new containers with microservices. We don't have to worry about the affect of adding and removing nodes on the entire project, as our system can be easily scaled without having to understand the inner workings of every container.

As you can see, there are some major benefits to using a microservice architecture. It gives large projects the ability to separate concerns between the different functions of their software. Along with this, we can easily scale a highly flexible system, all by using configured code running in virtualized containers.

Video Demo

Top comments (0)