Definition

Multi-Tenancy (Mandantenfähigkeit)

Mandantenfähigkeit ist gegeben, wenn innerhalb einer Architektur eine einzelne Instanz einer Software-Anwendung mehrere Kunden bedient. Jeder Kunde wird als Mandant (Tenant) bezeichnet.

Ist das erwünscht, erhalten Mandanten die Fähigkeit, einige Teile der Anwendung anzupassen, wie zum Beispiel das Design der grafischen Benutzeroberfläche (GUI) oder Geschäftsregeln; den Code der Anwendung können sie hingegen nicht anpassen.

In einer mandantenfähigen Architektur arbeiten mehrere Instanzen einer Anwendung in einer gemeinsam genutzten Umgebung. Das funktioniert, indem jeder Mandant physisch integriert, aber logisch getrennt ist. Es läuft demnach eine einzige Instanz der Software auf einem Server, sie bedient jedoch mehrere Mandanten. Auf diese Weise kann eine Anwendung in einer mandantenfähigen Architektur eine dedizierte Instanz von Konfigurationen, Daten, Benutzerverwaltung und anderen Eigenschaften für alle Mandanten benutzen.

Multi-Tenancy-Anwendungen können dieselben Benutzer, Anzeigen, Regeln – wobei Benutzer diese in einigen Fällen und in eingeschränktem Rahmen selbst anpassen können – und Datenbankschemata gemeinsam nutzen.

Bedeutung von Multi-Tenancy

Mandantenfähigkeit hat sich in der Vergangenheit vielfach durchgesetzt und wird am häufigsten beim Cloud Computing eingesetzt. Architekturen mit mehreren Mandanten finden sich sowohl in Public als auch in Private Cloud-Umgebungen, in denen es vorteilhaft ist, wenn die Daten der einzelnen Mandanten voneinander zu trennen. Beispielsweise werden in einer Public Cloud mit mehreren Mandanten die gleichen Server in einer gehosteten Umgebung verwendet, um mehrere Benutzer zu hosten. Jedem Benutzer wird innerhalb dieser Server ein separater und idealerweise sicherer Speicherplatz für Daten zur Verfügung gestellt.

Die Mandantenfähigkeit ist auch für die Skalierbarkeit von Public und Private Clouds wichtig. Hier ist sie mittlerweile Standard. Die Multi-Tenant-Architektur kann auch dazu beitragen, eine bessere Kapitalrendite für Unternehmen zu erzielen und die Frequenz und Dauer der Wartung und Updates für die Mandanten zu verbessern.

Varianten mandantenfähiger Architektur

Es gibt drei Haupttypen von Multi-Tenancy-Modellen, die alle unterschiedlich komplex und kostenintensiv sind. Ein einziges, gemeinsam genutztes Datenbankschema ist ein Multi-Tenancy-Modell mit einer Multi-Tenant-Datenbank. Dies ist die einfachste der drei Formen und hat aufgrund der Verwendung gemeinsam genutzter Ressourcen relativ geringe Kosten für die Mandanten zur Folge. Diese Architektur verwendet eine einzige Anwendung und Datenbankinstanz zum Hosten der Mandanten und zum Speichern von Daten. Die Verwendung eines einzigen, gemeinsam genutzten Datenbankschemas ermöglicht eine einfachere Skalierung; kann aber insgesamt zu höheren Betriebskosten führen.

Eine andere Variante der Mandantenfähigkeit ist die Verwendung einer einzigen Datenbank mit mehreren Schemata. Dieses System verwendet eine einzige Anwendungsinstanz mit individuellen Datenbanken für jeden Mandanten. Diese Architektur verursacht höhere Kosten und mehr Verwaltungsaufwand für jede einzelne Datenbank. Sie ist dann von Vorteil, wenn Daten von verschiedenen Mandanten unterschiedlich behandelt werden müssen – zum Beispiel, wenn diese in verschiedenen Ländern mit verschiedenen Vorschriften sitzen.

Die dritte Art der Multi-Tenant-Architektur hostet Daten in mehreren Datenbanken. Dieses Modell ist in Bezug auf Verwaltung und Wartung relativ komplex, aber die Mandanten können durch ein ausgewähltes Kriterium voneinander getrennt werden.

Vor- und Nachteile von Mandantenfähigkeit

Es gibt eine Reihe von Vor- und Nachteilen, die sich daraus ergeben, wenn man ein Hosting-Provider oder ein Mandant ist. Einige Vorteile sind unter anderem:

  • Es ist kostengünstiger im Vergleich zu anderen Mandanten-Hosting-Architekturen.
  • Verfügbarkeit von Pay-for-what-you-need-Preismodellen.
  • Mandanten müssen sich nicht um Updates kümmern, da sie vom Host-Provider ausgerollt werden.
  • Die Mandanten müssen sich keine Sorgen um die Hardware machen, auf der ihre Daten gehostet werden.
  • Provider müssen nur ein einziges System überwachen und verwalten.
  • Die Architektur ist leicht skalierbar.

Einige Nachteile, die mit der Mandantenfähigkeit einhergehen, sind jedoch:

  • Anwendungen mit mehreren Mandanten sind in der Regel weniger flexibel als Anwendungen in anderen Mandantenarchitekturen, wie zum Beispiel Single-Tenancy.
  • Multi-Tenancy ist im Allgemeinen komplexer als Single-Tenancy.
  • Anwendungen mit mehreren Mandanten benötigen aus Sicherheitsgründen eine strengere Authentifizierung und Zugangskontrolle.
  • Mandanten können durch laute Nachbarn negativ beeinträchtigt werden. Das heißt jemand anderes auf derselben CPU verbraucht viele Zyklen, was die Antwortzeit verlangsamt.
  • Ausfallzeiten können je nach Anbieter ebenfalls ein Problem darstellen.

Beispiele

Im Cloud Computing hat sich die Bedeutung der mandantenfähigen Architektur aufgrund neuer Dienstleistungsmodelle, die die Vorteile der Virtualisierung und des Fernzugriffs nutzen, erhöht. Ein Software-as-a-Service-Anbieter (SaaS) kann zum Beispiel eine Instanz seiner Anwendung auf einer Instanz einer Datenbank laufen lassen und mehreren Kunden Web-Zugang bieten. In einem solchen Szenario sind die Daten jedes einzelnen Mandanten isoliert und bleiben für andere Mandanten unsichtbar. Multi-Tenancy kann auch in mehrschichtigen Systemen wie zum Beispiel einem SAP-System implementiert werden.

Die Unterschiede von Multi- und Single-Tenancy
Die Unterschiede von Multi- und Single-Tenancy

Multi-Tenant vs. Single-Tenant

Mandantenfähigkeit steht im Gegensatz zu Single-Tenancy, einer Architektur, in der jeder Kunde seine eigene Software-Instanz hat und Zugang zum Quellcode erhalten kann. In Single-Tenant-Architekturen hat ein Mandant eine einzige Instanz einer SaaS-Anwendung, die ihm gewidmet ist, im Gegensatz zu Multi-Tenancy, wo es gemeinsam genutzte Dienste gibt. Da sich jeder Mandant in einer getrennten Umgebung befindet, sind sie nicht in der gleichen Weise gebunden wie die Nutzer einer gemeinsam genutzten Infrastruktur; das heißt Single-Tenant-Architekturen bieten ihren Nutzern weitreichendere Anpassungsmöglichkeiten.

Mandantenfähigkeit ist die gebräuchlichere der beiden Optionen, da die meisten SaaS-Dienste darauf basieren. Im Vergleich zu Single-Tenancy ist Multi-Tenancy kostengünstiger, ermöglicht eine effizientere Ressourcennutzung, geringere Wartungskosten sowie ein Potenzial für größere Rechenkapazitäten. Bei einer mandantenfähigen Architektur muss der Provider Updates nur einmal durchführen. Bei einer Single-Tenant-Architektur muss der Anbieter mehrere Instanzen der Software berühren, um Aktualisierungen vorzunehmen.

Ein potenzieller Kunde würde wahrscheinlich eine Single-Tenant-Infrastruktur einer Multi-Tenancy-Architektur dann vorziehen, wenn er mehr Kontrolle und Flexibilität in seiner Umgebung braucht – typischerweise, um spezifischen Anforderungen gerecht zu werden.

Diese Definition wurde zuletzt im April 2020 aktualisiert

Erfahren Sie mehr über Data-Center-Betrieb

ComputerWeekly.de
Close