Observability: Something Old, Something New

Heaven knows we all could use some luck these days, and observability may be just the thing we need. But observability isn’t luck, and it isn’t really new either. A few people even know that observability is an aspect of control theory, which dates back to the 1800s! In this blog post, I’ll cover some of the history of observability vs. traditional monitoring paradigms, and particularly, how they apply to the new world of microservices and containerization technologies, such as Docker and Kubernetes (K8s).

Observability vs. Monitoring

Monitoring tells you when something is wrong while observability enables you to understand why. Monitoring is a subset of and a key facilitator for observability. You can only monitor a system that is observable.

Observability is a measure of how well you can understand your system’s internal states from its external outputs. Observability uses instrumentation to provide insights that assist monitoring.

Ismail Egilmez at Thundra wrote an excellent blog post last year covering some of the differences between monitoring and observability in which he highlighted how the very architecture of modern application architectures and deployments means monitoring alone is insufficient. He said:

“Modern distributed applications cannot be effectively monitored by legacy methods, which are based on handling predictable failures. With microservices architecture now the de facto standard for web applications, effective debugging and diagnostics require that the system be observable — that is, its internal state can be inferred by observing its output.”

Something Old

Internal/External Monitoring

When eG Innovations introduced eG Enterprise in 2000, we explained what we called ‘selective, external monitoring’ and ‘precise, internal monitoring’.

At the time, vendors that monitored things like response time (i.e., end user perspective) often had no capability to monitor anything else. So, you could tell that ‘the system was slow’ but could not find out WHY.

eG Innovations’ application of both external and internal performance monitoring used (and still uses) a combination of both approaches to enable proactive monitoring and optimization of digital ecosystems.

Old vs. New it and infrastructure monitoring model

So, this ‘old’ approach is still in use today and is quite valid from an observability perspective.

Control Theory and Performance Monitoring

We did a webinar as part of a ‘shift-left’ series back in 2018 titled, “End-to-End Monitoring for ITSM and DevOps” and it had a section on monitoring, observability, and DevOps.

In it, we described how monitoring and control loops can be simple…

Monitoring and control loops

… Or complex!

Complex monitoring control loops

The fact is digital business services have end-to-end and top-to-bottom dependencies.

End to end and top to bottom monitoring diagram

Deviations from normal behavior can ripple across these dependencies, and this is inclusive of applications and infrastructure regardless of the deployment model.

When monitoring is fragmented across different toolsets operating at infrastructure, application, and business transaction levels the result is not typically what I would call a very ‘observable’ system.

These layers are interdependent, and any user who asks, ‘why is my application slow?’ is likely to agree unless you can isolate (or prevent him or her from having to call in the first place!).

As an ITIL Expert, of course I used ITIL to illustrate my points in the webinar. In that example, Service Strategy defines the architecture and standards, and Service Design defines norms (along with monitoring and control mechanisms).

Disclaimer: For the ITIL evangelists among you, ITIL v4 has just been released and I’ve not had an opportunity to review it at the time of writing this blog post.
ITIL service operations illustration
What’s interesting today is that back then I mentioned that “Monitoring and control loops are within an organizational context; design must bridge strategy and operations.”

Something New

Converged Application Performance Monitoring (APM)/Infrastructure Performance Monitoring (IPM)

What’s ‘new’ is the rapid migration to cloud-native architectures, which leverage containers (i.e., Docker, Kubernetes, etc.), DevOps principles, and CI/CD pipelines. Indeed, the recent acceleration in uptake of K8s technologies has been fueled by a wealth of enterprise offerings, such as Amazon EKS, VMware Tanzu, and Microsoft’s Azure Kubernetes Service (AKS).

Whether it is internal systems or customer-facing web applications, the digital user experience drives business today. No single factor is more important. But when there is a performance slowdown, this is where the agreement ends, and the challenges begin. Without a truly unified and holistic view of all factors—across applications and the infrastructure—that affect the user experience, you are effectively flying blind.

But while enterprise operating models are changing, and applications controlled by technologies like Kubernetes have many similar characteristics of other N-tier ecosystems–the differences lie in the dynamicity of each tier with microservices being increasingly adopted and the short lifespan of a container making it necessary to track application tiers as a whole rather than individual containers. These differences pose interesting challenges for monitoring tools.

Docker

Whether you are using Docker for modern app development, microservices, CI/CD, digital transformation, DevOps, or edge computing, eG Enterprise provides unified performance visibility into Docker containers and the application servers, applications, and databases running on them:

  • From a central console, get telemetry from across your container environment
  • Understand resource usage and capacity needs to futureproof container provisioning
  • Obtain code-level visibility of applications running inside Docker containers
  • Get correlated insight to identify root cause of performance bottlenecks
  • Automate monitoring in your auto-scaling Docker environment

Kubernetes

eG Enterprise is an enterprise-class, converged application and IT monitoring solution that provides unified performance visibility into the Kubernetes orchestration environment, the containers provisioned, and workloads running on them:

  • From a central console, get telemetry from across your Kubernetes cluster, nodes, and pod deployments
  • Understand resource usage and capacity needs to futureproof container provisioning
  • Obtain code-level visibility of applications running inside the containers
  • Get correlated insight to identify root cause of performance bottlenecks
  • Automate monitoring in your auto-scaling Kubernetes environment
  • Agnostically monitor the performance, availability, and billing of Kubernetes environments hosted on the cloud

What’s Old is New

The ability to leverage the same embedded analytics and layered user interface and include pre-built models for Docker and Kubernetes (along with the other 200+ out-of-the-box components) is both something old and something new.

Every migration starts from where you are today.

eG Innovations has helped customers answer the question, ‘why is my application slow?’ in the most performance sensitive and demanding customer environments for over two decades now. From digital workspaces to digital workloads running complex n-tier, distributed, and cloud-based ecosystems, eG Innovations has been pioneering unified performance management.

You could continue to swap out monitoring tools, but you don’t have to. eG Enterprise can unify your performance monitoring with personalized, role-based views regardless of where you are on your digital journey.

Observability requires total performance visibility; take a look at eG Enterprise today.

eG Enterprise is an Observability solution for Modern IT. Monitor digital workspaces,
web applications, SaaS services, cloud and containers from a single pane of glass.

Learn More