CloudWatch ❤️ OpenTelemetry in Application Insights | DynamoDB Day 19th of November


AWS FOR THE REAL WORLD
⏱️
Reading time: 20 minutes
🎯
Main Learning: How to achieve end-to-end observability by integrating CloudWatch Application Signals with OpenTelemetry for automatic service discovery and cross-service request tracing in AWS.
📝

Hey Reader 👋🏽


Welcome to this week’s
AWS Fundamentals Newsletter.


Pre:Invent season is starting slowly with new launches like:


We are stoked to see what else will be launched in re:Invent.

Personally, I suspect that many of the basic, bread-and-butter services will be getting more “hardened out.”

Payload limits are already a great sign. And the second thing I see coming is, of course, a lot of AI features and services.

Let’s see!

But let’s first hear about this week’s sponsor! 👀

📊
DynamoDB Day Event Partner
DynamoDB Day Event

Join the Free DynamoDB Day Virtual Event

Learn real-world lessons from AWS and DynamoDB experts. Get practical knowledge on data modeling strategies, scaling approaches, recovery procedures, and resilience best practices—all from industry leaders like Alex DeBrie.

Free
Virtual event
Nov 19
2025
Featured Talks & Topics:
💸 Cost-Effective Data Models - Build performant & cost-optimized DynamoDB schemas
👾 Ubisoft Case Study - How they handle millions of concurrent users with DynamoDB
🗃️ SQL to NoSQL Migration - Practical strategies for transitioning from relational databases
🎯 Data Modeling Deep Dive - Master DynamoDB schema design with Alex DeBrie

Featuring Alex DeBrie and AWS experts on November 19, 2025

Event partner supporting DynamoDB & NoSQL education

In this week's deep dive we talk about CloudWatch, OpenTelemetry, and their newish feature Application Signals. As always, we have a full GitHub Repo so that you can play around with the code as well!

📚 This Week's Deep Dive

Your AWS application works most of the time. Lambda functions handle requests. ECS containers run your services. Then a user complains about slow response times or errors.

You check CloudWatch logs and see scattered error messages across different services. You know something broke, but figuring out where the request failed means jumping between Lambda logs, ECS container logs, and API Gateway metrics. You're debugging with incomplete information.

What you'll build

By the end of this tutorial, you'll have:

  • Automatic service discovery that maps your application topology in real-time
  • Request tracing through ECS containers to Lambda functions
  • Custom business logic spans for detailed application code visibility
  • Real-time service maps in CloudWatch Application Signals
  • Transaction Search to follow individual requests across your stack
Final Architecture

No more jumping between different log streams to debug issues.

We'll solve this with Application Signals and OpenTelemetry. Application Signals maps your services and tracks key metrics. OpenTelemetry instruments your code to trace requests across all services. You can see the exact path a request took through your system. Similar to X-Ray but infrastructure-agnostic.

This article shows how to build observability for applications using Fargate containers and Lambda functions. You'll instrument everything to trace requests across your stack. Service maps show how your services communicate.

All the code and infrastructure configurations are available in our example repository. The project uses SST v3 to deploy everything, making it easy to follow along and experiment with different configurations in your own AWS account.

awsfundamentals-hqawsfundamentals-hq / cloudwatch-application-signals-otel
🔒 A project demonstrating cloudwatch application signals otel
awscloud

View on GitHub →

What is CloudWatch Application Signals?

CloudWatch Application Signals is AWS's automatic application monitoring service. It watches your applications running on EC2, ECS, and Lambda without custom monitoring code.

The service tracks five key metrics: call volume, availability, latency, faults, and errors. Application Signals also builds a visual map called Application Map of your services automatically.

Why it matters

Before Application Signals, observability required custom dashboards, metric collection code, and manual service correlation. Application Signals automates this.

You can set up Service Level Objectives (SLOs) to track application performance. To ensure your API responds within 500ms for 99% of requests, create an SLO and Application Signals monitors it.

What is OpenTelemetry

OpenTelemetry (OTEL) is an open-source observability framework that instruments your application code to collect traces, metrics, and logs. It tracks request flow through your system.

When a user makes a request to your API, OpenTelemetry creates a trace that follows that request through every service. It records timing, data flow between services, and error locations. This creates a complete timeline for each request.

Combining Application Signals with OpenTelemetry

AWS services generate metrics automatically, but they don't show what happens inside your application code. OpenTelemetry fills this gap by tracking custom business logic, database queries, and external API calls.

Combining OpenTelemetry with CloudWatch Application Signals provides AWS service metrics and detailed application traces in one place. You can see that your Lambda function is slow, then drill down to find the specific database query causing the issue.

Setting Up OpenTelemetry on ECS with Fargate

Setting up OpenTelemetry on ECS requires:

  1. A simple application deployed to Fargate
  2. The OpenTelemetry API dependency
  3. Instrumentation of the backend application with the OTEL library
  4. The CloudWatch agent that receives OTEL traces and forwards them to CloudWatch
Simple Architecture

OpenTelemetry on ECS Fargate uses two containers. The CloudWatch Agent container collects telemetry data. Your application container includes OpenTelemetry instrumentation.

The tutorial covers complete setup including IAM roles, ECS infrastructure, environment variables, and verification steps. You'll also learn how to set up OpenTelemetry on Lambda using the ADOT layer, create custom spans for detailed tracing, and explore your traces in CloudWatch Transaction Search.

🚀 Read the Full Tutorial →

Summary

This was this weeks newsletter 💌

Do you have anything to share with us? What are your main AWS or Observability challenges right now? Are you heading to re:invent? 👀

Have a great week ahead!
- Sandro & Tobi ✌🏽

AWS for the Real World

We teach AWS for the real world - not for certifications. Join more than 10,500 developers learning how to build real-world applications on AWS.

Read more from AWS for the Real World

AWS FOR THE REAL WORLD ⏱️ Reading time: 17 minutes 🎯 Main Learning: How to build a secure, scalable AWS landing zone using AWS Organizations, Service Control Policies, and Identity Center for centralized account and user management. 📝 Blog Post Hey Reader 👋🏽Today I want to dig into how to set up a proper AWS landing zone. We’ll be chatting about AWS Organizations, Service Control Policies (SCPs), and Identity Center. These are the core tools I reach for when I need to get accounts organized,...

AWS FOR THE REAL WORLD ⏱️ Reading time: 15 minutes 🎯 Main Learning: How to build an automated related posts feature by leveraging Bedrock Knowledge Bases and Amazon S3 Vectors for content discovery. 📝 Blog Post Hey Reader 👋🏽Ever wanted to show folks “related posts” but didn’t want to build your own search from scratch? We’ve been playing with Bedrock Knowledgebases and S3 vectors, and turns out, it makes that job way easier than expected.We’ll go over how you can use these tools to connect...

AWS FOR THE REAL WORLD ⏱️ Reading time: 8 minutes 🎯 Main Learning: How to automatically generate professional AWS architecture diagrams using Amazon Q with MCP servers 📝 Blog Post Hey Reader 👋🏽Let’s talk about saving money on AWS. Cost surprises are no fun—especially for folks just starting out. AWS pricing looks easy at first, but there are so many little things that can trip you up if you’re not careful.Today I’m breaking down a few simple tips that actually work for beginners. Let’s jump...