CLOUD : Observability
- Manoj Mathen
- Nov 27, 2020
- 3 min read
Updated: Jan 17
#cloudarchitecture #CLOUD #observability #microservicesarchitecture #monitoringservices #cloudadoption #controlsystems #hyperscale #devops

November 27, 2020
“If a tree falls in a forest, and no one is around to hear it, does it make a sound? goes the adage. In the modern enterprise application era, we are sure, that if a tree falls, there is a “log” lying out there!
Observability is an elementary concept and is often used in the context of monitoring. It has been a buzz word recently and few argue that it is nothing, but Devopsified Monitoring. Few claim it to be system monitoring on steroids. Traditional Monitoring allows you to monitor what you know, the known failures. The unknown unknowns still exist, no one would have heard the tree fall. The recent pandemic has for sure, has accelerated the exodus to CLOUD for enterprises. While this is good, Observability for CLOUD based applications should be a key consideration for atleast for some of the reasons argued below
Observability is considered to be more of a CLOUD native concept and is seen as a proactive approach compared to the reactive traditional monitoring. An observable system doesn’t necessarily mean that it is monitored, but observability is seen as key pre-requisite to facilitate end to end monitoring specially in a hyperscale distributed eco-system.
Genesis:
Rudolf E, an American engineer introduced the concept of observability for linear dynamic systems. In control theory, observability is a measure of how well the various internal states of a system can be inferred based on the outputs. In other words, ‘feedback’ is key for any such inference. Explicit Feedback signal generation to assist observability is a key consideration in modern application design.

One of the key pre-requisites of a stable software system is predictable outputs, ie one where the boundary conditions are known. For example, an API that fetches the customer details should be able perform its task consuming CPU cycles ranging between ‘x’ and ‘y’ or by consuming memory within a known range ‘x’ MB – ‘y’ MB. If ‘x’ & ‘y’ are unknown, then the system cannot be considered as a stable one. Needless to say, the basic checks for stable, finite states specifically at the infra and network layer has to be in place. In other words, a system and its states has to be observable.
Observability in Action:
Full stack Observability is crucial for hyper scale CLOUD systems. It’s collecting, visualizing and alerting at all layers – network, host and the application. Application layer monitoring is tough, as they are very specific to the business and keeps changing as the business / application changes. It also helps cut through the noise to find the signal.
Well-designed systems, where observability is built-in can provide a panoramic view of the overall system performance. This requires correlating infrastructure health, application performance and end-user behavior. Once done, this provides deep technical and business insights to the enterprise application and thus helps to extract the maximum out of the application software. This is clearly a sign of mature enterprises.
Cloud Observability in a Multi-Cloud scenario
Multi-Cloud adoption is on the rise and enterprises have various reasons for the same. Many of these benefits cannot be ascertained, unless there is a strategy for Cloud observability in the multi-cloud scenario and this is where things start getting interesting!
Cloud observability is a key pillar for multi-cloud governance. Traditional monitoring, logging or tracing could possibly fail in a multi-cloud scenario. Cutting through the noise to the signal becomes very difficult. Understanding the dynamics of distributed systems, containers and serverless systems is essential. In a multi-cloud ecosystem, operational data from across cloud providers should be collected, overlaid and correlated to get the complete view.
In short, if a tree falls deep down in the topology, let us ensure that it is observable. This is one of the first steps to consider, as we design systems for the CLOUD.
More on this later, happy Thanksgiving!!
Comentários