While setting up the OpenTelemetry (OTel) demo for a client call recently, I realised that even after doing this multiple times, the existing guide was still a bit unclear. To make things easier, I decided to create my own version—a simple, step-by-step guide for anyone, regardless of their experience with Docker or AWS. Let’s dive in and get you from zero to a working OTel demo in no time.

Our Goal: Run the OpenTelemetry Demo with minimal setup time and maximum clarity. This guide will walk you through everything, from spinning up a virtual computer on AWS to actually running the OTel demo.

Step 1: Set Up an AWS EC2 Instance for Docker

An AWS EC2 instance is just a virtual computer that you can use to run the demo. Here’s how to set one up:

  1. Sign into AWS: Head over to AWS and sign in (or create an account if you haven’t yet). AWS offers a free tier, so no need to worry about extra charges here.
  2. Launch EC2: Type EC2 in the AWS search bar, click on it, and choose Launch Instance. Pick Ubuntu Server 20.04 as your operating system (OS), and select t2.micro for the instance type.
  3. Configure Security: In the security settings, allow HTTP and HTTPS traffic so you can access the demo later. Then click Launch.
  4. Connect to Your Instance: Go to the EC2 dashboard, select your instance, and click Connect. Use EC2 Instance Connect to open a terminal session on your new virtual computer.

Step 2: Install Docker on the EC2 Instance

Docker is what allows us to run the demo as a set of containerised apps. Here’s how to install it:

Update Packages:

    sudo apt update

    Install Docker:

      sudo apt install docker.io -y

      Start and Enable Docker:

       sudo systemctl start docker
       sudo systemctl enable docker

      Check Docker:

      docker --version

      Step 3: Install Git and Download the OpenTelemetry Demo

      Git will allow us to download the OTel demo code:

      Install Git:

      sudo apt install git -y

      Clone the Demo Repository:

      git clone https://github.com/open-telemetry/opentelemetry-demo.git
         cd opentelemetry-demo

      Step 4: Run the OpenTelemetry Demo with Docker

      Now we’re ready to start the demo using Docker.

      Start the Demo:

      sudo docker-compose up -d

      Wait a Few Minutes: Docker will download and set up everything needed. Give it a few minutes to complete.

      Step 5: Access the Demo Applications

      You can now open the demo applications:

      1. Frontend (main app): http://<Your-EC2-Instance-Public-IP>:8080
      2. Grafana (metrics dashboard): http://<Your-EC2-Instance-Public-IP>:3000 (default username/password: admin/admin)
      3. Jaeger (tracing): http://<Your-EC2-Instance-Public-IP>:16686

      Finding Your Public IP: In the EC2 dashboard, look for the IPv4 Public IP next to your instance.

      Step 6: Optional – Generate More Traffic

      To get a better look at how OTel captures data, you can generate some traffic.

      Run the Load Generator:

      sudo docker-compose -f ./docker-compose-loadgen.yml up -d

      Step 7: Stopping the Demo

      When you’re done, run:

      sudo docker-compose down

      And that’s it! This quick setup should have you up and running with the OpenTelemetry demo, so you can start exploring traces and metrics on your own. Setting it up this way, in an AWS environment, is quick, easy, and free-tier eligible—perfect for getting a feel for how OpenTelemetry can bring visibility to your applications. So next time you’re prepping for a client call, you’ll have a live demo environment at your fingertips. Happy tracing!

      If you’re considering OpenTelemetry for your organisation, it’s a good idea to start by evaluating your current maturity. Taking a gradual approach can help you understand the benefits while minimising disruptions. Feel free to contact me if you have questions or need guidance on starting your journey!