Virtualization Technology News and Information
Distributed Tracing Is for Everyone - Yes, Even You

Virtualization and Beyond

Welcome to Virtualization and Beyond

Distributed Tracing Is for Everyone - Yes, Even You

Written By Patrick Hubbard, Head Geek, SolarWinds

As technology professionals tasked with managing on-prem environments, you might habitually tune out when you hear "distributed tracing." It's easy to think that this technology is exclusively useful for developers or cloud applications, or that the strategy doesn't apply to your specific system. But as on-premise IT environments become increasingly distributed, there are actually a few ways tech pros can integrate targeted distributed tracing techniques and ultimately optimize performance. Better yet, these tools are rapidly maturing, as they start to focus on ease of use, finally making tracing a standard tool and not just tricky tech for developers.

When infrastructure monitoring isn't enough

Traditionally, technology professionals have been able to manage application behavior by viewing single components in isolation. With monolithic applications, APIs were tightly bound, and gaps, areas of potential disconnect, latency, or error didn't exist, or at least were opaque. Operations focused on gauges and alerts, and checking "blood pressure" and "heart rate," was enough to stay on track. That's no longer true as environments become distributed.

Implementing technologies such as microservices introduces a whole new set of issues, as individual end-user requests often travel through multiple system components. And tools that take each microservice in isolation no longer tell a clear or accurate "story"-creating significant operational difficulties. In a nutshell: gone are the days of simple monolithic applications and interfaces that are all in the same rack, as distributed applications and visibility gaps are here to stay.

Enter stage right: tracing. Distributed tracing can help all teams, not just cloud, address these difficulties by shedding light on the relationship between user-visible behavior at the top of the stack and the complex mechanics of the distributed systems underneath. More specifically, distributed tracing enables technology professionals to identify and monitor transactions and progress in those gaps/different layers, identifying issues that are their responsibility.

By increasing observability, monitoring capabilities, and helping businesses better deliver services to the end users, leveraging distributed tracing tools can positively impact any IT environment.

So, what's the catch?

Now, you might be thinking: if distributed tracing is so great, what's the hesitation in adoption? The answer is simple-we're living in the past. Specifically, lag of adoption is being fueled by a lack of awareness of how tracing technology has evolved and developed over the years, in combination with general uncertainty around how to use the resulting data and a misperception about the cost of tools.

Thankfully, distributed tracing has grown with the times: today, the tools integrate seamlessly into the more "typical" (read: less development-oriented) IT environment and are much more user friendly. Although the technology was initially designed for developers with cloud-native applications to manage, it has evolved into mainstream solutions that can help identify or illuminate dark spots in observability, and ultimately help enterprises improve the quality of their service delivery. In fact, monitoring today's complex, distributed systems-for example, microservice architectures-is nearly impossible using outdated tools: as we now know, they do not tell clear stories about distributed transactions.

For example, development teams still rely on Java® Management Extensions (JMX) technology to build distributed application services. Configuring your monitoring tool to not just monitor the apps resources like storage, memory, and CPU, but also developer proved JMX metrics, may provide decent information based on how the tech pro instrumented it. And traditionally teams stop there-if you have metrics for everything that's pollable, what else is there? This is where distributed tracing comes in. Tracing real transactions (not just polling infrastructure) provides a standardized way to bring order and normalness to the unconventional application and/or novel systems (which are often key differentiators for the business) that can't be monitored by standard monitoring tools.

Distributed tracing can replace some of the missing, more conventional and familiar metrics that have been lost as a result of building something with new technology or pursuing an unconventional approach.

Putting it all into practice

At this point, you're beginning to understand (hopefully) that distributed tracing tools are useful for more than just developers or tech pros managing cloud applications. If you're considering adopting distributed tracing tools for your systems, following a few best practices can help facilitate successful implementation:

1.       Do research and get educated: Conduct research and run thought experiments before introducing distributed tracing to your organization or spending money on implementation. Through learning and understanding the technology, you'll probably be surprised to discover that distributed tracing can actually improve the quality of services that you deliver-without breaking the bank.

2.       Know your use case: In most cases, distributed tracing tools shouldn't be implemented until an organization is starting a transition to microservices. Bear in mind, however, that it is crucial to think about distributed tracing early on in your journey to microservices. If your organization moves to microservices and has an underdeveloped distributed tracing story, developers and DevOps teams won't have the ability to make sense of even basic system behavior, let alone misbehavior.

3.       Start small: The first version of a project should be done on a small scale. When you're first starting out, don't talk to a vendor about a multi-million-dollar deal; start with a small project and evaluate several different technologies and approaches.

4.       Be aware of complexity and value simplicity: Modern distributed tracing applications are remarkably mature, yet easy to use. With this in mind, be wary of complexity. As is always the case with monitoring, simplicity is key. Distributed tracing will only be as useful to you as the breadth of its deployment-the more intricate it is, the less time you'll have to broadly deploy it (a necessary element to ensure comprehensive visibility) and the less useful it will ultimately be. In other words, don't overcomplicate it. 

5.       Be empowered to self-serve: Self-service is crucial. For example, if you need consultants to come in and do everything for you, you won't be empowered to evolve and innovate on your own. Ensure that you're picking tools and products that are based on well-supported standards by taking advantage of community documentation, best practices, white pages, etc. This way, you can either do it yourself or train your team on tools that are well-liked and well-understood.

Yes, distributed tracing is for you

Hopefully, you've had a chance to explore distributed tracing tools, which were once the exclusive prevue of developers and cloud-native operations teams. Luckily for you, they've evolved into mainstream tools that can help enterprises improve the quality of their service delivery and identify or illuminate dark spots in their observability.

Although you might have a preconception that this technology doesn't apply to your job, it probably does. Distributed tracing is a valuable tool that all of us should have in our toolbox. With research and education, you can determine how this technology fits into your organization, and work to implement it in a way that fits well with your use case and management tools.


About the Author


An accomplished technologist with over 20 years of experience, Hubbard's career includes software development, operations, product management and marketing, technology strategy, and advocacy. An unapologetic market-hype deconstructionist, Hubbard is passionate about arming technology professionals with the tools and skills to deliver services that delight, not just satisfy, users. Hubbard's current focus is helping enterprises adopt cloud-native and DevOps techniques that deliver the business transformation CIOs increasingly demand.

Since joining SolarWinds in 2007, Hubbard has combined his technical expertise with an IT customer perspective to drive product strategy, launch the Head Geeks, develop and manage the SolarWinds Certified Professional (SCP) and SolarWinds Academy Training Classes programs, and create the SolarWinds online demo platform. Today, most admins recognize Hubbard as the executive producer of the Telly award-winning SolarWinds Lab, and SolarWinds THWACKcamp.  With code in SolarWinds products and regular application of emerging technologies, Hubbard is a frequent blogger and invited speaker for cloud, DevOps, IT, security, data center, and networking conferences.

Published Wednesday, December 05, 2018 7:40 AM by David Marshall
There are no comments for this post.
To post a comment, you must be a registered user. Registration is free and easy! Sign up now!
<December 2018>