Milestone 2 - SCG-TeamNpComplete/Storm-Clustering GitHub Wiki

#Storm Cluster Milestone 2

Storm Cluster URL:

Production Server: http://ec2-35-161-48-143.us-west-2.compute.amazonaws.com:8888/SG_MICROSERVICE_STROMCLUSTERING/gateway/StormClustering/get

Test Server: http://ec2-35-160-137-157.us-west-2.compute.amazonaws.com:8888/SG_MICROSERVICE_STROMCLUSTERING/gateway/StormClustering/get

Upon hitting the Storm Cluster's end point, XML message will displayed as output. Storm Cluster invokes the Forecast Detector.(https://github.com/SCG-TeamNpComplete/Forecast-Detector)

##Docker

Storm Clustering Dockerhub Link: https://hub.docker.com/r/kedargn/stormcluster/

For milestone 2, Storm Cluster is running inside Docker container.

  • Dockerfile contains the instructions for docker image.
  • Travis CI build the docker image according the Dockerfile and pushes it to Dockerhub.
  • Travis CI invokes Amazon Code Deploy. Amazon Code Deploy in turn invokes scripts/install.sh & scripts/before_install.sh script.
  • scripts/before_install.sh kills the removes Storm Cluster's docker image and container, if it exists.
  • scripts/install.sh script pulls the docker image from Dockerhub and runs it inside docker container in Amazon EC2 instance.

Multilevel Testing

Unit Test

All the microservices include unit tests and is deployed in the test instance of EC2. The code can be found under branch milestone-2-test for each service.

Capacity Test Result

We used Apache JMeter to run the capacity Tests. We tried to overwhelm the system by running multiple threads in burst mode. We tweaked the test environment and added delay/computation as the number of instructions was low in our microservice code. The test results with thread count, error percentage and throughput can be found under Github Issue section- Milestone2: Capacity Testing Results.