- Created by Enol Fernandez del Castillo, last modified by Giovanni Pizzi on 2020 Sep 15
Short description | The AiiDAlab brings the AiiDA workflow manager for computational science (www.aiida.net) to the cloud. The AiiDAlab web platform gives novice users access to their personal pre-configured AiiDA environment in the cloud. The AiiDAlab uses docker for user containers, and kubernetes for orchestration. Users get persistent home volumes for active use (no long-term storage component). |
---|---|
Type of community | Others (EAP) |
Community contact | Leopold Talirz <leopold.talirz@epfl.ch> |
Interviewer | |
Date of interview |
|
Meetings | |
Supporters |
User stories
Instruction
Requirements are based on a user story, which is is an informal, natural language description of one or more features of a software system. User stories are often written from the perspective of an end user or user of a system. Depending on the community, user stories may be written by various stakeholders including clients, users, managers or development team members. They facilitate sensemaking and communication, that is, they help software teams organize their understanding of the system and its context. Please do not confuse user story with system requirements. A user story is an informal description of a feature; a requirement is a formal description of need (See section later).
User stories may follow one of several formats or templates. The most common would be:
"As a <role>, I want <capability> so that <receive benefit>"
"In order to <receive benefit> as a <role>, I want <goal/desire>"
"As <persona>, I want <what?> so that <why?>" where a persona is a fictional stakeholder (e.g. user). A persona may include a name, picture; characteristics, behaviours, attitudes, and a goal which the product should help them achieve.
Example:
“As provider of the Climate gateway I want to empower researchers from academia to interact with datasets stored in the Climate Catalogue, and bring their own applications to analyse this data on remote cloud servers offered via EGI.”
No. | User stories |
---|---|
US1 | As a computational scientist I want to login into the AiiDAlab using my institutional credentials. |
US2 | As a computational scientist, I need to have a personal space to store data that persist between logins. |
US3 | As a materials scientist I would like to use the AiiDAlab to run and manage materials science workflows on remote compute resources. |
US4 | As a computational scientist I would like to use the AiiDAlab to participate in AiiDA tutorials so that I do not need to set up the software on my local machine. |
Use cases
Instruction
A use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language as an actor) and a system to achieve a goal.
Include in this section any diagrams that could facilitate the understanding of the use cases and their relationships.
Step | Description of action | Dependency on 3rd party services (EOSC-hub or other) |
---|---|---|
UC1 | Access via institutional credentials to the service | EOSC-hub AAI |
UC2 | Provide an online version of AiiDAlab completely accessible via browser that does not require installation of software | |
UC3 | Access to a persistent storage pool for users personal space | EGI Online Storage |
UC4 | Access to compute resources to run users workload | EGI Cloud Compute |
UC5 | Provide a kubernetes deployment to manage access to compute and storage resources for the application | EGI Cloud Container Compute |
UC6 | Provide scalable kubernetes setup that can adapt to workload during trainings | EC3 |
Requirements
Technical Requirements
Instruction
- Requirement number: Use numbers RQ1, RQ2, RQ3, ...
- Requirement title: Use a short but descriptive title. Use the same title in the Jira ticket 'Summary' field
- Link to requirement JIRA ticket: Open a ticket in <this JIRA queue https://jira.eosc-hub.eu/projects/EOSCWP10/issues/EOSCWP10-4?filter=allopenissues> (click on 'CREATE' button in the middle-top of JIRA)
- Source use case: Refer back to the use cases above (UC1, 2, ...)
Requirement number | Requirement title | Link to Requirement JIRA ticket | Source Use Case |
---|---|---|---|
Example | EOSC-hub to provide an FTS data transfer service | EOSCWP10-21 - Getting issue details... STATUS | UC1 |
RQ1 | EOSC-hub to provide a kubernetes managed pool of resources to deploy AiiDAlab | UC5, UC6 | |
RQ2 | EOSC-hub to provide a single sign-on services that supports institutional credentials | UC1 | |
RQ3 | EOSC-hub to provide a scalable kubernetes cluster to accommodate varying load during training events | UC6 | |
RQ4 | EOSC-hub to provide enough resources to host planned training events | UC2, UC3, UC4 |
Capacity Requirements
EOSC-hub services | Amount of requested resources | Time period |
---|---|---|