flowchart TD
A["Start - to repeat for each platform for an assembly"] --> B
B{"Does your institution/consortium offers a suitable hosted service (check for backup, data retention, GDPR, access and security)"}
B -- Yes --> C["Use this service. Eventually check for an API access if another platform needs to be connected"]
BA{"Does your institution provides a managed environment for virtual servers"}
BB{"Use this virtual server/servers, check if they provide backups, snapshots and a load-balancing facility/possibility. The virtual server can otherwise be used as a physical one"}
BC{"Is there a need for high availability and no load-balancing possibility"}
CA{"Are you familiar with Docker/Docker Compose and can your selected platform be setup using it?"}
D{"Can you create and manage<br/>virtual machines (VMs)?"}
H{"Can you install software<br/>on a dedicated physical server?"}
I{"Is it possible to install<br/>a pre-built system image?"}
F{"Do you need a 24/7 availability?"}
B -- No --> BA
BA -- Yes --> BB
BA -- No --> F
BB --> BC
BC -- Yes --> M
BC -- No --> CA
F -- Yes --> M
F -- No --> CA
M{"Does your institution/consortium provide<br/>a managed Kubernetes cluster?"}
M -- Yes, already running & supported --> N["Use a Kubernetes-based RDM stack<br/>(e.g., iRODS, Dataverse, Rucio, Nextcloud,<br/>or custom services deployed on K8s)"]
M -- No --> MA
MA{"Does the team have the necessary skills to manage and operate Kubernetes?"}
MA -- Yes --> MB
MA -- No --> CA
MB{"Can the selected RDM platform be easily containerized and deployed on Kubernetes (e.g., using Helm charts or operators), and is the database already supported or can it be easily integrated?"}
MB -- Yes --> MC
MB -- No --> CA
MC{"Do the benefits of Kubernetes (scalability, resilience, high availability) outweigh the added complexity and operational overhead?"}
MC -- Yes --> N
MC -- No --> CA
CB{"Do you have specific requirements that necessitate an orchestration (for instance a need for high availability, load balancing)?"}
CB -- Yes --> MD
CB -- No --> CAA
MD["Consider using simpler container orchestration alternatives like Docker Swarm, Nomad, or other tools that provide some benefits of containerization with less complexity"]
CA -- Yes --> CB
CAA["Use preferably docker-compose, evenually use https://www.composerize.com/ to transform a docker command line to a docker compose manifest."]
CA -- No --> D
D -- Yes --> E["Use a single VM with<br/>a preconfigured RDM image<br/>(if available) or install<br/>software manually within the VM"]
D -- No --> H
H -- Yes --> I
I -- Yes --> J["Use a ready-made bare-metal image<br/>(e.g., institution-provided RDM stack)"]
I -- No --> K["Install RDM software manually<br/>on bare metal<br/>(highest effort & risk)"]
H -- No --> L["Use an external service instead<br/>(institutional or cloud SaaS)"]