mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-25 02:44:18 +00:00
Update docs/platform_basics_brainstorming_2019-04-17.md
This commit is contained in:
parent
b8fa8f47ab
commit
cdd16f8401
@ -1,39 +1,65 @@
|
|||||||
## Manager Service:
|
|
||||||
- Joblist
|
|
||||||
- Thread safe
|
|
||||||
- REST API (https://github.com/zalando/connexion)
|
|
||||||
- CreateNewJob
|
|
||||||
- DelteJobs
|
|
||||||
- GetJobInfo
|
|
||||||
- AlterJob
|
|
||||||
- Scheduling
|
|
||||||
- Ressource management
|
|
||||||
- manages also files on file server
|
|
||||||
|
|
||||||
## Web Server
|
## Web Server
|
||||||
- serves content.
|
- **Solutions**:
|
||||||
|
- Apache (with mod WSGI)
|
||||||
|
- or nginx (with gunicorn I guess)
|
||||||
|
- Serves content
|
||||||
|
- handels HTTP requests etc.
|
||||||
- serves forms for user request and inputs
|
- serves forms for user request and inputs
|
||||||
- has copy of Joblist to display those for the user according to requests etc.
|
- has copy of Joblist to display those for the user according to requests etc.
|
||||||
- talks to the Manager service
|
- talks to the Manager service
|
||||||
- Users CANNOT talk directly with the manager
|
- Users CANNOT talk directly with the manager
|
||||||
- has list of all currently running user sessions (maybe used for authentication)
|
- has list of all currently running user sessions (maybe used for authentication)
|
||||||
|
|
||||||
## Authentication via LDAP (not sure if we need that)
|
## Application Server
|
||||||
- university internal authentication with LDAP
|
- **Solution**: Flask
|
||||||
- LDAP and connexion can use (OAuth 2)
|
|
||||||
- https://ldapwiki.com/wiki/Best%20Practices%20for%20LDAP%20Security
|
### Authentication and session management
|
||||||
- https://connexion.readthedocs.io/en/latest/security.html?highlight=authentication
|
- **Solutions**:
|
||||||
- university external authentication with something else
|
- Flask-Login (minimal)
|
||||||
|
- Flask-Session (maybe a bit more functions)
|
||||||
|
- handels both internal and external users
|
||||||
|
- Relational Database
|
||||||
|
- **Solutions**_
|
||||||
|
- PostgreSQL
|
||||||
|
- MariaDB
|
||||||
|
- Object Relational Mapper
|
||||||
|
- **Solutions**:
|
||||||
|
- Flask-SQLAlchemy
|
||||||
|
|
||||||
|
### Manager Service:
|
||||||
|
- Part of the Application Server
|
||||||
|
- Joblist
|
||||||
|
- **Solution**:
|
||||||
|
- http://www.celeryproject.org/
|
||||||
|
- Thread safe
|
||||||
|
- Scheduling
|
||||||
|
- Ressource management
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Compute pool: Docker Cluster
|
## Compute pool: Docker Cluster
|
||||||
|
- Solutions:
|
||||||
|
- Kubernetes
|
||||||
|
- swarm
|
||||||
- How to handle job and resource management for user Jobs and processes.
|
- How to handle job and resource management for user Jobs and processes.
|
||||||
- gets requests and tasks from the manager
|
- gets requests and tasks from the manager
|
||||||
|
|
||||||
## File Server
|
## File Server (Scans, pdfs etc.)
|
||||||
- stores user input and
|
- stores user input and
|
||||||
- output files
|
- output files
|
||||||
- Maybe WebDAV
|
- Maybe WebDAV
|
||||||
|
|
||||||
## Database
|
## Database
|
||||||
- document based data base like mongoDB preferred
|
- 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
|
||||||
|
Loading…
Reference in New Issue
Block a user