In Part 1 of this series, we introduced APM and Modern Observability. If you haven't read it, you can find it here.
For the past decade, Application Performance Management has been a capability provided by a very small and exclusive set of vendors. These vendors provided a bolt-on solution that provided monitoring capabilities without requiring developers to take ownership of instrumentation and monitoring. You may think of this as a benefit, but in reality, it was not.
Operations usually bought APM and would almost always struggle with finding and improving signal quality, having too much data, having the wrong data, and interpreting the data. Developers didn't have to care about how things were observed and had no real ownership in the journey of keeping things reliable. This has almost always led to a higher degree of low-quality software and higher MTTR.
The High Cost of Exclusivity
APM vendors have struggled with Cloud-Native architectures. Their agents were never designed for the Cloud and are almost always overkill for small microservices and ephemeral containers. Their agent code remains exclusive, lacks interoperability with one another, and provides features (such as heap analysis and thread dumps) that are no longer relevant in the cloud.
Despite this, legacy APM vendors today are touting support for Modern Observability and Open Telemetry. There is a caveat in that they provide this support by requiring customers to continue leveraging their proprietary agents (for the broadest support).
Keeping customers dependent on the vendor-owned code to equal out-of-the-box CNCF capabilities to me is counter-intuitive. The primary reason for this mindset and approach stems from their legacy beginnings. Generally speaking, their backends are not compatible with modern open-schemas of metadata and tags. To work around the limitations of being born in the legacy world, they must leverage proprietary agents as an abstraction layer to transform and map open standards to their closed ecosystem. This benefits these vendors but leaves customers locked into a single vendor's agent codebase (or more likely, multiple vendors' agent codebases to cover different domains such as logging, metrics, and traces), which come loaded with technical debt and are serviceable by only a small team of developers.
In relation to modern observability, the only argument we could try to make for proprietary agents might center around the following:
■ The agents are good at abstracting the control plane, simplifying telemetry acquisition via remote management and UI.
■ They provide features for dynamic instrumentation of the services, and environments they operate in.
Fortunately for the industry at large, this benefit is rapidly eroding with projects such as OpAmp (Open telemetry's Open Agent Management Protocol) and recent significant advances in auto-instrumentation frameworks and capabilities like span-events. The future does not look good for vendors pushing organizations to remain locked in exclusive, black box software to acquire their telemetry.
We are seeing more and more organizations realizing the enormous benefits that come with owning their telemetry from the outset. These companies are ditching proprietary agents and embracing open standards for telemetry.
Indeed, there is a new mantra emerging in the industry, "Supply vendors your telemetry, don't rely on you vendors to supply your telemetry."
Over the years, I have worked at many APM companies and have witnessed the downsides of exclusivity. For the customers, they've had to endure an extremely high cost of ownership related to:
■ Agent deployment and version maintenance
■ Massive tech debt in agent codebases
■ Specialized and expensive training
■ Ever-changing pricing models to support cloud-architectures
Exclusivity was born out of complexity. Simply put, it used to be very hard to collect telemetry in this way. APM vendors were truly successful at abstracting the complexity of acquiring telemetry.
In the early days, there were only a handful of developers in the world that really understood Java well enough under the hood and could build an agent capable of dynamically rewriting byte-code at runtime to capture the timings of code execution without breaking the application.
Some vendors fared worse than others supporting "dynamic" languages such as Python, PHP, etc. Nearly all of them struggle to maintain support for new frameworks and stacks and lag the market. This is in stark contrast to how Open Source contributions and innovation happen today. The net result is a yearly backlog of unhappy customers and support cases to resolve broken correlations in trace collection while waiting for vendors to support, for example, the next version of NodeJS or React that's been out for months.
Legacy APM is a great choice for the legacy, monolithic, on-prem environment. It is not my preferred choice for Cloud-Native architectures where things evolve quickly, are small down to the size of a function, and are highly ephemeral.
None of the legacy APM vendors invested in logging and even downplayed logging as unnecessary if you could trace it. This brought up questions from them such as:
Why log if you can capture errors and stack traces in the APM world?
Who wants to clean up all the exception logging to understand and rely on log content for knowing if something is healthy?
Most developers I worked with over my career did not want to take on that effort as technical debt.
In these APM solutions, the metrics being collected and presented were only those that were included when you installed the agent. Rarely did they provide an easy way of capturing custom metrics, nor was there really much in way of metric correlation across the layers of the stacks. These platforms lacked scalability and suffered from an architecture that didn't include time-series datastores. In fact, the scaling factor has always been the achilles heel of legacy APM vendors because none were born cloud-native and all must support proprietary data schemas, and progress on re-writing APM platforms to be compliant with the modern cloud has been painfully slow.
In the final installment (Part 3) of this series, I dive into the birth and history of modern observability.
The journey of maturing observability practices for users entails navigating peaks and valleys. Users have clearly witnessed the maturation of their monitoring capabilities, embraced DevOps practices, and adopted cloud and cloud-native technologies. Notwithstanding that, we witness the gradual increase of the Mean Time To Recovery (MTTR) for production issues year over year ...
Optimizing existing use of cloud is the top initiative — for the seventh year in a row, reported by 62% of respondents in the Flexera 2023 State of the Cloud Report ...
Gartner highlighted four trends impacting cloud, data center and edge infrastructure in 2023, as infrastructure and operations teams pivot to support new technologies and ways of working during a year of economic uncertainty ...
Developers need a tool that can be portable and vendor agnostic, given the advent of microservices. It may be clear an issue is occurring; what may not be clear is if it's part of a distributed system or the app itself. Enter OpenTelemetry, commonly referred to as OTel, an open-source framework that provides a standardized way of collecting and exporting telemetry data (logs, metrics, and traces) from cloud-native software ...
As SLOs grow in popularity their usage is becoming more mature. For example, 82% of respondents intend to increase their use of SLOs, and 96% have mapped SLOs directly to their business operations or already have a plan to, according to The State of Service Level Objectives 2023 from Nobl9 ...
Observability has matured beyond its early adopter position and is now foundational for modern enterprises to achieve full visibility into today's complex technology environments, according to The State of Observability 2023, a report released by Splunk in collaboration with Enterprise Strategy Group ...
Before network engineers even begin the automation process, they tend to start with preconceived notions that oftentimes, if acted upon, can hinder the process. To prevent that from happening, it's important to identify and dispel a few common misconceptions currently out there and how networking teams can overcome them. So, let's address the three most common network automation myths ...
Many IT organizations apply AI/ML and AIOps technology across domains, correlating insights from the various layers of IT infrastructure and operations. However, Enterprise Management Associates (EMA) has observed significant interest in applying these AI technologies narrowly to network management, according to a new research report, titled AI-Driven Networks: Leveling Up Network Management with AI/ML and AIOps ...
When it comes to system outages, AIOps solutions with the right foundation can help reduce the blame game so the right teams can spend valuable time restoring the impacted services rather than improving their MTTI score (mean time to innocence). In fact, much of today's innovation around ChatGPT-style algorithms can be used to significantly improve the triage process and user experience ...
Gartner identified the top 10 data and analytics (D&A) trends for 2023 that can guide D&A leaders to create new sources of value by anticipating change and transforming extreme uncertainty into new business opportunities ...