Micro-services are the opposite end of the spectrum as compared to monolithic systems. While Monoliths are massive software systems with complexity of highly interdependent, large complex code tucked away inside the proverbial black box.
Microservices key attribute is that they are self-contained and independent, have a clearly defined interface and ability to have separate persistence data of itself
And microservice architecture is a method of developing software applications as a suite of independently deployable, small, modular services in which each service runs a unique process and communicates through a well-defined, lightweight mechanism to serve a business goal.
How to get started