Maslow's Hierarchy of Needs is a motivational theory in psychology, comprising of a multitier model of human needs, often depicted as hierarchical levels within a pyramid. Maslow uses terms such as physiological, safety, belongingness and love, esteem, self-actualization, and self-transcendence to describe the stages that human motivation generally moves through.

I thought, I should apply it to microservices, too, as there is a clear list of needs that has to be satisfied in order to be successful in the microservices journey. Once I listed the main microservices concerns, I couldn't stop myself noticing that Kubernetes does cover a big chunk of these needs pretty well. So I've added Kubernetes to the diagram as well, and here is the result:

Microservices Hierarchy of Needs

The key takeaway from this diagram is that Kubernetes can automate many boring microservices-related activities such as environment provisioning, resource management, application placement, deployment, health checks, restarts, service discovery, configuration management, auto scaling, etc. With all that taken care of by Kubernetes, developers can focus on what really requires creativity and talent: analyzing business problems and creating great domain-driven designs hidden behind beautiful APIs with well-crafted clean code that is constantly refactored and adapting to change.

Recently, I've been blogging and speaking about why Kubernetes is the best platform for running Microservices styled applications. If you have not been convinced yet, give it a try.

And if you want to know more about microservices and their needs, see more here.