diff --git a/docs/platform_basics_brainstorming_2019-04-17.md b/docs/platform_basics_brainstorming_2019-04-17.md index aab08987..6bb311b5 100644 --- a/docs/platform_basics_brainstorming_2019-04-17.md +++ b/docs/platform_basics_brainstorming_2019-04-17.md @@ -2,22 +2,24 @@ - **Solutions**: - Apache (with mod WSGI) - or nginx (with gunicorn I guess) -- Serves content -- handels HTTP requests etc. -- serves forms for user request and inputs -- has copy of Joblist to display those for the user according to requests etc. -- talks to the Manager service -- Users CANNOT talk directly with the manager -- has list of all currently running user sessions (maybe used for authentication) +- **Goal/Function**: + - Serves content + - handels HTTP requests etc. + - serves forms for user request and inputs + - has copy of Joblist to display those for the user according to requests etc. + - talks to the Manager service + - Users CANNOT talk directly with the manager + - has list of all currently running user sessions (maybe used for authentication) ## Application Server - **Solution**: Flask ### Authentication and session management - - **Solutions**: +- **Solutions**: - Flask-Login (minimal) - Flask-Session (maybe a bit more functions) -- handels both internal and external users +- **Goal/Function** + - handels both internal and external users - Relational Database - **Solutions**_ - PostgreSQL @@ -28,6 +30,7 @@ ### Manager Service: - Part of the Application Server +- manages also files on file server - Joblist - **Solution**: - http://www.celeryproject.org/ @@ -37,29 +40,27 @@ - REST API - **Solution** - Flask internal - - Passes requests to the joblist/celery - - Functions: - - create_job - - delete_job - - get_job (JSON Object or metadata or both?) - - alter_job -- manages also files on file server + - **Goal/Function** + - Passes requests to the joblist/celery + - Functions: + - create_job + - delete_job + - get_job (JSON Object or metadata or both?) + - alter_job ## Compute pool: Docker Cluster -- Solutions: +- **Solutions**: - Kubernetes - swarm -- How to handle job and resource management for user Jobs and processes. -- gets requests and tasks from the manager +- **Goal/Function** + - How to handle job and resource management for user Jobs and processes. + - gets requests and tasks from the manager ## File Server (Scans, pdfs etc.) -- stores user input and -- output files -- Maybe WebDAV - -## Database -- 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 +- **Goal/Function** + - stores user input and + - output files +- **Solutions**: + - WebDAV/Samba