Skip to content

Assignment 3

Pulkit Mathur edited this page Apr 26, 2019 · 12 revisions

Assignment 3

Project Description: A portal to showcase projects/work using posts and people can seek advice or help from experts in the corresponding fields. Connect with the best. This portal can also be used as a project portfolio. Showcase your portfolio and get hired.

Napkin Diagram

Napkin Diagram

Architecture

Revised Architecture Diagram

Tasks Accomplished

  • Used Docker to containerize all the microservices.
  • Configuration management, load balancing and automatic deployment of containerized applications using Kubernetes.
  • Used JMeter for load test functional behavior and performance measurement.

Docker

All the microservices were containerized using Docker and all images are stored on DockerHub. The containers take care of all the dependencies of the microservice and provides a virtual environment to run the service.

Kubernetes

Kubernetes Configuration

All the services were automatically deployed on 3 instances using Kubernetes

Performance Measurement using JMeter

The load testing was performed on all the microservies as well as the frontend.

Results for Frontend (3 Replicas)

Requests Error Rate (%) Throughput(per second)
4000 0.0 715.2
8000 0.0 1182.2
10000 0.0 1252.8

Results for Login Microservice (3 Replicas)

Requests Error Rate (%) Throughput(per second)
4000 0.0 983.0
8000 0.0 1022.9
10000 0.0 1123.7

Results for Fetch Microservice (3 Replicas)

Requests Error Rate (%) Throughput(per second)
4000 0.0 169.1
8000 0.0 162.5
10000 0.0 137.9

Results for Upload Microservice (3 Replicas)

Requests Error Rate (%) Throughput(per second)
4000 0.0 977.3
8000 0.0 1348.8
10000 0.0 1281.6

Results for Frontend (5 Replicas)

Requests Error Rate (%) Throughput(per second)
4000 0.0 1059.9
8000 0.0 1180.8
10000 0.0 1501.1

Results for Login Microservice (5 Replicas)

Requests Error Rate (%) Throughput(per second)
4000 0.0 1398.6
8000 0.0 1771.9
10000 0.0 1481.7

Results for Fetch Microservice (5 Replicas)

Requests Error Rate (%) Throughput(per second)
4000 0.0 92.9
8000 0.0 172.5
10000 0.0 172.7

Results for Upload Microservice (5 Replicas)

Requests Error Rate (%) Throughput(per second)
4000 0.0 1408.9
8000 0.0 1753.6
10000 0.0 2032.5

Application Access/Testing

  • To access the application, go to Main Page
  • Features to validate:
    • Any user should be able to sign up or login if the user already has an account.
    • Once the user has logged in, the user should be able to create a post either using text or by selecting an image from local system or both. After this the user should also select the tag from the drop down menu.
    • The user won't be allowed to create a post when both text and image are missing.
    • After this step, the user should be able to see posts from other people (Project Feed).