Additional contributor: Sasanka Pusapati |
Key Takeaways
|
|
Microservices architecture has become a dominant approach for building scalable, resilient, and flexible applications. However, monitoring these microservices presents unique challenges due to their distributed nature, fixed or limited resources, enterprise scale, and the dynamic nature of environments, such as Kubernetes clusters. The result is that in-process application agents often introduce significant overhead because they rely on intrusive instrumentation and frequent polling. Quite simply, they are heavy agents.
Adopting microservices (eBPF) agents for monitoring helps teams address critical needs for a low-overhead, real-time, and non-intrusive monitoring solution in dynamic and resource-constrained environments. eBPF agents are lightweight and powerful!
Before diving into the enchanting world of eBPF monitoring, let’s unravel the mystery of eBPF itself. Imagine eBPF as a magical lens—a way to peer into the inner workings of your Linux system for cloud-native observability. Here’s what the eBPF agent can do:
Feature | In-process agent | eBPF agent |
Agent execution space | Inside application (user-space) execution | Outside monitoring |
Overhead and performance impact | Higher overhead; intrusive | Low overhead; non-intrusive |
Scope of monitoring | Application-specific monitoring; limited to the application | System-wide monitoring; application-agnostic |
DX Operational Observability (DX O2) helps teams contend with the explosive growth in monitoring data, infrastructure complexity, and business demands. The product enables end-to-end observability across the entire digital delivery chain and empowers IT operations teams with actionable insights to efficiently manage modern and complex environments.
The eBPF agent is a powerful addition to the DX Operational Observability ecosystem. It provides dynamic instrumentation by inserting probes into the running system, without requiring restarts or recompilation. Here are some key features:
Universal Monitoring Agent (UMA) features a microservices agent that runs as part of UMA daemonset pods (app-container-monitor). The UMA acts as a single agent deployment that automatically discovers and monitors Kubernetes and Red Hat OpenShift containers, applications, and cluster services.
The new eBPF monitoring agent provides comprehensive insights into the performance and interactions of frontends, backends, and application flows (AppFlow). It provides teams with outside-in monitoring of applications for cloud-native observability, without requiring changes to the applications.
There will be situations where in-process agents provide distinct benefits. However, given changes in application architectures and the monitoring needs and constraints that teams face, these occasions are more the exception than the norm. Choosing between a microservices (eBPF) agent and an in-process application agent depends on your specific requirements, such as the level of detail needed, the acceptable overhead, and whether system-wide or application-specific monitoring is desired.