Nu sunt sigur ce arhitectură / ce cale să merg pentru datele persistente ale aplicației mele web Docker Swarm SaaS.
O schiță a aspectului cu traefik_proxy și un context pentru o mai bună înțelegere a nevoilor mele pot fi găsite în diagramă:
schiță colorată a aspectului cu cerințe
- Să merg cu NFS sau cu glusterfs pentru încărcările de fișiere (=fișiere, atașate de utilizatorii chiriașilor/proiectelor)? - sau, există o altă soluție, gratuită se poate recomanda furnizarea de containere de aplicații web (docker Swarm) cu fișierele consecvente, specifice locatarului, așa cum este explicat în diagrama draw.io legată?
- Folosesc mariadb pentru stocarea datelor necesare pentru a crea firele și conținutul acestuia (= postările): este galera solutia potrivita
- Și: pot/pot folosi aceleași servere pentru încărcările de fișiere pe care le folosesc pentru bazele de date (cel puțin pentru început)?
CAZ DE UTILIZARE pentru SAAS
SAAS este o aplicație web LAMP Client-Server care rulează pe docker, comparabilă cu un forum de discuții, cu fire diferite pentru diferitele livrabile ale proiectului și cu opțiunea de a încărca fișiere. (Legat de subiect, aceste fișiere pot fi mai mari (de exemplu, dacă proiectul este un film) sau mai mici (ca în majoritatea proiectelor, unele diagrame, fișiere de birou, fragmente de cod...))
- O APLICAȚIE WEB DE MANAGEMENT DE PROIECTE/COLABORAREA ECHIPEI, care rulează pe containere DOCKER
- Ar trebui să fie scalabil și gata să gestioneze 100.000 de proiecte cu o medie de 5 lucrători la proiect care postează și citesc mesaje și încarcă fișiere (atașamente cu postările lor)
- Trebuie să ruleze pe serverele „My own” (= NU AWS, NU AZURE, NU XYZ-cloud, dar pe propriile mele „Servere gestionate” sau VPS)
- Foarte disponibil (soluție HA)
- Foarte sigur (de exemplu, prin spații de nume și rețele individuale pentru a separa permisiunile de acces între chiriași sau copii de rezervă efectuate în mod regulat prin mysqldump â cURL la 2 servere de rezervă, la fel pentru fișierele încărcate, de exemplu, prin cronjobs)
- Timpi de așteptare foarte mici pentru operațiunile CRUD: navigarea prin fire trebuie să fie impecabilă/modul în care ne așteptăm să funcționeze pentru a nu ne simți perturbat în fluxul nostru de lucru astăzi (= sub 5 secunde, mai bine sub 2 secunde).