Code Monkey home page Code Monkey logo

nsa's Introduction

NSA

Team members:

  • Nikita Bafna
  • Shivali Jejurkar
  • Aniruddha Patil

Deployment guide

Please visit our Wiki page to get started with the deployment instructions for Assignment 2.

nsa's People

Contributors

aniruddhavpatil avatar jshivali avatar nbafna04 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

nsa's Issues

Assignment 2 Tasks

Based on Assignment 1, improve your system as follows

  1. If you have not already done so, containerize each of your microservices using Docker.

  2. Establish CI/CD systems for each of your microservices, including tests.

  3. You should be able to trigger builds and live deployments through GitHub commits to your “dev” and “release” code branches for each service.

  4. Use Kubernetes to manage the deployments of your containers

  5. Deploy your system on Jetstream using the OpenStack API (Do not use Jetstream’s Atmosphere.)

  6. You should also automate/script the creation and management of your VMs and deployments of Kubernetes. A tool like Terraform from HashiCorp may be useful but isn’t required.

  7. Using a tool such as JMeter, evaluate the scaling of your system

  8. Using JMeter or a similar tool, measure and analyze the performance of your system’s throughput under incrementally increasing loads

  9. Test with 1, 3, and 5 replicas (fixed) of each of your services.
    At what point does your system fail?
    What about your system failed?

  10. Test your system with elastic resource management (that is, system grows under load, contracts when resources are not needed).

  11. Inject failures and demonstrate that your system continues to function with JMeter-created or similar loads.

  12. Manually kill a VM running part of your system

  13. Your entire system must be deployable on vanilla Jetstream VMs by your peer-reviewers and graders with a single command for provisioning the infrastructure and a single command (a git commit) for deploying your system.

  14. They should be able to verify your system works correctly through pre-defined tests, should be able to observe your system operations under JMeter (or other created) loads, and should be able to observe your system’s operations under reasonable failures.

Checklist - Assignment 1

  1. UI / Web Service
  2. API gateway
  3. User management service
  4. Session management service
  5. Data Retrieval service
  6. Model mock up service
  7. Post processing service
  8. 3 different languages
  9. Different DB for each service if required(No two services should access same Database)
  10. User authentication. (User audit)
  11. Service calls though message handlers
  12. Continuous Integration and deployment system for deploying the services.
  13. System independent application.
  14. Easily deployable.

Project Ideas : Task 1

Now that we have a general idea of the system that is to be built, lets use this discussion thread to put up ideas of how we can use NEXRAD data in our use case for Assignment 1.

Agenda for the discussion on 02/02/2020

  1. [Issue] Data retrieval
  2. [Implementation] Java wrapper for kafka
  3. [Implementation] Kafka-python consumer
  4. [Milestone] NSA Hello World
  5. [Documentation] Establish contribution instructions

Dockerize microservices

  • kafka
  • mysql
  • user_management
  • api_gateway
  • data_retrieval
  • post_processing
  • session_management
  • user_interface

Issue with dockerizing postprocessing service

There is an issue with the Dockerfile of postprocessing. Upon trying to build the docker image, I get the following error:

Building postprocessing
Step 1/10 : FROM python:3-onbuild
# Executing 3 build triggers
 ---> Using cache
 ---> Using cache
 ---> 7f1e79e15eaf
Step 2/10 : ADD postprocessing.py /
 ---> 1dc168f020ec
Step 3/10 : ADD pyart-master /
 ---> 7fadd36737d7
Step 4/10 : RUN pip install --upgrade pip
 ---> Running in ff09004fe42d
Collecting pip
  Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)
Installing collected packages: pip
  Found existing installation: pip 10.0.1
    Uninstalling pip-10.0.1:
      Successfully uninstalled pip-10.0.1
Successfully installed pip-20.0.2
Removing intermediate container ff09004fe42d
 ---> b03c2773be49
Step 5/10 : ADD requirements.txt /
 ---> 50691c8e7dbf
Step 6/10 : RUN pip3 install -r requirements.txt
 ---> Running in 25b60ee404f6
Requirement already satisfied: numpy in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 1)) (1.18.1)
Requirement already satisfied: pandas in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 2)) (1.0.1)
Requirement already satisfied: scipy in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 3)) (1.4.1)
Requirement already satisfied: netCDF4 in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 4)) (1.5.3)
Requirement already satisfied: kafka in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 5)) (1.3.5)
Requirement already satisfied: kafka-python in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 6)) (2.0.1)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/site-packages (from -r requirements.txt (line 7)) (3.1.3)
Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/site-packages (from pandas->-r requirements.txt (line 2)) (2019.3)
Requirement already satisfied: python-dateutil>=2.6.1 in /usr/local/lib/python3.6/site-packages (from pandas->-r requirements.txt (line 2)) (2.8.1)
Requirement already satisfied: cftime in /usr/local/lib/python3.6/site-packages (from netCDF4->-r requirements.txt (line 4)) (1.1.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/site-packages (from matplotlib->-r requirements.txt (line 7)) (2.4.6)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/site-packages (from matplotlib->-r requirements.txt (line 7)) (0.10.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/site-packages (from matplotlib->-r requirements.txt (line 7)) (1.1.0)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.6/site-packages (from python-dateutil>=2.6.1->pandas->-r requirements.txt (line 2)) (1.14.0)
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/site-packages (from kiwisolver>=1.0.1->matplotlib->-r requirements.txt (line 7)) (39.2.0)
Removing intermediate container 25b60ee404f6
 ---> 8b52be2496e6
Step 7/10 : RUN python /pyart-master/setup.py build
 ---> Running in db303319adf2
python: can't open file '/pyart-master/setup.py': [Errno 2] No such file or directory
ERROR: Service 'postprocessing' failed to build: The command '/bin/sh -c python /pyart-master/setup.py build' returned a non-zero code: 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.