What is a microservice? A simple overview

An increasingly popular way to build applications is by creating a suite of microservices. That is, linking single, independent processes together.

But what is a microservice, exactly? Here’s a simple overview.

What is a microservice?

A microservice is a singular element created as part of a microservices architecture. This is where developers break a project down into a suite of modular components, known as services.

For example, you might have a log-in service, a payment service, an authentication service and so on. All these would communicate to create a larger application that uses these processes.

An analogy can be drawn from the way an organisation works. There are separate departments that work independently of each other — the IT Team, the HR team, etcetera. These teams are like microservices. And they communicate with other to make a whole business, a whole application.

So, what is a microservice? It’s a program that handles one small process or service. It can be deployed independently, but also work together with other microservices to make a bigger application.  

How do microservices work?

Another key part to the ‘what is a microservice’ question is understanding how they work. 

Microservices do one thing each. From there, they work together to create a wider application. This contrasts with monolithic applications, which have all their code in one principle executable file. They’re one program that does everything.

To do this, microservices use application programming interfaces (APIs) to communicate with each other. APIs essentially tell the services how to communicate with each other.

It’s important to note that a microservice is independently deployable.

This means that you can deploy it on its own, and it will work to perform the service or process it covers. Without, that is, support from other applications.

Why use microservices?

So, what is a microservice good for?

  • Microservices make it easier to test and deploy changes

Microservices are smaller than a monolithic application, and so they’re easier to manage. Each service is isolatable. So, if it goes wrong or needs an update, it doesn’t have to impact the rest of the application. In short, each microservice can be rebuilt, redeployed and managed independent of each other.

  • Each service is reusable

Once a microservice has been created, it’s reusable in other projects and applications. So, no more reinventing the wheel.

  • Require less development time and resource

Microservices, as the name suggests, are small. They handle one key process, and as such, they don’t need as much time — or as many team members — to create. So, a collection of smaller teams can make a microservice each, and these services can then come together to create a bigger application.

  • Resilience

Using a microservice architecture can boost application resilience. That is, one service crashing doesn’t mean the whole application fails.

  • Scalability

Because they’re independent of each other, microservices can be monitored and scaled independently. So, if one service within the application sees more traffic or popularity, it can be scaled without it impacting the other services. This means that instead of spending resources on all the processes, only the services that need the resources get them.

So, what is a microservice? It’s scalable, modular and manageable.

What is a microservice?

To sum up, a microservice does one thing and does it well. And from there, it communicates with other microservices, creating an application that can do more than each of its parts.

Useful links

Using automation for cyber protection

ELI5: What is an API?

Muntzing your processes