Skip to content

Latest commit

 

History

1,171 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 EcomTelemetry - OpenTelemetry E-Commerce Application

📝 Project Overview

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 assets folder under the following subdirectories:


🏗️ Project Architecture

A high-level architecture diagram highlights the system design and component interactions.

📌 Architecture Diagram:

Project Architecture Diagram


🛠️ Tech Stack

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

✨ Key Features

  • 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🌐 Custom Domain
  • End-to-end automation from code commit to deployment.

☁️ Infrastructure Setup with Terraform

The entire infrastructure was provisioned using Terraform, available in the GitHub repository:
🔗 Terraform AWS EKS Repository

📌 Resources Provisioned

  • EKS Cluster
  • VPC
  • IAM Roles
  • Route 53 Custom Domain Configuration
  • S3 + DynamoDB for Terraform Backend and State Locking

🔄 CI/CD Pipeline and GitOps

An automated CI/CD pipeline was implemented with GitHub Actions and Argo CD, managing the deployment of the productcatalog microservice.

⚙️ CI/CD Workflow Stages

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

📌 CI/CD Workflow Links & Screenshots


📌 Argo CD Sync & Deployment Validation

  • Argo CD Sync Operation

    Argo CD Sync

  • Post-Sync Validation: Application Healthy and Running

    App Status

The application was exposed via the frontendproxy service and mapped to the custom domain.

Application on Custom Domain

Note: The application was successfully deployed and accessible during the demonstration phase. The screenshots provided illustrate the complete deployment lifecycle.


🔧 Domain & DNS Configuration

📌 Route 53 & DNS Setup Screenshots

  • DNS Records for Domain Mapping
    DNS Records

  • FrontendProxy Service Exposure (without custom domain)
    FrontendProxy Service

The deployment was managed through complete-deploy.yaml, which contains combined manifests of all microservices and Kubernetes components.


🌟 Project Highlights

  • 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.

💡 Open Source Acknowledgement

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:

👉 Abhishek's GitHub


🙏 Thank You!

About

EcomTelemetry-App is a demo eCommerce app showcasing microservices deployment using Kubernetes (EKS), Terraform, and GitOps with Argo CD. It includes infrastructure code for AWS resources and CI/CD pipelines with GitHub Actions for automated deployment of services like Product Catalog.

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages