1. Setting up the Prerequisites
Before getting started, I ensured that the following were installed and configured on my local environment:
AWS CLI & IAM credentials
kubectl
Python
Docker
Helm
2. Creating the Kubernetes Cluster (EKS)
I created an EKS cluster and node group. Once active, I confirmed the nodes (EC2 instances) were up and running.
3. Connecting EKS Cluster to CLI
The cluster was then connected to the CLI using aws eks update-kubeconfig, allowing further operations using kubectl.
4. Deploying Databases and Message Queue
The project uses the following backend services:
MongoDB for the auth service
PostgreSQL for token storage
RabbitMQ for messaging between services
All were deployed using Helm charts.
5. Building and Pushing Microservice Images
Each service — auth, converter, gateway, and notification—was containerized using Docker. Images were pushed to Docker Hub.
docker build -t your-image-name .
docker push your-image-name
6. Deploying Microservices with Helm
After building the images, I created Helm charts for each microservice and deployed them to the EKS cluster.
7. Verifying Functionality
Received a token from PostgreSQL
Accessed the email notification
Successfully downloaded and played the converted MP3 file