An introduction to observability
Monitoring systems, applications, and assets in your business has been a long-standing practice in IT teams. Teams will generally want to keep an eye on their most critical environments to know whether systems are performing to expectations. This is generally achieved by defining a collection of data points to be collected from systems to understand the state in which the system operates. Metrics can indicate when faults or errors occur; engineers then analyze code, data, and configuration to understand and fix issues.
We've discussed how modern systems are increasingly complex and dynamic, given the demanding problems they solve for customers. Modern architectures often take a highly functional approach to solving problems. For example, teams may choose a relational database to persist ACID-compliant transactions, while leveraging Elasticsearch to offer free text search capabilities on top of the same dataset. Components are also decoupled...