SKALIERBARKEIT, AGILITÄT UND KOSTENEFFIZIENZ
Die Türen, die durch Multi-Tenancy geöffnet werden
Die Multi-Tenancy–Architektur ist zu einem sehr zentralen Thema für viele Wirtschaftszweige geworden, insbesondere für den eCommerce-Bereich. Beginnen wir mit dem folgenden Beispiel:
Eine Softwareanwendung wurde lediglich für den Verkauf von Waren entwickelt. Was für Waren das sind, spielt für unseren Anwendungsfall keine Rolle. Die Kunden, die die Software nutzen, haben unterschiedliche Anforderungen, wie die Software aufgestellt sein sollte, oder genauer genommen, sie haben bestimmte Anforderungen daran, wie ihre Daten aufbewahrt werden sollten. Sie möchten zum Beispiel, dass andere Kunden keinen Zugriff darauf haben. Das würde bedeuten, dass wir die Daten in der Datenbank getrennt verwalten müssen. Für eine Single-Tenant-Anwendung wäre dies ein Albtraum. Glücklicherweise gibt es so etwas wie die Multi-Tenant-Anwendung, die uns den Tag rettet.
Durch die Multi-Tenant-Umgebung (sog. Mandantenfähigkeit) wird nämlich für jeden Kunden eine eigene Instanz mit einer eigenen benutzerspezifischen Konfiguration eingerichtet.
RESSOURCENEINSATZ OPTIMIEREN
Multi-Tenant vs. Single Tenant
Ein „Tenant“ (Mandant) ist eine Gruppe von Benutzern, die einen gemeinsamen Zugang mit bestimmten Zugriffsberechtigungen und Nutzungsmöglichkeiten für eine konkrete Softwareinstanz haben. Die Tenants sollten niemals voneinander wissen und ihre Daten sollten getrennt sein.

Maßgeschneiderte Softwareentwicklung
Sie haben das Problem, wir liefern die Lösung.
Optimierung der Nutzung von Ressourcen
Ein Rechner pro Mandant ist in den meisten Fällen eine Verschwendung von Ressourcen, da ein einzelner Mandant höchstwahrscheinlich nicht in der Lage sein wird, die volle Rechenleistung auszunutzen. Daher sollte ein einzelner Rechner von mehreren Mandanten gemeinsam verwendet werden.
Datenschutz zwischen den Mandanten
In einer mandantenfähigen Architektur steht die Gewährleistung von Datenschutz, Vertraulichkeit und Konsistenz der gespeicherten Daten im Vordergrund. Es muss mit so genannten "Noisy Neighbors" (lauten Nachbarn) umgegangen werden. Dies bedeutet, dass ein Tenant, der sich auf unerwartete Weise verhält, die anderen Tenants nicht beeinträchtigen sollte.
Die Mühe eine „Fool-proof“ Trennung zu gewährleisten, kann sich wohl lohnen, da wir dann von den Vorteilen der gemeinsamen Nutzung von Ressourcen profitieren können, und zwar:
Niedrigere Kosten:
Wird ein Rechner von mehreren Tenants verwendet, senken automatisch die Kosten des Softwareanbieters.
Elastizität & Agilität:
Das Onboarding neuer Mandanten ist nicht nur kosteneffizienter, sondern auch viel einfacher, zügiger und flexibler.
WIE INFORMATIONEN AUFGETEILT WERDEN KÖNNEN
Arten der Mehrmandanten-Anwendung
Die größte Herausforderung einer mandantenfähigen Softwarearchitektur besteht darin, die Daten pro Mandant aufzuteilen und zugleich Ressourcen mehrfach zu verwenden. Derzeit existieren drei verschiedene mandantenfähige Software-Architekturen. Ihr Hauptunterschied besteht darin, wie die Informationen für jeden Mandanten physisch aufgeteilt werden.
1. Gemeinsame Datenbank, die eine Diskriminatorspalte verwendet

Pros
Platz sparend
Für mehrere Mandanten geeignet
Cons
Erhöht die Komplexität der Datenbank
Kann nicht einfach skaliert werden
2. Ein Schema pro Mandant

Pros
Geringe Hardwarekosten
Cons
Die Wiederherstellung von Daten ist schwieriger
Keine lose Kopplung zwischen den Komponenten
3. Eine Datenbank pro Mandant

Die dritte Alternative ist die Bereitstellung einer einzelnen Datenbankinstanz je Mandanten. Dies ist wahrscheinlich die intuitivste Lösung, wenn es um Multi-Tenancy geht. Bei diesem Ansatz werden die Daten des Mandanten physisch von denen der anderen Mandanten getrennt. Auf diese Weise ist der Datenschutz und die Vertraulichkeit der Informationen gewährleistet. Zudem lassen sich Backups und andere administrative Maßnahmen viel einfacher durchführen. Die Kosten für diese Lösung sind allerdings deutlich höher, da mehrere Datenbankinstanzen verwaltet werden müssen.
Pros
Einfach für Backups und Wiederherstellung
Größere Sicherheit
Unkomplizierte Implementierung
Cons
Hohe Kosten

created by agile natives for agile natives
Die erste all-in-one scaled agile Projektmanagement Suite für SharePoint.
DAS GLEICHGEWICHT FINDEN
Auswahl einer Multi-Tenant Softwarearchitektur
Wenn es um die Wahl eine Art mandantenfähiger Architektur geht, gibt es kein Richtig oder Falsch. Jedes Modell bringt seine Vor- und Nachteile mit sich, daher hängt die Wahl hauptsächlich von den Anforderungen der Anwendung ab. Wenn Sie zum Beispiel eine kleine Anzahl von Mandanten haben, sagen wir weniger als tausend, und eine starke Datenisolierung berücksichtigen wollen, dann sind Lösung 2 (Schema pro Mandant) oder 3 (Datenbank pro Mandant) von Bedeutung. Schema pro Mandant ist in der Regel die erste Wahl, weil sie ein gutes Gleichgewicht zwischen Datenisolierung und Wiederverwendung von Ressourcen bietet. Wenn die Anwendung eine sehr große Anzahl von Mandanten unterstützen soll, ist die gemeinsame Datenbank mit einer Diskriminatorspalte möglicherweise die einzige Wahl.
Im Grunde genommen ist der realistischste Ansatz ein gemischtes Modell, bei dem verschiedene Kundensegmente mit unterschiedlichen Merkmalen unterstützt werden.