Monitoring

The monolithic world has a few advantages of its own. Monitoring and logging is one of those areas where things are easier compared to microservices. The sheer number of microservices across which an enterprise system might be spread can be mind-boggling.

As discussed in Chapter 1, An Introduction to Microservices, in the Prerequisites for a microservice architecture section, an organization should be prepared for the profound change. The monitoring framework was one of the key requirements for this.

Unlike a monolithic architecture, monitoring is very much required from the very beginning in a microservice-based architecture. There is a wide range of reasons why monitoring can be categorized:

When providing a service to other clients, monitoring becomes all the more important. In today's competitive world, an SLA would be part of any deal and has a cost associated with it, in the event of both success and failure. Ever wondered how easily we assumed that the Microsoft Azure SLA would stand true come what may? I have grown so used to it that the queries from clients worried about cloud resource availability are answered with a flat reply of 99.9 per cent uptime without even the blink of an eye.

So unless you can be confident of agreeing an SLA with your clients when providing a service, they can't count on it to promise the same SLA going forward. As a matter of fact, no SLA might mean that your services are probably not stable enough to provide one.