-
Notifications
You must be signed in to change notification settings - Fork 2
Milestone 2.0 Motivation
To find the limits of the application built in Milestone-1. All the microservices need to be dockerized and have to be auto-scaled, replicated based on the load.
- Kubernetes setup for all the microservices.
- Load testing of all the microservices and clearly articulate the results.
- Fix minor issues in Milestone-1.
- Update front-end to be more responsive and increase user-experience by including alert boxes and streamline api calls
-
Install minikube. (Reference Link).
minikube start
-
Clone our project.
git clone https://github.com/airavata-courses/terra.git
-
Checkout to the Kubernetes branch.
git checkout kubernetes-setup
-
Execute the commands in the terminal.
cd Kubernetes\ files/
kubectl apply -f MySQLConfigMap.yaml
kubectl apply -f MySQLService.yaml
kubectl apply -f rabbitmq.yaml
kubectl apply -f data-retrieval.yaml
kubectl apply -f api-gateway.yaml
kubectl apply -f weatherForecast.yaml
kubectl apply -f user-managment.yaml
kubectl apply -f userinterface.yaml
-
Create a tunnel to the user interface to access in the local machine.
minikube service user-interface
With these steps, you should see the application running.
Load testing is performed using Jmeter. For each service, we tested the maximum throughput that is possible with 1, 3 and 5 replicas with different ramp-up times.
Known issues:
- Kubernetes not scaling down when load is decreased. (#42)
- Saurabh -- Kubernetes setup, Front end Dockerization and several bug fixes in the front end.
- Himanshu -- Kubernetes setup, Load testing on weather services and bug fixes in the Java services.
- Gowtham -- Kubernetes setup, Bug fixes in Plotting service and Load testing data retrieval and forecast service.
All of us equally contributed to writing the reports, graphs and write up. We would like to thank all the TA's for their timely help whenever is needed.
Milestone - 1:
Milestone - 2:
- Weather service and Forecasting service with 1 pod
- Weather Service and Forecasting Service with 3 and 5 pods
- User service - 1 pod
- User service -3 and 5 pods
- Auto Scaling
Milestone -3:
Milestone - 4: