Virtualization Technology News and Information
Article
RSS
Canonical 2022 Predictions: Open-Source Observability Comes of Age in 2022

vmblog predictions 2022 

Industry executives and experts share their predictions for 2022.  Read them in this 14th annual VMblog.com series exclusive.

Open-Source Observability Comes of Age in 2022

By Michele Mancioppi, PhD, Observability Product Manager at Canonical, the publisher of Ubuntu

Observability is growing in importance to meet envisioned business objectives. Despite the benefits to performance data, organizations have faced challenges in realizing the full potential of observability based on implementation, distributed software tools, and other technological hurdles. But with new innovation, the era of true observability is upon us.

The open-source observability landscape in particular is going through a phase of innovation. Powered by distributed tracing "coming of age" with OpenTelemetry, and eBPF taking center stage in terms of innovation as the next frontier of observability and monitoring on Linux, innovation is at an all time high.

eBPF stands for "extended Berkeley Packet Filter", and it has presented a fascinating technology native to the Linux kernel. Born with the intent of having a programmable way of dealing with networking, eBPF has evolved into a rather generic and performant facility to have safe, dynamic access to the Linux kernel that enables, among many other things, to extract telemetry for observability and security purposes. eBPF is powerful and growing so popular that Microsoft has been working on a port to Windows.

In terms of observability, eBPF has shown in 2021 to be remarkably versatile. For example, there are tools that use eBPF to perform distributed tracing, like the Pixie project that was open-sourced in mid 2021 by New Relic. But the most promising aspect of eBPF for 2022 is, in my eyes, the fact that it is possible with eBPF to implement continuous profiling of applications in production. Examples of this are the aforementioned Pixie project and Parca. As proven by tools like Google's Cloud Profiler and various commercial observability tools, having a low-overhead, always-on profiler in production is a powerful way to troubleshoot latency and memory issues in production environments, which are notoriously hard and time-consuming to reproduce in test labs.

While production profiling with eBPF is already happening, it is not yet a general capability you can use with most applications. The way profiling works is surprisingly different across different runtimes and programming languages. While pretty much all of the languages out there behave similarly in terms of using the CPU and allocating memory (and even in such foundational computing matters, there are differences), the way they do concurrency is notably different pretty much across the board.

For example: Java is using threads inside the Java Virtual Machine that are mapped to threads in the Operating System (to be fair, there are also other options, like NIO and libraries like RxJava, Reactor, Vert.x; plus Project Loom will eventually ship). In Node.js, on the other hand, concurrency is mostly dealt with the Event Loop, and "real" threads at the Operating System are abstracted away from the developer. Differences like these matter a lot for a profiler, because the data shown to the person troubleshooting an issue must be "translated" to the model for concurrency used by the programming language, and that requires explicit support in the profiler for specific runtimes.

Fortunately, 2022 is going to be the year that brings us full-featured, open-source, eBPF-based production profiling tools that understand the specifics of the many runtimes that are prevalent in today's cloud-native applications, like Java, Node.js, Python and .NET, as well as compiled languages like Go and Rust. And that is going to be a game-changer for making software better and solving issues faster for all DevOps and SRE and operators out there.

As we look out to the year ahead, revolutionary technology like eBPF means the rate of innovation happening at the operating system level is only picking up and setting the stage for the year of true observability.

##

ABOUT THE AUTHOR

Michele Mancioppi 

Michele Mancioppi is the Observability Product Manager at Canonical, the publisher of Ubuntu. His primary work focuses on revamping Juju-based Observability.

Michele is also an Instana and SAP Cloud Platform alumnus.

Published Wednesday, January 26, 2022 7:31 AM by David Marshall
Comments
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!
Calendar
<January 2022>
SuMoTuWeThFrSa
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345