Specials

How organizations can help their developers with full-stack observability

By James Harvey

 

In a world where commercial success is increasingly determined by the quality and security of the digital experiences’ that businesses are able to deliver, developers are under extreme pressure. In many organizations, developers are being asked to innovate at ever higher speeds, increasing application release velocity to attract new customers and differentiate their brands in a hugely competitive, digital-first economy.

 

At the same time, a single slip-up in application availability, performance or security can have major implications for the business. With consumers increasingly turning their backs on brands who deliver poor digital experiences, brands can suffer significant loss of revenue and reputation from any kind of disruption or downtime with their application.

 

Exacerbating this challenge for developers is the fact that the enterprise tech stack is more complex than it has ever been. As developers go about their daily tasks (writing code, troubleshooting bugs…), they do so amid a growing range of endpoints, application components, and environments, dispersed across dynamic and disparate on-premises and cloud systems. Indeed, IDC research shows that a typical cloud native application can have from five to 15 dependencies on other services, resources, or application programming interfaces (APIs) — each of which generates its own set of operational risks and associated metrics and data.

 

Unfortunately, developers don’t have full visibility across their hybrid application landscapes, making the job of managing and optimizing their applications almost impossible. They are still relying on a multitude of separate, traditional monitoring tools, and so have no single source of truth for application data.

 

Increasing visibility across hybrid application environments with full-stack observability

 

To make sense of complex, dispersed, and often opaque tech stacks, business leaders should turn to full-stack observability for their developers. As the name suggests, it goes well beyond legacy application performance monitoring to shine a light inside all systems and components, spanning networks (on-premises and in the cloud), virtual servers, and Kubernetes clusters.

 

The foundations of full-stack observability are built on data – and in particular, four types of data: metrics, events, logs, and traces (MELT). Each type of MELT data contributes specific value to improve visibility and insight across cloud native and hybrid environments and, when combined, they enable developers to gain a much deeper understanding of their systems.

 

While each individual MELT dataset is important in its own right and plays a vital role in enabling visibility, traces play an outsized role in enabling observability.

 

How traces can transform application management and optimization

 

Traces are so important because they reveal the chain of actions (each one of which is called a ‘span’) that an application takes to finish a task. In the complex systems architectures common today, a span could include calling an API to execute functionality inside a cloud-based container or to pull data from an on-premises server. Traces track the connections between these actions and locations.

 

The insights provided by traces can help developers in a number of ways. For example, in the development lifecycle, understanding the connections between actions and locations enables developers to rapidly pinpoint issues within the stack and focus on areas that need to be debugged and improved. Traces data can therefore help developers meet increasing pressure to release code quickly, while helping to reduce the chance of flawed code making it into production.

 

Remediation is another good example. Here, traces can be used to accelerate root-cause analysis and thereby drive faster issue resolution. Meanwhile, during the system optimization process, developers can use traces to inform their coding and infrastructure decisions, shape customer experience, and help reduce operating costs.

 

Traces are, therefore, key to increasing observability of components and their associated actions and locations across the tech stack. They can unlock the insights developers need to work faster and smarter, helping them deliver code at pace while ensuring against errors that could impact the user experience.

 

OpenTelemetry standards are essential

 

However, if developers are to unlock the full benefits of traces – and indeed the other elements of MELT – then they need instrumentation capable of sitting across every system component so that every part of the IT environment is observable. The challenge is that traditional monitoring technologies are difficult to implement in those parts of the stack that are owned by someone else, such as cloud infrastructure, virtual servers, and microservice containers.

 

Fortunately, OpenTelemetry standards are solving this challenge. These open-source standards facilitate instrumentation, data collection, and delivery into many common observability systems. Importantly, they span components on-premises, in the public cloud, and at the edge of the network where local devices meet the public internet. That makes OpenTelemetry the perfect standard for enabling trace data to be used in application development and lifecycle management.

 

Developers can also augment the insights delivered by OpenTelemetry by using a full-stack observability platform capable of extracting business transactions and navigating agent-based monitoring within on-premises environments. In this way, developers can correlate their traces data with business transactions, enabling them to make better, insight-driven decisions and prioritize actions based on the potential impact to the end-user experience and the business.

 

Enabling developers to work smarter

 

Developers are on the front line of today’s digital-first businesses, and their work is pivotal to the overall success of their companies. Delivering secure, available, and high-performance applications is fundamental to the customer experience and, therefore, revenue growth. Fortunately, developers also now have more data than ever to help them in this important work. Traces are particularly important, providing deep, near-real-time insights into components and their relationships across the distributed enterprise environment.

 

The challenge for developers is being able to integrate and correlate huge volumes of traces data (and indeed all MELT data) to get a complete picture of application health across their hybrid IT estate. And this is where full-stack observability is now so critical. With it, developers can deepen their engagement with and understanding of systems and apply meaningful insights that help them work smarter and faster. They can deliver the accelerated innovation that their organizations are demanding while also ensuring the seamless digital experiences that consumers now value so highly.

 

 

(The author is James Harvey, CTO Advisor, Cisco Observability, and the views expressed in this article are his own)