A collection of sample applications demonstrating AWS CloudWatch Application Signals across different programming languages and runtimes. These samples are designed for AWS SkillBuilder courses and provide hands-on experience with observability, monitoring, and distributed tracing.
CloudWatch Application Signals automatically instruments your applications to collect and correlate metrics, traces, and logs, providing deep insights into application performance and health. This repository contains sample applications that demonstrate these capabilities across various technology stacks.
Status: Available
Path: java-sample-app/
Description: Spring Boot microservices application with Order API and Delivery API, deployed on Amazon EKS with DynamoDB integration.
Status: Available
Path: python-sample-app/
Description: Flask/FastAPI microservices application demonstrating CloudWatch Application Signals with Python runtime.
Status: Available
Path: dotnet-sample-app/
Description: ASP.NET Core microservices application showcasing CloudWatch Application Signals integration.
Status: Coming Soon
Path: nodejs-sample-app/
Description: Express.js microservices application with CloudWatch Application Signals instrumentation.
- Choose your runtime: Navigate to the appropriate sample application folder
- Follow the README: Each sample includes detailed setup and deployment instructions
- Deploy and explore: Use the provided scripts to deploy infrastructure and generate sample data
- Monitor with CloudWatch: Observe metrics, traces, and logs in the AWS Console
All sample applications require:
- AWS CLI configured with appropriate permissions
- AWS account with CloudWatch Application Signals enabled
- Docker installed and running
- kubectl and eksctl for Kubernetes deployments
.
├── README.md # This landing page
├── LICENSE # Repository license
├── CODE_OF_CONDUCT.md # Community guidelines
├── CONTRIBUTING.md # Contribution guidelines
├── java-sample-app/ # Java Spring Boot sample
├── python-sample-app/ # Python sample (coming soon)
├── dotnet-sample-app/ # .NET sample (coming soon)
└── nodejs-sample-app/ # Node.js sample (coming soon)
Each sample application showcases:
- Automatic Instrumentation: Zero-code observability with CloudWatch Application Signals
- Distributed Tracing: End-to-end request tracking across microservices
- Custom Metrics: Application-specific performance indicators
- Service Maps: Visual representation of service dependencies
- Anomaly Detection: Automated identification of performance issues
- Alerting: Proactive notifications based on application health
- Amazon CloudWatch: Application Signals, Container Insights, Logs
- Amazon EKS: Kubernetes container orchestration
- Amazon DynamoDB: NoSQL database for application data
- Amazon ECR: Container image registry
- AWS IAM: Identity and access management
- AWS X-Ray: Distributed tracing (integrated with Application Signals)
- Start with Java or .NET: Both provide comprehensive examples with detailed documentation
- Compare implementations: Explore differences between Java Spring Boot and ASP.NET Core patterns
- Explore other runtimes: Compare implementation patterns across languages (Python and Node.js coming soon)
- Customize and extend: Modify samples to match your use cases
- Apply to production: Use patterns learned in your own applications
- Issues: Report bugs or request features via GitHub Issues
- Discussions: Join community discussions for questions and best practices
- Contributions: See CONTRIBUTING.md for guidelines
This project is licensed under the MIT-0 License. See LICENSE file for details.
Note: This repository is actively maintained and new runtime samples are added regularly. Star the repository to stay updated with new releases.