To begin with monitoring, you could think of different commonly implemented strategies as a solution to your problem. Some of the commonly implemented strategies are:
- Application/system monitoring
- Real user monitoring
- Semantic monitoring and synthetic transactions
- Profiling
- Endpoint monitoring
Just bear in mind that each one of these strategies is focused on solving a specific purpose only. While one could be helpful in analyzing transaction propagation, the other could be suitable for testing purposes. So it is important for you to pick up a combination of these when designing the whole system since just using a single strategy won't suffice the needs.
We have discussed in detail the scale-cube model of scalability and have found what scaling at each axis means. Note that x-axis scaling is achieved through the use of load balancers between multiple instances and the users of the microservices. We also saw how z-axis scaling is based on the transaction origination...