mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-24 18:34: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
|
||||
- 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
|
||||
- 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)
|
||||
|
||||
## Authentication via LDAP (not sure if we need that)
|
||||
- university internal authentication with LDAP
|
||||
- LDAP and connexion can use (OAuth 2)
|
||||
- https://ldapwiki.com/wiki/Best%20Practices%20for%20LDAP%20Security
|
||||
- https://connexion.readthedocs.io/en/latest/security.html?highlight=authentication
|
||||
- university external authentication with something else
|
||||
## Application Server
|
||||
- **Solution**: Flask
|
||||
|
||||
### Authentication and session management
|
||||
- **Solutions**:
|
||||
- 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
|
||||
- Solutions:
|
||||
- Kubernetes
|
||||
- swarm
|
||||
- How to handle job and resource management for user Jobs and processes.
|
||||
- gets requests and tasks from the manager
|
||||
|
||||
## File Server
|
||||
## 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
|
||||
|
Loading…
Reference in New Issue
Block a user