Microservices architecture is the new norm for building products these days. An application made up of hundreds of independent services enables teams to work independently and accelerate development. However, such highly distributed applications are also harder to monitor. When hundreds of services are traversed to satisfy a single request, it becomes difficult to investigate system issues.
Microservices are being used every where and for good reasons. They do provide you with many benefits especially improved focus and cutting the time to market. Microservices do bring complexities too. Monitoring microservices is complex because of simply the number of them. Monitoring a user transaction requires monitoring many microservices. Correlating the data from them to identify the root cause manually is a nightmare especially in a complex environment with 100s or 1000s of microservices.