Was sind die typischen Herausforderungen bei der Konvertierung einer App mit einem Mandanten in eine App mit mehreren Mandanten? Sicherheit und Datenisolation sind für mich die wichtigsten. Was sind andere?
Ich bin einer der Architekten für einen ziemlich bedeutenden Automatisierungsaufwand, und in der Vergangenheit war es nur unser Unternehmen, das ihn einsetzte. Wir möchten es auch anderen ermöglichen, es zu nutzen. Jedes Mal, wenn wir davon sprechen, "es mandantenfähig zu machen", dreht sich die Konversation darum, Benutzer mit einem Mandanten von den Daten fernzuhalten, die ein anderer Mandant besitzt, und sicherzustellen, dass Benutzer mit einem Mandanten keine (absichtlich oder versehentlich) Auswirkungen auf einen anderen haben können Mieterumgebungen. Ich frage mich, ob Sicherheit / Datenisolation hier wirklich die einzigen Hauptprobleme sind oder ob es einige andere Hauptprobleme gibt, über die wir einfach nicht nachdenken.
quelle
Antworten:
Neben der Speicherung von Daten können Probleme auftreten
Einige davon setzen voraus, dass Sie alle Mandanten im selben Adressraum (Computer oder Cluster) ausführen. Wenn jeder Mandant Ihre Software auf seiner Hardware ausführt, können Sie einige der oben genannten Punkte diskutieren und Folgendes hinzufügen:
quelle
Das größte Problem bei der Mandantenfähigkeit ist meiner Meinung nach die Anpassung. Dies geschieht routinemäßig, wenn Sie eine Geschäftsanwendung an Unternehmen verkaufen. Dies kann von etwas so Einfachem wie jedem Kunden, der seine eigenen Skins wünscht, bis hin zur Möglichkeit, zusätzliche Felder, Regeln, Formulare und Berichte zu konfigurieren, variieren. Der Grad der Anpassung, den Sie unterstützen müssen, spielt eine entscheidende Rolle in der Architektur.
quelle
Mikes Antwort ist sehr gut, und viele der Punkte dort spielen aufgrund ihrer kurzen Länge fast eine untergeordnete Rolle. Nehmen Sie sich diese also zu Herzen.
Ein Punkt, den ich hinzufügen möchte, ist, dass Sie über gute Verwaltungstools verfügen sollten, um neue Mandanten zu erstellen (und später zu verwalten). Abhängig von der physischen Architektur, mit der Sie arbeiten, kann dies alles andere als trivial sein und wird häufig übersehen. Die Vorteile einer Software als Serviceprodukt kommen nur dann wirklich zum Tragen, wenn eine große Anzahl von Mietern vorhanden ist. Daher sollte ein angemessener Aufwand in die Verpflegung investiert werden.
Um Srirams Antwort zu erweitern; Die Anpassung pro Mandant ist so gut wie verboten. Alles, was ein Mandant ändern möchte, sollte konfigurierbar sein . Wenn Ihre Lösung beispielsweise das dynamische Hinzufügen von Datenfeldern in mindestens einigen Schlüsselbereichen nicht berücksichtigt, werden Sie wahrscheinlich mit Anpassungsanforderungen überschwemmt. Es ist einer der wenigen Fälle , in denen ein wenig zusätzliche Komplexität im Voraus tatsächlich off zahlt (sagen wir mal es geht gegen YAGNI, oder zumindest, diese Ebene der Konfiguration ist fast eine wesentliche Voraussetzung, damit Sie sind Gonna benötigen).
quelle