Skip to content

Commit 4ebd4f4

Browse files
julianocosta89tiffany76chalin
authored
[demo] Add blog post about Demo 2.0 (open-telemetry#6362)
Co-authored-by: Tiffany Hrabusa <[email protected]> Co-authored-by: Patrice Chalin <[email protected]>
1 parent c2aa0c4 commit 4ebd4f4

File tree

2 files changed

+161
-0
lines changed

2 files changed

+161
-0
lines changed

content/en/blog/2025/otel-demo-2.md

+141
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
title: Announcing the OpenTelemetry Demo 2.0
3+
linkTitle: OTel Demo 2.0
4+
date: 2025-02-21
5+
author: >
6+
[Juliano Costa](https://github.com/julianocosta89) (Datadog)
7+
sig: OpenTelemetry Demo
8+
cSpell:ignore: Abhishek Veeramalla's
9+
---
10+
11+
We're thrilled to announce that OpenTelemetry Demo 2.0 is here! We've been busy
12+
behind the scenes, polishing up the demo to make it more complete, robust, and
13+
user-friendly. We believe these exciting features and improvements deserve a
14+
major release!
15+
16+
But before we jump in, let's take a look at some of the project stats.
17+
18+
## Statistics
19+
20+
With a total of 140 contributors, the OpenTelemetry Demo has been starred
21+
**2048** times. On October 26, 2022 &mdash; two days after General Availability
22+
&mdash; we had a record 40 stars in a single day. If you use the Demo, consider
23+
leaving us a star to help promote the project.
24+
25+
There are a total of 1.8K forks of the Demo. Notably, [Abhishek Veeramalla's
26+
fork][1] stands out with 142 stars and has been forked 425 times.
27+
28+
The Demo containers have been pulled over **12 million times** (11.8M times from
29+
`ghcr.io` plus 433K times from `hub.docker`).
30+
31+
The OpenTelemetry Demo includes the following CNCF projects:
32+
33+
- [OpenTelemetry](/), of course
34+
- [Envoy][2]
35+
- [OpenFeature/Flagd][3]
36+
- [Jaeger][4]
37+
- [Prometheus][5]
38+
- [Valkey][6]
39+
40+
## What's new in 2.0?
41+
42+
This release is packed with exciting upgrades and changes. The following list is
43+
a quick rundown of the highlights:
44+
45+
- **Flagd-ui introduced**: One of our most missed features since version 1.9.0
46+
is back! You can again manage feature flags directly in the Demo. For more
47+
details, see the [Feature Flags](/docs/demo/feature-flags/) page.
48+
- **Image-provider introduced**: Since release 1.10.0, we've introduced a new
49+
service called Image Provider, which delivers static product images. This
50+
service, built on NGINX, returns images for every product and demonstrates how
51+
to instrument OpenTelemetry with an NGINX proxy using the NGINX Native
52+
OpenTelemetry module.
53+
- **Redis replaced with Valkey**: Since version 1.11.0, we've replaced the Redis
54+
service with Valkey, introducing another CNCF project to the OTel Demo.
55+
- **Build args moved to `.env` file**: If you forked the Demo and were using any
56+
custom image, keeping your fork in sync with upstream was always a hassle. To
57+
make things easier, we've moved most configurations to the `.env` file. We've
58+
also added a `_DOCKERFILE` environment variable, which allows you to specify
59+
the location of your build instructions.
60+
- **Services renamed**: If you've been using the OTel Demo since its inception,
61+
you're probably accustomed to the verbose naming of every service. For 2.0,
62+
we've streamlined things by dropping the `-service` suffix from all service
63+
names. Now, instead of `ad-service`, `cart-service`, and `checkout-service`,
64+
you'll simply see `Ad`, `Cart`, and `Checkout`.
65+
- **Accounting rewritten in .NET**: We wanted to showcase OTel's .NET
66+
auto-instrumentation in the Demo without adding an extra service. Since the
67+
Accounting service was originally written in Go—and we already had another
68+
service in that language—we decided to rewrite it in .NET. Now, the Demo
69+
features both the `Accounting` and `Cart` services, each demonstrating a
70+
different way to instrument .NET applications.
71+
- **Added exemplars**: `Cart` service now records exemplars for `GetCart` and
72+
`AddItem` operations, allowing correlation between metrics and spans. See the
73+
[Exemplars section of the Cart documentation](/docs/demo/services/cart/#exemplars)
74+
to learn more.
75+
- **React Native example app**: One of the most significant additions to this
76+
release is the brand new React Native app example. It can be built for Android
77+
or iOS (currently executable locally only). For instructions on how to run and
78+
test it, see the
79+
[React Native App documentation page](/docs/demo/services/react-native-app/).
80+
- **Span links for messaging spans**: Following OTel's recommendation to always
81+
link producer and consumer spans
82+
([Messaging spans - Trace structure](/docs/specs/semconv/messaging/messaging-spans/#trace-structure)),
83+
the Demo now demonstrates this best practice. Consumer spans for `Accounting`
84+
and `Fraud-Detection` are linked to the producer span
85+
(`Checkout/orders publish`).
86+
- **Multi-arch builds**: To ensure that a variety of users can run the Demo
87+
locally, we've introduced new `make` targets to support building multiplatform
88+
images (for both `arm64` and `amd64` architectures).
89+
- **Configured Dependabot**: We were falling behind on some dependencies, but
90+
now Dependabot is configured to keep the Demo up-to-date automatically.
91+
92+
## Current challenges
93+
94+
Of course, with great updates come a few growing pains. Here's what we're
95+
currently tackling:
96+
97+
- **Grafana dashboards**: As semantic conventions and tools evolve with new
98+
releases, ensuring that our Grafana dashboards remain fully functional is a
99+
challenge. If you're experienced with Grafana, we'd love your help!
100+
- **Dependabot PR testing**: While Dependabot helps keep all service
101+
dependencies up-to-date, we haven't yet implemented automated tests to ensure
102+
that updates don't cause crashes. This testing is still a manual process.
103+
- **Demo scalability**: Balancing the expansion of demo scenarios while keeping
104+
the Demo easily runnable locally is one of our biggest challenges. With 19
105+
different services and new ideas emerging weekly, we're continuously working
106+
to maintain this balance.
107+
108+
## What's next?
109+
110+
We're not stopping here! Here are some of the next steps we're excited about,
111+
and we'd love your help:
112+
113+
- **Bring Erlang/Elixir back**: In March 2024, we removed the initial Feature
114+
Flag service written in Elixir in favor of OpenFeature and Flagd. Since then,
115+
the Demo hasn't included a service in that language, but we're aiming to
116+
reintroduce Erlang/Elixir. Any help in this area would be much appreciated!
117+
- **Remote access for React Native app**: We plan to enable the React Native app
118+
to access a remotely running Demo, expanding its usability.
119+
- **Better automation and testing**: We're working to improve our automation and
120+
testing processes—especially for Dependabot PRs—to streamline our development
121+
workflow.
122+
123+
## Get involved!
124+
125+
Your feedback and contributions are what make this project thrive. If you're
126+
interested in helping out—whether it's polishing up the dashboards, automating
127+
tests, or bringing Erlang/Elixir back—please jump in and join the discussion on
128+
our [GitHub repository][7] / SIG meetings ([calendar-demo][8]) or hop into the
129+
[#otel-community-demo slack channel][9].
130+
131+
Thank you for your continued support, and happy demoing!
132+
133+
[1]: https://github.com/iam-veeramalla/ultimate-devops-project-demo
134+
[2]: https://www.envoyproxy.io/
135+
[3]: https://flagd.dev/
136+
[4]: https://www.jaegertracing.io/
137+
[5]: https://prometheus.io/
138+
[6]: https://valkey.io/
139+
[7]: https://github.com/open-telemetry/opentelemetry-demo
140+
[8]: https://groups.google.com/a/opentelemetry.io/g/calendar-demo-app
141+
[9]: https://cloud-native.slack.com/archives/C03B4CWV4DA

static/refcache.json

+20
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,10 @@
335335
"StatusCode": 200,
336336
"LastSeen": "2025-02-01T06:58:50.458174-05:00"
337337
},
338+
"https://cloud-native.slack.com/archives/C03B4CWV4DA": {
339+
"StatusCode": 200,
340+
"LastSeen": "2025-02-17T18:05:15.669443+01:00"
341+
},
338342
"https://cloud-native.slack.com/archives/C03J794L0BV": {
339343
"StatusCode": 200,
340344
"LastSeen": "2024-10-24T15:10:31.184402+02:00"
@@ -2003,6 +2007,10 @@
20032007
"StatusCode": 206,
20042008
"LastSeen": "2025-02-01T06:38:24.985523-05:00"
20052009
},
2010+
"https://flagd.dev/": {
2011+
"StatusCode": 206,
2012+
"LastSeen": "2025-02-21T10:04:12.887186+01:00"
2013+
},
20062014
"https://flagd.dev/reference/monitoring/#opentelemetry": {
20072015
"StatusCode": 200,
20082016
"LastSeen": "2025-02-06T02:07:12.345Z"
@@ -3931,6 +3939,10 @@
39313939
"StatusCode": 206,
39323940
"LastSeen": "2025-02-02T10:13:07.981225-05:00"
39333941
},
3942+
"https://github.com/iam-veeramalla/ultimate-devops-project-demo": {
3943+
"StatusCode": 206,
3944+
"LastSeen": "2025-02-17T18:05:12.578269+01:00"
3945+
},
39343946
"https://github.com/iamebonyhope": {
39353947
"StatusCode": 206,
39363948
"LastSeen": "2025-02-01T07:10:32.434072-05:00"
@@ -12919,6 +12931,10 @@
1291912931
"StatusCode": 200,
1292012932
"LastSeen": "2025-02-01T07:12:02.550579-05:00"
1292112933
},
12934+
"https://groups.google.com/a/opentelemetry.io/g/calendar-demo-app": {
12935+
"StatusCode": 200,
12936+
"LastSeen": "2025-02-17T18:05:13.826512+01:00"
12937+
},
1292212938
"https://groups.google.com/a/opentelemetry.io/g/calendar-go": {
1292312939
"StatusCode": 200,
1292412940
"LastSeen": "2025-01-17T12:58:38.699931Z"
@@ -16767,6 +16783,10 @@
1676716783
"StatusCode": 206,
1676816784
"LastSeen": "2025-01-06T11:32:32.695647-05:00"
1676916785
},
16786+
"https://valkey.io/": {
16787+
"StatusCode": 206,
16788+
"LastSeen": "2025-02-21T10:04:13.641437+01:00"
16789+
},
1677016790
"https://vapor.codes": {
1677116791
"StatusCode": 206,
1677216792
"LastSeen": "2025-01-30T16:54:14.882088-05:00"

0 commit comments

Comments
 (0)