Software package intended for research teams, for distributed computations. Software at current version supports computations that has sequential nature. Software supports unlimited number of participants, that can request at anytime. All requests will be placed into queue, and executed in the order they arrived. From here can be inferred the kind of models that can be computed by this software package. That is, only models which has state at every given moment, and can be updated at any given step, regardless of requests waiting in queue. Nevertheless, this is the default behaviour expected from software, and there is freedom to design the application in a way, so it can be used for parallel and non sequential models. Sequential modeling is available off-the-shelf. At current version request supported only by HTTP protocol.
System provides logging available in server, where the software is running. All logs are collected through the most known logging stack that is ELK, hence, all logs are visualized by Kibana. Logging is configurable and can be disabled. As ELK stack runs as separate micro-service, it can be used for storing any user generated data and visualized in Kibana. Software provides embedded module for writing data into this stack.
To have easy experience with environment we've wrapped the software into Docker containers, which is known enterprise container platform. This gives freedom to operate with any operating system without infrastructure lock-ins. All is needed for application to work is the Docker Community Edition.
Requirements: Docker Community Edition
Install Docker version 17.05+
Install Docker Compose version 1.6.0+
To start the app run: docker-compose up
in the folder process-monitoring
.
After the process is finished run the following in the root folder: docker-compose up
To start process in background run: docker-compose up -d
.
For testing the computation center in stand-alone mode download Postman
Computation center is up on
localhost:3000
Kibana is up on
localhost:5601
Elasticsearch is up on
localhost:9200
HTTP:GET /toJson returns json of the model
HTTP:GET /export returns model as encrypted string
HTTP:POST /fromJson recovers model from given json
HTTP:POST /import recovers model from given encrypted string
List all docker containers
docker ps -a
Stop all docker containers
docker stop $(docker ps -aq)
Remove all docker containers
docker rm $(docker ps -aq)
List all docker images
docker images -a
Remove all docker images (images will be downloaded again on start)
docker rmi $(docker images -q) [ --force ]
With exact Id
docker rmi @id
docker stop @id