In this chapter, we go beyond the border of a single app and discuss how to investigate situations caused by apps working together in systems. Today, many systems are composed of multiple apps that communicate with one another. Large business systems leverage various apps, and they are often implemented with different technologies and on different platforms. In many cases, the maturity of these apps also varies from new services to old and messy scripts.
Debugging, profiling, and logs aren’t always enough. Sometimes you need to find bigger clues. An app can work well independently but not correctly integrate with other apps or the environment it’s deployed into.
We’ll start in section 12.1 with ways to investigate communication between the services of a system. In section 12.2, we’ll focus our attention on the relevance of implementing monitoring for apps in a system and how to use the information a monitoring tool provides. We’ll end this chapter’s discussion in section 12.3, where we’ll discuss how to take advantage of deployment tools.