Prinzipiell mach ich es schon so. Ich hinterlege in der Datenbank flags (o oder 1) ob ein User eine gewisse Funktion nutzen darf.
Das Programm welches wir schreiben ist eine Art Warenwirtschaft, da werden tausende Artikel gespeichert, zu Amazon übertragen usw, Dies für mehrere Kunden gleichzeitig. Derzeit läuft es auf einem Cloudserver, wenn ich Anpassungen mache, muss ich jedes mal alles kurz lahmlegen um das neue Deployment hochzufahren. Im Prinzip ist das ein zentrales System in dem der Kunde Artikel an Amazon, Ebay etc verteilt, Bestellungen da raus holt und diese an sein LAger gibt etc. Jeder Kunde hat da ganz eigene Wünsche für Spezialprogrammierungen zb Anbindung an sein Lagersystem, Anbindung an dies und das.
Die Server würden wir bereitstellen, dafür hab ich einen Profi der würde einen Container für jeden Kunden aufsetzen (Docker glaube) wo das Deployment drin steckt. Das Hosting würde dann natürlich gleich mit verkauft werden. Wenn ein Kunde jedoch eigene Hardware hat, kann er es selbst hosten.
Jira ist da ein gutes Beispiel, die haben eigene Hostings oder auch selfhosted, das kommt dem sehr nahe. Atlassian betreibt da sicherlich je User eine eigene Instanz.
Außerdem können in dem Tool von Endkunden Reklamationen gemeldet werden usw, da ist finde ich eleganter, wenn der _Kunde auf ein Portal zb retoure.meinShop.de geht als auf einen “Fremdanbieter”
Außerdem kommt ein neues Datenschutzgesetz, dass das vorgehen wie bisher verbietet. Man darf keine Kundendaten zusammen speichern irgendwie, (da hab ich grad nicht den Durchblick).
Aus den Gründen finde ich ein Deployment pro User eleganter. Wenn ein Kunde mehr Speicher oder sonst was braucht, kann er es einfach dazu buchen ohne, dass ich den gesamten Cloudserver aufstocken muss.
Tomate Salate, AWS hatte ich ein angebiot, da lag ich bei 1500 EUR monatlich! Um gottes Willen!
Edit: Kann man denn nicht auch mehrere Domains in einem Wildfly deployen? Also dass jeder User ein eigenes Deployment auf einem Server bekommt? Dann wäre je User eine Domain in Wildfly oder? Dann könnte man pro Domain die standalone.xml anpassen (eigene Datenbank je Kunde usw). Dann wäre aber nach wie vor das Problem, wenn was abschmiert leiden alle Kunden darunter.