EcomTelemetry is an open-source, microservices-based e-commerce application inspired by the OpenTelemetry Demo project. It demonstrates scalability and automation best practices for deploying and managing modern cloud-native applications on AWS using Kubernetes.
This project showcases end-to-end CI/CD automation, infrastructure provisioning, and GitOps deployment, aligning with best practices in modern DevOps and cloud-native application management.
📂 Note: All screenshots, diagrams, and videos referenced in this documentation are available in the
assetsfolder under the following subdirectories:
A high-level architecture diagram highlights the system design and component interactions.
📌 Architecture Diagram:
| Category | Tools & Technologies |
|---|---|
| ☁️ Cloud Provider | AWS |
| 🚢 Orchestration | Kubernetes (EKS) |
| ⚙️ Infrastructure | Terraform |
| 🔄 CI/CD | GitHub Actions, Argo CD |
| 🐳 Containers | Docker |
| 🌐 DNS/Domain | AWS Route 53 |
| 📦 Artifact Registry | DockerHub |
| 🔒 Image Scanning | Trivy |
| 📝 Code Quality | GolangCI-Lint, SonarQube |
- Microservices architecture deployed on AWS EKS.
- Infrastructure as Code (IaC) with Terraform.
- Automated CI/CD pipelines using GitHub Actions and Argo CD (GitOps).
- Custom domain routing via AWS Route 53🌐

- End-to-end automation from code commit to deployment.
The entire infrastructure was provisioned using Terraform, available in the GitHub repository:
🔗 Terraform AWS EKS Repository
- EKS Cluster
- VPC
- IAM Roles
- Route 53 Custom Domain Configuration
- S3 + DynamoDB for Terraform Backend and State Locking
An automated CI/CD pipeline was implemented with GitHub Actions and Argo CD, managing the deployment of the productcatalog microservice.
| Stage | Description |
|---|---|
| Build | Compiles application code |
| Code Quality | Runs static code analysis with SonarQube |
| Go Code Check | Enforces coding standards with GolangCI-Lint |
| Docker Build & Push | Builds and pushes Docker images to DockerHub |
| Image Scan | Scans Docker images for vulnerabilities using Trivy |
| K8s Manifest Update | Updates Kubernetes manifests with the new image tag |
| Argo CD Sync | Syncs with Argo CD and triggers rolling updates automatically |
- GitHub Actions Workflow Run
- SonarQube Code Quality Check
- GolangCI-Lint Code Analysis
- Docker Image Build & Push
- Trivy Image Scan Results
- Kubernetes Manifest Update
The application was exposed via the frontendproxy service and mapped to the custom domain.
✅ Note: The application was successfully deployed and accessible during the demonstration phase. The screenshots provided illustrate the complete deployment lifecycle.
📌 Route 53 & DNS Setup Screenshots
The deployment was managed through complete-deploy.yaml, which contains combined manifests of all microservices and Kubernetes components.
- Deployed a highly available microservices application on AWS EKS.
- Developed Infrastructure as Code (IaC) with Terraform for scalable, repeatable infrastructure provisioning.
- Automated CI/CD pipelines with GitHub Actions and Argo CD for seamless deployments.
- Ensured code quality and security with SonarQube, GolangCI-Lint, and Trivy.
- Implemented custom domain routing with AWS Route 53 for the application.
- Future scope includes OpenTelemetry observability integration and Prometheus/Grafana monitoring enhancements.
This project draws inspiration from OpenTelemetry. Full credit to the OpenTelemetry team and Mr. Abhishek Veermalla, whose guidance and resources were instrumental.
Check out his GitHub for more insightful content:




