What Are Microservices?

Learn about microservices and how they are different from monolithic applications.

Objective

The objective of this chapter is to describe Kubernetes and its need in the clearest way possible, without putting you to sleep.

At its core, Kubernetes is an orchestrator of cloud-native microservices applications.

But that is a painful number of buzzwords in such a short sentence. So, you can take a step back while you are given answers to the following questions:

  • What are microservices?
  • What is cloud-native?
  • What is an orchestrator?

Before you can understand what microservices are, you will need to look at the traditional way of building applications.

Monolithic applications

Back in the day, monolithic applications were built and used. That is just a fancy way of saying that all of the application features were bundled together into a single package.

If you look at the illustration below, you will see the following bundled as a single ugly application:

  • The web frontend
  • The authentication
  • The logging
  • The datastore
  • The reporting

They are also tightly coupled, which means that if you want to change one part, you will have to change everything.