The New Stack Podcast

OpenTelemetry Properly Explained and Demoed

Episode Summary

OpenTelemetry project offers vendor-neutral integration points that help organizations obtain the raw materials — the "telemetry" — that fuel modern observability tools, and with minimal effort at integration time. But what does OpenTelemetry mean for those who use their favorite observability tools but don’t exactly understand how it can help them? How might OpenTelemetry be relevant to the folks who are new to Kuberentes (the majority of KubeCon attendees during the past years) and those who are just getting started with observability?  Austin Parker, head of developer relations, Lightstep and Morgan McLean, director of product management, Splunk, discuss during this podcast at KubeCon + CloudNativeCon 2022 how the OpenTelemetry project has created demo services to help cloud native community members better understand cloud native development practices and test out OpenTelemetry, as well as Kubernetes, observability software, etc. 

Episode Notes

OpenTelemetry project offers vendor-neutral integration points that help organizations obtain the raw materials — the "telemetry" — that fuel modern observability tools, and with minimal effort at integration time. But what does OpenTelemetry mean for those who use their favorite observability tools but don’t exactly understand how it can help them? How might OpenTelemetry be relevant to the folks who are new to Kuberentes (the majority of KubeCon attendees during the past years) and those who are just getting started with observability? 

 

Austin Parker, head of developer relations, Lightstep and Morgan McLean, director of product management, Splunk, discuss during this podcast at KubeCon + CloudNativeCon 2022 how the OpenTelemetry project has created demo services to help cloud native community members better understand cloud native development practices and test out OpenTelemetry, as well as Kubernetes, observability software, etc. 

 

At this conjecture in DevOps history, there has been considerable hype around observability for developers and operations teams, and more recently, much attention has been given to helping combine the different observability solutions out there in use through a single interface, and to that end, OpenTelemetry has emerged as a key standard. 

 

DevOps teams today need OpenTelemetry since they typically work with a lot of different data sources for observability processes, Parker said. “If you want observability, you need to transform and send that data out to any number of open source or commercial solutions and you need a lingua franca to to be consistent. Every time I have a host, or an IP address, or any kind of metadata, consistency is key and that's what OpenTelemetry provides.”

 

Additionally, as a developer or an operator, OpenTelemetry serves to instrument your system for observability, McLean said. “OpenTelemetry does that through the power of the community working together to define those standards and to provide the components needed to extract that data among hundreds of thousands of different combinations of software and hardware and infrastructure that people are using,” McLean said.

 

Observability and OpenTelemetry, while conceptually straightforward, do require a learning curve to use. To that end, the OpenTelemetry project has released a demo to help. It is intended to both better understand cloud native development practices and to test out OpenTelemetry, as well as Kubernetes, observability software, etc.,the project’s creators say.

 

OpenTelemetry Demo v1.0 general release is available on GitHub and on the OpenTelemetry site. The demo helps with learning how to add instrumentation to an application to gather metrics, logs and traces for observability. There is heavy instruction for open source projects like Prometheus for Kubernetes and Jaeger for distributed tracing. How to acquaint yourself with tools such as Grafana to create dashboards are shown. The demo also extends to scenarios in which failures are created and OpenTelemetry data is used for troubleshooting and remediation. The demo was designed for the beginner or the intermediate level user, and can be set up to run on Docker or Kubernetes in about five minutes. 

 

“The demo is a great way for people to get started,” Parker said. “We've also seen a lot of great uptake from our commercial partners as well who have said ‘we'll use this to demo our platform.’”

Episode Transcription

Colleen Coll  0:08  

Welcome to this special edition of the new stack makers on the road. We're here in cube con North America and discussions from the show floor with technologists giving you their expertise and insights to help you with your everyday work. Pucon and cloud native con conference news gather adopters and technologists to further the education and advancement of Cloud Native Computing, the vendor neutral events feature domain experts, and he maintainers behind popular projects like Kubernetes, Prometheus, envoy, core DNS container and more.

 

Bruce Gain  0:47  

High speed Cameron gain corresponded with the new stack here in beautiful downtown Detroit. I really love this city. I'm here today with Austin Parker, head of Developer Relations at Lightstep. Thanks for joining us today, Austin.

 

Austin Parker  1:09  

It's great to be here. Thanks for having me.

 

Bruce Gain  1:11  

I'm here also with Morgan MacLean, Director of Product Management at Splunk.

 

Morgan McClean  1:15  

Wonderful to be here.

 

Bruce Gain  1:17  

Glad to have you here. Because I'm really interested in observability and open telemetry. And for our viewers and listeners, how do you describe this context? Or could you please just put observability today is conjuncture in time? And how does open telemetry fit into that, please?

 

Austin Parker  1:39  

It's funny because we were just talking about this before we came on. And I the way I described it, right is that if you think about Kubernetes, Kubernetes, has really been transformative to developers and operators because it standardizes a lot of the conventions and API's and ways that we think about scaling and deploying cloud native software. Open telemetry solves that for observability. Because if you want to have observability, you need a lot of different data sources, you need to transform and send that data out to any number of open source or commercial solutions. And you need like a lingua franca to be consistent right to say, like, hey, every time I have a host, or an IP address, or any kind of metadata, right, consistency is key. And that's what open telemetry provides. It's everything that you need, as a developer, as an operator to instrument your system for observability. And it does that really through the power of the community working together to define those standards and,

 

Morgan McClean  2:34  

and provide the components needed to extract that data, hundreds of 1000s of different combinations of software and hardware and infrastructure that people are using.

 

Bruce Gain  2:43  

So it covers the gamut, so to speak. I mean, for example, from the users perspective, they might be looking at different observability solutions, for example, they might also be looking at different databases, different data sources. Yes. So can you please just kind of describe though, how does that work from the user perspective,

 

Morgan McClean  3:01  

that sort of depends on which part you're looking at? I think if we look at like the adoption cycle for users, right, historically, they've looked for some kind of all encompassing solution that at least covers a slice of their observability needs. So they'll look for, say, an infrastructure monitoring solution or an APM solution. And that would typically each would have its own description of what a metric is, what a trace is, how data is, is it the annotations on data, things like that, which made it challenging to deploy them, because now you had an agent for each one with different capabilities and different ways of speaking. And then you also would have your end actual solutions that your developers and operators would use every day, which wouldn't talk to each other. And so you'd get this sort of bifurcated view of what you've actually deployed how it worked. And we wanted to fix it. This caused a lot of challenges. I think today, it's shifting to work where companies are seeing opentelemetry, they go and roll that out. They use its collector agent, the language agents, other components to capture all of the data that they need from their infrastructure and applications, that data is all consistent, it's correlated, both they can customize it how they want. And now that when they look at observability solution, they're saying, hey, I want to send this data to you. What can you show me? Right? What value do you give me? And open symmetry also has the benefit of them being able to use multiple of those solutions at the same time? Yeah, so if there's say, a broad ranging observability solution solves a number of their needs, they can adopt that. But if they also want to do offline analytics, or use a specific point solution, they can still proceed of that. With the data that's coming out of open telemetry,

 

Austin Parker  4:25  

it gives you a lot of optionality, right? As an organization that bring together and observability practice or if you're trying to, in a lot of places, you see sort of the start and stop, someone came in and we implemented observability this way, or we have this one logging solution, we have this one metric solution, or we maybe have multiple metrics, solutions based on which team you're on different things coming through acquisitions. I talked to someone earlier this week at cube con. And I was like, so let's talk about monitoring right and talk about observability and he's like, I've got seven or eight or nine different tools. And I see the same everywhere and that's most places that's the norm, not the exception. And I think open telemetry, the promise that we're starting to realize is that by having a project like this, where there's really high alignment, really high trust between, you know, a bunch of commercial competitors, and also an open source solutions, while the open source dilute, but coming together as an open source solution, what we've seen is great cooperation, right? Because this solves a problem for everyone. And crucially, it solves a lot more problems for end users. Yes.

 

Bruce Gain  5:31  

How does it work from the users perspective? With open telemetry they're trying to regroup is different for building platforms they want to use for example, and yes, you're getting good data, good metrics from several of them likely, yep. And they have their logs and everything, etc. And on a user's perspective, with opentelemetry, how does that play out?

 

Morgan McClean  5:54  

So I mean, you would set up opentelemetry, the collector agent to capture your infrastructure data, like that's typically your infrastructure metrics, your logs, and also to capture any data coming from the language specific opentelemetry components that capture data from your applications. The collectors also capturing critical telemetry from sort of third party pre packaged applications, typically databases, things like that, you now have this stream of consistent and coherent telemetry rights coming out of all of them. And to your question of like, well, what do I do next? You use exporters and open telemetry to send that data where you want, you can send it to multiple destinations, as I mentioned before, okay, and typically now you're used to doing that in the standard open telemetry protocol, oh, TLP format. And it's literally if using TLP, like a couple lines of config effectively to send that data to whatever destination or destinations that you choose, it really improves the flexibility, right? Like if you're an end user, you know, I mentioned scenarios where you want to use say, like a broad based observability solution to point solution. Very easy. But also, if you're maybe I don't know, want to try out other vendors try out new things. Yeah, it is trivially trivial is relative, it's extremely easy to start streaming that data to a new destination to go kick the tires and try it out. Is the

 

Bruce Gain  7:04  

data the tag, I mean, you know, for example, this came from observability. Platform x,

 

Morgan McClean  7:10  

so typically is going into an observability platform, and the data is coming out as your own application, right own infrastructure, things like that, right? And you're sending it to a location.

 

Austin Parker  7:18  

So I want to bring up something because this is a pretty common question you have, right? Like, what do I actually do with all this? And we have heard this in the community. And so we spent the past six months or so working on a open telemetry demo. Cool. Okay. Yeah. Right. So that we actually just announced this week that that's now 1.0, that's generally available, you can go to Open telemetry on GitHub, you can go to our website and read on the blog, how to get started with it. And that shows you actually everything we just talked about. It shows you adding instrumentation to an application to get metrics and logs out of it and traces, it shows you getting infrastructure metrics, and sending all that to open source projects like Prometheus and Jaeger. And then using tools like Grafana, to actually create dashboards. We've also built in several scenarios that allow you to kind of create failures, and then use the open telemetry data to uncover like, what's actually going on, right, we walk you through that through tutorials on the project. So it's a great way for people to get started, you know, it takes five minutes to get up and running. And we've seen a lot of great uptake from commercial partners as well who have said, we'll use this to demo our platforms. Right, exactly. Again, using that, oh, TLP. And that sort of standard way of exporting data. It's an

 

Morgan McClean  8:32  

easy way to demo different observability solutions. And as I mentioned earlier, it's a great way also, where even if you're happy with your observability solution is a great way to start using open telemetry to see examples of it used in practice on a relatively complex service, or set of services.

 

Bruce Gain  8:47  

You're actually describing how it works, you're answering the questions very well, but I'm having to intellectualize and visualize it at the same time. So this demo, I think, is a way to build up that hands on muscle memory, so to speak precisely, how does that work? I mean, are you actually what do you find it to wherever? So again,

 

Austin Parker  9:06  

you can find the demo on the open telemetry GitHub organization, right, you can get there from the open telemetry.io site. Yeah. And what the demo actually is, it's a working application. It's an E commerce websites like 11, different skill levels, different services, languages, right? Different every language that opentelemetry supports, minus Swift.

 

Bruce Gain  9:24  

How many are there now?

 

Austin Parker  9:25  

opentelemetry supports 12 languages. Everything from Java, Go PHP, Swift, dotnet.

 

Morgan McClean  9:34  

Python? Yes. It's like a Python.

 

Austin Parker  9:37  

Yeah. So we have a Python service in there, right? It's a Python microservice that communicates over G RPC. This whole thing can be spun up and Kubernetes. And we've instrumented the entire thing is sort of a Best Practices Guide, right? Because it's one of the hardest things when you know, you're a developer, you hear about a new technology. You go to the docs and you maybe you get code snippets, but yes, they're tiny. They're tiny, right? Yeah. Need something that says, How do I actually do this?

 

Morgan McClean  10:02  

We suffer from that, right? Like I've used, like the JavaScript or go SDK and integrate. And our documentation is actually fairly robust on some of these. But Bill is often mentioned, it's not enough. So we have examples for our various SDKs, or in our language libraries for say, like go or JavaScript or others that I've used, where we complimented documentation with examples. And this is prior to us building the demo. And we have samples of things like here's how you can trace a trivial G RPC interaction. But that's simple, right? There's a lot of complexity in real life when people are tracing real production services or capturing metrics or logs or what have you from them. What the demo shows is how to do that on a set of services and infrastructure that resemble what you would actually be using in production. So it's

 

Bruce Gain  10:42  

not just a hello, hello, world exactly. Implementation of how to use it, you're actually looking at what it looks like in a rural, often, for many initially a chaotic situation,

 

Morgan McClean  10:54  

I expect the demo to be the thing that probably the majority of developers who adopt opentelemetry end up using as a sample like as a resource.

 

Austin Parker  11:01  

And that was our goal. And we're designing it because we didn't just say like, Okay, here's this very basic sort of interactions, we wanted something that was real. Yeah, we wanted to show developers not only, hey, this is how you kind of set stuff up and you do that initialization. But here's how you actually add observability. And here's how you like add context to the telemetry data that open telemetry can provide you so that you can help better represent your system, right? The business logic, the interesting things you want to ask questions about, we are trying to show you the guide on like, Hey, here's how you actually build that. That's really crucial for both adoption. And also, I think, for helping everyone in the market understand like this is where things are going just in the way that Kubernetes again, was able to go out and sort of plant a flag and say like, this is how we think things should be done. Open telemetry should be able to drive innovation in the monitoring year, both on the open source and the commercial side for many years to come,

 

Morgan McClean  12:00  

especially with all the new functionality being added, like we talked about the demo and open telemetry, classically tracing, Support Metrics was added for application infrastructure metrics this year as logs is being added now. But there's new things on the horizon are available now at this time they're being they're being worked on, it's usable. In certain scenarios, sort of classic text based infrastructure logs, people are doing that in production, there's more to come. And in the different form, we can talk about more, but on the horizon is also profiling as a datatype. So people can dive into how their code is actually performing in production down to individual function call. And we're also extending open telemetry to capture data from client application. So mobile apps, desktop apps, front end web applications, so that to Austin's point, those observability solutions can innovate by extending their observability, from back end services, back end infrastructure running on a data center running in the cloud, to the entire breadth of an application. So I can see, you know, someone's using my mobile app to buy something, there was an error. And I can go see exactly does that error in the app was an internet connection was it in my back end services, I can see the whole thing all the way to the edge all the way to the edge and into the databases and everything else, let's see, you can get this full view, right? actual true full observability into the Brett to the system, from clients to backend services and the depth all the way down from high end service interactions, infrastructure interactions, down to individual function calls and parts of your code base. Think of like what the various firms that absorb and use consume open telemetry data in the open source projects, the insights and innovations that can drive with it. I'm sure

 

Bruce Gain  13:26  

that'll be appreciated. Yeah.

 

Austin Parker  13:28  

And in the future, we'll be able to see more and more open source projects adopt open telemetry themselves. Yes. Right. So Kubernetes, for example, has introduced open telemetry tracing, yeah, in the past two releases, and they continue to expand on that. So hopefully, in the future, we'll see other open source projects, sort of infrastructure projects, adopt open telemetry, to bring in metrics, traces all that

 

Bruce Gain  13:49  

you only had things to gain, right. So I think nginx

 

Morgan McClean  13:51  

was another recent one that's recently added open telemetry, where they're just streaming metrics and other data to any of their users. And I think we're gonna see more and more of this.

 

Austin Parker  14:01  

Yeah, it's really been amazing growth. And just in terms of how things have changed in the past year, even a year ago, I was having to go explain open telemetry to people. And now people are coming to me saying, Okay, I've heard about this. I want to know more, right? We're going all in on it.

 

Morgan McClean  14:16  

We're seeing and Splunk probably has a slightly even more traditional customer base than than Lightstep. And like, yeah, a little bit. I'm in customer meetings. Now, our prospect meetings where they're saying, I have already adopted opentelemetry, right. I've either fully adopted it, or I'm halfway through the adoption, like and they're saying, assume that I have it. Let me stream my data to you. Then it makes it so easy both for them and us to have that conversation about how can you adopt our product or other products in the market because I inflammatory like to adopt any of them. And that's really how things have changed. Like a year ago, that conversation was shocked me. Yeah, because I've been summitry was still new and it was still, you know, was doing tracing and metrics is on was on the way and now like we're seeing it everywhere. People are using it. You walk across the floor of this conference, you see opentelemetry observability mentioned everywhere, it's

 

Austin Parker  14:59  

everywhere you go It's observability. And

 

Bruce Gain  15:01  

that's been my experience and it's incredible. But at the same time, maybe arguably, it might be lost on some people, for the user, maybe they don't really need to care that much about opentelemetry. Because it's transparent and it's set up for them

 

Morgan McClean  15:17  

to beauty is in the beginning of their adoption cycle, they don't have to care open Telemetry is just as easy if not easier to set up, then telemetry extraction solutions, agents and SDK as they would have used in the past. But the beauty of it is when they want to start decorating that data and customizing it with say, custom business logic, custom business metrics, whether it's as simple as like, revenue per minute, write things we can't automatically infer, or even more complicated things that they can do in post processing. opentelemetry gives them the standard API's and the flexibility to do that. And it makes it very easy, right, you don't have to have developers who are going to be worrying about how to write something as some proprietary vendor specific SDK, because they won't be familiar with it with opentelemetry. If using like Python is basically pip install opentelemetry, go use it. It's an API that you can rely on, give it a few more years, and it's the thing that people are used to using, that's going to be something that developers take across companies, it's going to be the standard thing they do when they want to create custom data. Right, you know how to use

 

Austin Parker  16:11  

a long enough time scale, it should be built in right, agreed when we founded the project, our original vision statement was we want to make a high quality observability a built in feature of cloud native software. So in five or 10 years, this should be something that is invisible to you, that is a checkbox, right, that everything just kind of uses it and is able to introspect your code and sort of add all that important metadata, because that's how we've built our tools. Yeah, as observability first tool,

 

Morgan McClean  16:36  

there's some already examples of this. I don't profess to be an expert on it, but like I think Microsoft dotnet was building a lot of hotel functionality into the

 

Austin Parker  16:43  

framework is there just like that network sort of framework. Already there Apple, this Erling is a great example of this being added at sort of a framework level, the long term vision is really observability as part of the development cycle right moving stuff to the left, so much this is a day two problem. We want to make this a day zero solution. Yes. And and for the back end developers and for the operations as well, right. Like this fixes a lot of problems that have been around for a while.

 

Bruce Gain  17:08  

Excellent. Gatsby Cambering gain. Signing off with Austin Parker had a developer relations from Lightstep. And work in McLean, Director of Product Management from Splunk thanks so much. I really found this fascinating. Thank you for having me. Thanks

 

Austin Parker  17:25  

for having us. It was great.

 

Colleen Coll  17:26  

Pucon and cloud native con conferences, gather adopters and technologists to further the education and advancement of Cloud Native Computing, the vendor neutral events, feature domain experts, and key maintainers behind popular projects like Kubernetes, Prometheus, envoy, core DNS, container, and more.

 

Alex Williams  17:45  

Thanks for listening. If you'd like to show, please rate and review us on Apple podcast Spotify, or wherever you get your podcasts. That's one of the best ways you can help us grow this community and we really appreciate your feedback. You can find the full video version of this episode on YouTube. Search for the new stack and don't forget to subscribe so you never miss any new videos. Thanks for joining us and see you soon.

 

Transcribed by https://otter.ai