Adobe, a global leader in digital experiences and creative solutions, has adopted the Open Telemetry Collector as a central hub for managing its vast amounts of trace and metrics data. In their quest to streamline observability and alleviate developer friction, Adobe’s Chris Featherstone and Shubhanshu Surana have hailed the Open Telemetry Collector as the “Swiss army knife of observability.” This article explores how Adobe utilizes the Open Telemetry Collector to track and analyze massive volumes of observability data, enabling seamlessly distributed tracing across diverse cloud environments, facilitating efficient troubleshooting, and improving developer productivity.
Tracking Massive Observability Data:
Adobe faces the challenge of managing an extensive and diverse ecosystem resulting from numerous acquisitions. Each acquisition brings its own set of cloud platforms, tools, and preferences, making distributed tracing a formidable task. To tackle this challenge, Adobe turned to the OpenTelemetry Collector in 2019, initially focusing on building a distributed tracing platform using Jaeger agents. In April 2020, Adobe began replacing Jaeger agents with the OpenTelemetry Collector, expanding its capabilities to handle metrics data and eventually planning to incorporate log data as well.
Streamlined Instrumentation and Configuration:
Adobe’s developer productivity team leverages OpenTelemetry libraries for instrumentation, primarily utilizing auto-instrumentation features, particularly in Java applications. The team enriches applications with Adobe-specific data and configures pipelines to flow seamlessly into the OpenTelemetry Collector. They have developed custom extensions and processors and adopted a GitOps approach for configuration management. By integrating OpenTelemetry Collector within their Java service containers in Kubernetes, Adobe ensures that all Java services participate in distributed tracing effortlessly. They are also exploring similar approaches for Node.js, Python, and other images.
Enrichment and Data Management:
Adobe employs several processes, including reduction and custom processors, within the OpenTelemetry Collector to enhance and manage their observability data effectively. These processors help eliminate sensitive information, enrich the data with additional fields for improved search capabilities, and prevent service name collisions across their diverse product ecosystem. Adobe utilizes an Adobe-specific service registry that assigns unique IDs to services, enabling engineers to quickly identify and resolve issues. They also send data to multiple export destinations, facilitating seamless integration with various vendor products and open-source projects.
Improving Data Quality and Rate Limiting:
Looking ahead, Adobe aims to enhance data quality by eliminating unnecessary data and implementing rate limiting for spans at the edge. They plan to leverage the OpenTelemetry Collector’s capabilities to aggregate metrics, reduce granularity, and make intelligent decisions about data storage. By implementing rate limiting, they can prevent overwhelming data traffic and ensure optimal performance. Adobe also seeks to shift towards trace-first troubleshooting, leveraging the comprehensive tracing capabilities provided by OpenTelemetry to streamline issue resolution and reduce reliance on traditional log-based troubleshooting.
Future Endeavors and Conclusion:
Adobe is excited about the future possibilities offered by OpenTelemetry. They are exploring the integration of OpenTelemetry logging libraries, running OpenTelemetry Collector as sidecars to collect metrics, traces, and logs, and leveraging new connector components for seamless data flow. They also plan to develop a trace sampling extension at the edge to enhance data quality. The plug-in-based architecture of OpenTelemetry Collector, along with its flexible extensions and processors, provides Adobe with a powerful toolset for managing observability data.
In conclusion, Adobe’s adoption of the OpenTelemetry Collector as a central observability hub demonstrates its commitment to efficient data management, seamlessly distributed tracing, and improved developer productivity. By leveraging the capabilities of the OpenTelemetry project, Adobe has been able to tackle the challenges posed by its diverse ecosystem and massive data volumes. As OpenTelemetry continues to evolve, Adobe remains at the forefront, driving innovation and