Skip to content

Hosting OpenTelemetry Demo Playground #2184

Open
@ps48

Description

@ps48

Overview

The OpenTelemetry Demo is a microservice-based distributed system designed to illustrate the implementation of OpenTelemetry in a near real-world environment. It provides a realistic example of a distributed system that can be used to demonstrate OpenTelemetry instrumentation and observability. It serves as a foundation for vendors, tooling authors, and others to extend and showcase their OpenTelemetry integrations. Additionally, it acts as a living example for OpenTelemetry contributors to test new versions of the API, SDK, and other components or enhancements.

Currently, the demo consists of 15+ services that showcase the various programming languages supported by OpenTelemetry. It is easy to deploy the demo using Docker or Kubernetes Helm charts. However, new users want to try out the demo in a shared environment before deploying it themselves. To address this, I propose the creation of a demo playground website where the OpenTelemetry community/users can explore a sandbox environment. This will allow users to experiment, explore the tools that support OpenTelemetry, and gain a hands-on understanding of its capabilities. Additionally, this setup can serve as a reference for others to fork and set up their own customized demo environments.

Proposed approaches

1. Dedicated Infra

A dedicated cloud infrastructure can be used to host the OpenTelemetry Demo. This ensures high availability and reliable support from the cloud provider. For example, in the OpenSearch Project fork, we currently host the Observability Playground, which runs the OpenTelemetry Demo on Amazon EKS. Link to the demo: https://observability.playground.opensearch.org/ This approach requires dedicated support from a cloud provider.

2. GitHub Codespaces

GitHub Codespaces lets us launch a full VS Code environment for any public repo in seconds. Since the OpenTelemetry Demo lives in a public GitHub repo, we can click “Code → Open with Codespaces” to provision a container with Docker Compose pre-installed, then run the demo right from browser—data persists only for the life of the codespace. This needs proper documentation for users to run the demo for free in their browsers. This link mentions the current limitations on resource usages.

Alternatives

Play with Docker

“Play with Docker” is Docker’s free in-browser Docker-in-Docker sandbox. It allows to spin up an Alpine Linux VM, clone the OpenTelemetry Demo, and run docker compose up all without installing anything locally. Sessions last up to 4 hours before being recycled, and all data and containers vanish thereafter

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions