## 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. - 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 ## Compute pool: Docker Cluster - How to handle job and resource management for user Jobs and processes. - gets requests and tasks from the manager ## File Server - stores user input and - output files - Maybe WebDAV ## Database - document based data base like mongoDB preferred