This project demonstrates a full cloud-native microservices architecture built on AWS with DevOps best practices.
- Build scalable microservices
- Implement event-driven architecture
- Use caching for performance
- Automate deployment with CI/CD
User β Frontend β Backend β SQS β Worker β RDS β SNS
- Frontend (HTML/JS)
- Backend (Node.js)
- Worker Service
- PostgreSQL Database
- Redis Cache
- AWS SQS (Queue)
- AWS SNS (Notifications)
- Display course list
- Fetch from backend API
- Register for courses
- GET /courses
- POST /register
- Serve course data
- Handle caching using Redis
- Send registration data to SQS
- Redis caching (TTL 10 min)
- Input validation
- Async processing via queue
- Poll messages from SQS
- Store registrations in DB
- Send notifications via SNS
- Decoupled architecture
- Handles traffic spikes
- id
- title
- description
- image_url
- id
- course_id
- student_name
- Reduce DB load
- Improve response time
- Cache key: courses
- TTL: 600 seconds
- Queue registration requests
- Enable asynchronous processing
- Notify admin on new registration
- Email/SMS alerts
- frontend
- backend
- worker
- postgres
- redis
- docker-compose
- Deployments
- Services (ClusterIP, LoadBalancer)
- Auto scaling
- High availability
- Code push
- Jenkins builds Docker images
- Push to ECR
- Deploy to EKS
- AWS RDS (PostgreSQL)
- AWS ElastiCache (Redis)
- Terraform (IaC)
- Monitoring (CloudWatch)
- Ingress Controller
- Microservices architecture
- Event-driven design
- Containerization with Docker
- Kubernetes deployment
- CI/CD pipeline automation
This project demonstrates a production-ready DevOps workflow integrating AWS services, containerization, and automation. It showcases scalability, performance optimization, and modern cloud architecture design.