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 | ELIXIR wants to establish a federation of cloud sites, each providing storage and compute capacity for researchers. The federated clouds should be connected to a data replication service (Reference Data Set Distribution Service with the ELIXIR terminology - RDSDS) that enables ELIXIR to stage 'ELIXIR Core Data Resources' to the cloud sites on-demand. As a result, the cloud sites become data hosting nodes which are equipped with CPUs/GPUs and are suited for large-scale data analysis and analytics. Centrally provided and curated datasets can ensure high quality research in any of the partner states/regions. Researchers can go to their 'local' ELIXIR cloud provider, choose an already pre-staged ELIXIR dataset or request the staging of an ELIXIR dataset, choose an application of their choice (from a VM catalogue or container catalogue), maybe upload some additional data and then perform data analysis/analytics. Different conditions of access may apply at the different cloud sites, but it is expected that the cloud compute resources would be free at point of use for national/local researchers, while pay-for-use or other special conditions apply for foreigners. The replication of community assets to national cloud providers maximises the utilisation of national funding and lowers the total cost of access for researchers. The services in the setup should recognise users via their community/national user accounts and user attributes. (i.e. integration with community and national AAI systems may be needed.) |
US2 | The cloud federation can be also equipped with an ‘application replication service’ that enables application providers to deploy community/reference applications to any of the federated cloud sites, further improving 'reproducibility in science'. |
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 | Joining the cloud federation with a cloud site (cloud provider perspective):
| EOSC-hub centrally provided data distribution service (a new requirement to EOSC-hub!) EOSC-hub centrally provided application distribution service (a new requirement to EOSC-hub) ELIXIR cloud federation policies, protocols and interfaces. (under definition) |
UC2 | Making reference/core datasets available for replication to the federated cloud providers (data provider perspective):
| Same as above. |
UC3 | Requesting the replication of a reference/core dataset to my local cloud (researcher perspective):
| Same as above. |
| UC4 | Making reference/core applications available for replication to the federated cloud providers (data provider perspective):
| Same as above. |
| UC5 | Requesting the replication of a reference/core application to my local cloud (researcher perspective):
| Same as above. |
Requirements
Technical Requirements
Requirement ID | EOSC-hub service | GAP (Yes/No) + description | Requirement description | Source Use Case |
|---|---|---|---|---|
RQ1 | FTS data transfer service | Yes: EOSC-hub does not provide a centrally managed FTS service | ELIXIR would like to use a centrally provided FTS service as RDSDS. The FTS should provide isolation of the ELIXIR content from other communities' datasets. | UC1, 2, 3 |
RQ2 | Kubernetes as a service | Yes: EOSC-hub does not provide a centrally managed Kubernetes service that'd allow a community to orchestrate containers on EGI/EOSC IaaS clouds, and on community IaaS clouds (given that those clouds are compatible with the Kubernetes service) | EOSC-hub to provide a centrally managed Kubernetes service, which would allow ELIXIR to orchestrate containerised applications on the federated clouds. These clouds would be federated similarly, but not necessarily identically to the EGI Federated Cloud. (The protocols, interfaces and policies to use in the ELIXIR federation is still under definition.) | UC1, 4, 5 |
Capacity Requirements
The cloud capacity will initially come from the ELIXIR CC members (EBI, CESNET, CSC). Others will join in a second stage.
Capacity requirements for the centrally provided EOSC-hub FTS:
- X concurrent users
- Y TB throughput / month
- Simultaneous staging of data to Z sites
Capacity requirements for the centrally provided Kubernetes as a service:
- X concurrent users
- Y container throughput / month
- Simultaneous staging of containers to Z sites
