Home The Team Tools Deliverables Requirements Concept Schedule

High Level Architecture

solution_architecture

Nimbus Technology is proposing an automated microservice to handle the reclamation of data storage from cloud storage containers and show analytics about the effectiveness and reclamation history of the program. This will consist of a backend program that handles the data reclamation and surrounding choices, a database to store application data, and a web page to display graphics with useful analytics. The figure to the left depicts a high-level view of the planned architecture of our project.

Backend

A backend program that will analyze containers and remove expired chunks of data. This program will need to be able to service up to thousands of containers concurrently with little degradation of performance and no risk of race conditions. This will be implemented in Golang for two reasons: 1) the language offers simple and scalable multi-threading capabilities, and 2) Golang is also used in many other IBM products, allowing our project to more seamlessly integrate with their work.

Frontend

A web application that will allow IBM employees to view analytics regarding client data, including metrics such as the amount of data saved per container, a total amount of data saved across all containers, the number of containers currently being services, and more. This will implemented using React.js and D3. React was chosen due to its high modularity and support, again making it easier for IBM to integrate our project into their work. D3 was chosen due to its position as the industry standard for data visualization, with its ability to dynamically create and populate a variety of graphics, which we can put to use by offering different levels of detail in our analytics display.

Database

A database that will store solution metrics and client container information that won’t be available from AWS. We will be using MongoDB to store our application data, since its document-oriented nature allows us to store JSON files with little to no work formatting the data.

Created by Nimbus Technology.