Update docs/platform_basics_brainstorming_2019-04-17.md

This commit is contained in:
Stephan Porada 2019-07-01 14:53:33 +02:00
parent cdd16f8401
commit 96b1c24aca

View File

@ -2,22 +2,24 @@
- **Solutions**: - **Solutions**:
- Apache (with mod WSGI) - Apache (with mod WSGI)
- or nginx (with gunicorn I guess) - or nginx (with gunicorn I guess)
- Serves content - **Goal/Function**:
- handels HTTP requests etc. - Serves content
- serves forms for user request and inputs - handels HTTP requests etc.
- has copy of Joblist to display those for the user according to requests etc. - serves forms for user request and inputs
- talks to the Manager service - has copy of Joblist to display those for the user according to requests etc.
- Users CANNOT talk directly with the manager - talks to the Manager service
- has list of all currently running user sessions (maybe used for authentication) - Users CANNOT talk directly with the manager
- has list of all currently running user sessions (maybe used for authentication)
## Application Server ## Application Server
- **Solution**: Flask - **Solution**: Flask
### Authentication and session management ### Authentication and session management
- **Solutions**: - **Solutions**:
- Flask-Login (minimal) - Flask-Login (minimal)
- Flask-Session (maybe a bit more functions) - Flask-Session (maybe a bit more functions)
- handels both internal and external users - **Goal/Function**
- handels both internal and external users
- Relational Database - Relational Database
- **Solutions**_ - **Solutions**_
- PostgreSQL - PostgreSQL
@ -28,6 +30,7 @@
### Manager Service: ### Manager Service:
- Part of the Application Server - Part of the Application Server
- manages also files on file server
- Joblist - Joblist
- **Solution**: - **Solution**:
- http://www.celeryproject.org/ - http://www.celeryproject.org/
@ -37,29 +40,27 @@
- REST API - REST API
- **Solution** - **Solution**
- Flask internal - Flask internal
- Passes requests to the joblist/celery - **Goal/Function**
- Functions: - Passes requests to the joblist/celery
- create_job - Functions:
- delete_job - create_job
- get_job (JSON Object or metadata or both?) - delete_job
- alter_job - get_job (JSON Object or metadata or both?)
- manages also files on file server - alter_job
## Compute pool: Docker Cluster ## Compute pool: Docker Cluster
- Solutions: - **Solutions**:
- Kubernetes - Kubernetes
- swarm - swarm
- How to handle job and resource management for user Jobs and processes. - **Goal/Function**
- gets requests and tasks from the manager - How to handle job and resource management for user Jobs and processes.
- gets requests and tasks from the manager
## File Server (Scans, pdfs etc.) ## File Server (Scans, pdfs etc.)
- stores user input and - **Goal/Function**
- output files - stores user input and
- Maybe WebDAV - output files
- **Solutions**:
## Database - WebDAV/Samba
- document based data base like mongoDB preferred
- could be possible that a python framework for jobs and tasks exist
mongo Db would not be necessary then