Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ADOT Collector as AWS managed Service #1645

Open
niko-achilles opened this issue Nov 17, 2022 · 5 comments
Open

ADOT Collector as AWS managed Service #1645

niko-achilles opened this issue Nov 17, 2022 · 5 comments
Assignees

Comments

@niko-achilles
Copy link

niko-achilles commented Nov 17, 2022

Is your feature request related to a problem? Please describe.
Managed services as observable systems.
Given managed services are minimizing the effort to create production ready applications and the development focus is on delivering business value , there are some technical barriers and performance trade offs that application developers should consider in order to have observable systems.

Technically what the developers have as tools today in context of observability with opentelemetry is a Layer deployment artifact which consist of

  • internal extension, for initializing the opentelemetry mechanics (SDK) and modifying the runtime
  • external extension, which collects, processes and exports telemetry data - ADOT Collector

In a serverless platform, λ lambda developers have the execution runtime specification and APIs to adopt the lambda behavior to their special needs.
The runtime execution environment and APIs leverage the choreography approach with signals and the orchestration approach with order of extensions registration.

From the deployment perspective, the artifact which consists of internal extension and external extension in context of lambda and serverless , the deployment method is distributed . Each lambda needs its own deployment artifact.

Describe the solution you'd like
With this open issue , I would like to introduce by the deployment perspective to leverage a centralized component which has the responsibility to collect telemetry data of my lambda applications, processes the telemetry data by configuration and exports the telemetry data to desired destinations .
From the technical perspective , developers will have the ability to better use extensions and control the execution environment of lambda λ.

An idea can be the ADOT Collector as managed service by AWS.

Given the Collector of Opentelemetry defines:

a similar AWS managed service by AWS can provide Receivers, processors and exporters,
e.g. :

  • Receiver as Source of Data of wide structured events,
  • processor for processing logic,
  • exporters as destination to send data as wide structured events to backends ( inside AWS or various telemetry vendors )

Receivers can be the Telemetry API extension that AWS announced recently. A developer can leverage the telemetry API, take some level of control of the execution environment and move the telemetry data to a managed telemetry system , e.g. ADOT Collector as managed service.
Link telemetry API

The processor for processing logic can be also a specification that the developer can code in a managed service like Lambda,
e.g AWS released recently a specification to convert tracing data in OTEL Spans.

Describe alternatives you've considered
Reuse or extend capabilities of data pipeline components already available in the serverless domain, like:
E.g. Kinesis Streams for batching as an Event Log Data Structure and Firehose for collecting , processing and exporting data to destinations.

Additional context
In my opinion, the AWS Kinesis Data Steams and Firehose behavior and Configuration capabilities are at a level similar to ADOT Collector characteristics.

So AWS maybe inspired to create a managed service of ADOT Collector or extends the exist data pipeline managed services of Kinesis to support telemetry data processing special use cases.

@niko-achilles
Copy link
Author

As addition to the Request some thoughts:

Other AWS community members wish as request Exporters to be supported by ADOT Collector, e.g:

  • S3
  • Kinesis , etc

AWS managed services in the Kinesis boundaries already support such capabilities for persisting, transforming, analyzing, sending.

By having the ADOT Collector as managed service can improve the Telemetry Data pipeline for debugging and analysis purposes

E.g. By emitting the Telemetry Data in Kinesis Streams and taking under consideration the context , someone can send the data directly for debugging purposes in a tracing capable System and in parallel persist the telemetry Data for analysis or deliver to other destinations.

@niko-achilles
Copy link
Author

@mhausenblas i have edited my issue by restructuring my ideas and sharing my thoughts.
As I am experimenting with ADOT , having some experiences and being an open telemetry contributor (seasoned developer contribution) I think that otel-lamda can improve.

@mhausenblas mhausenblas self-assigned this Dec 8, 2022
@eriweb
Copy link

eriweb commented Feb 10, 2023

We're interested in this as well. It would be a requirement for us that it allows/enables usage of exporters to 3rd parties (like AppDynamics etc.)

@github-actions
Copy link
Contributor

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.

@github-actions github-actions bot added the stale label Apr 16, 2023
@github-actions
Copy link
Contributor

This issue was closed because it has been marked as stale for 30 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale May 21, 2023
@mhausenblas mhausenblas reopened this May 22, 2023
@github-actions github-actions bot removed the stale label May 28, 2023
@vsakaram vsakaram added this to the ADOT Collector Backlog milestone May 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants