Skip to content

Project Milestone 3

Aravind Parappil edited this page Apr 3, 2019 · 3 revisions

Updated Architecture Diagram

Kubernetes Cluster

System Architecture

Tasks Accomplished

• Dockerized individual services
• Setup Kubernetes Master-worker for load balancing
• Jenkins CI/CD for deployment of Docker Containers
• News Feature- Sentiment analysis of news headlines to recommend new set of songs
• Load testing using JMeter

Load Testing using JMeter

The application was tested for capacity with 3 replicas for each service. All tests were performed by hitting endpoint '/profileservice/get_personal_details' through API Gateway.

3 Replicas

The test was run for 2000,5000,9000 requests. The failure point was observed to be approximately 6400 requests.


5 Replicas

The replicas were increased to 5 for each service and performance was improved. The failure point was approximately 8500 requests.


For more detailed test results go here

Steps to test the application

The app is running at : http://149.165.171.8:30007
You can use the following credentials to try logging in: Username: [email protected] Password: 1234

Kubernetes

Kubernetes cluster has 4 worker nodes.
Fault tolerance can be tested through the dashboard
• Click on Pods from the side menu
• Choose any running pod and click on the three dots icon to get the delete option
• You can view the status of newly generated pod as well

Contact us for login credentials.

Jenkins

Git Webhook has been implemented and build is triggered on commit to 'Project-3' branch.
The kubernetes_deployment job builds docker images for each service, pushes them to docker hub and runs the deployment yaml file. Also, patches are also applied for each service to enable rolling updates.

Jenkins can be accessed here
Contact us for login credentials.

Challenges Faced

• Old Docker images were not being deleted and caused disk space issues