Definition

Multi-Tenancy (Mandantenfähigkeit)

Was ist Multi-Tenancy (Mandantenfähigkeit)?

Multi-Tenancy (Mandantenfähigkeit) ist eine Architektur, in der eine einzelne Instanz einer Softwareanwendung mehrere Kunden bedient. Jeder Kunde wird als Tenant (Mieter) bezeichnet. Tenants können die Möglichkeit erhalten, einige Teile der Anwendung anzupassen, zum Beispiel die Farbe der Benutzeroberfläche oder Geschäftsregeln, aber sie können den Code der Anwendung nicht anpassen.

In einer Multi-Tenant-Architektur arbeiten mehrere Instanzen einer Anwendung in einer gemeinsamen Umgebung. Diese Architektur funktioniert, weil jeder Mandant physisch integriert, aber logisch getrennt ist. Das bedeutet, dass eine einzige Instanz der Software auf einem Server läuft und dann mehrere Mandanten bedient. Auf diese Weise kann eine Softwareanwendung in einer mandantenfähigen Architektur eine dedizierte Instanz von Konfiguration, Daten, Benutzerverwaltung und anderen Eigenschaften gemeinsam nutzen.

Multi-Tenancy-Anwendungen können dieselben Benutzer, Displays, Regeln und Datenbankschemata gemeinsam nutzen. Die Benutzer können die Regeln und die Datenbankschemata bis zu einem gewissen Grad anpassen.

Bedeutung von Multi-Tenancy

Multi-Tenancy ist eine alte Idee und geht auf klassische Mainframe-Architekturen zurück, bei denen sich viele Anwendungen und Benutzer eine gemeinsame Hardwareplattform teilten. Mit der Wiedereinführung und breiten Anwendung moderner hardwaregestützter Virtualisierung und der Möglichkeit, Hardware für mehrere Softwareinstanzen – wie virtuelle Maschinen (VMs) und deren Anwendungen – gemeinsam zu nutzen, wurde die Multi-Tenancy-Fähigkeit neu betont. Die Technik gewann an Popularität in lokalen Rechenzentren und in gehosteten Infrastrukturen, die normalerweise mit Colocation und anderen gemeinsam genutzten IT-Diensten in Verbindung gebracht werden, da sie es vielen Benutzern ermöglicht, eine begrenzte oder gemeinsame Hardwareinfrastruktur zu nutzen.

In jüngerer Zeit hat sich Multi-Tenancy vor allem beim Cloud Computing durchgesetzt. Multi-Tenant-Architekturen finden sich sowohl in Public-Cloud- als auch in Private-Cloud-Umgebungen und ermöglichen es, die Daten der einzelnen Tenants von denen anderer Tenants zu trennen. In einer Multi-Tenant-Public-Cloud werden beispielsweise dieselben Server in einer gehosteten Umgebung verwendet, um mehrere Benutzer zu hosten. Jeder Benutzer erhält einen separaten und idealerweise sicheren logischen Bereich auf diesen Servern, um Anwendungen auszuführen und Daten zu speichern.

Multi-Tenancy ist auch für die Skalierbarkeit öffentlicher und privater Clouds wichtig und hat dazu beigetragen, dass Multi-Tenancy zum Standard geworden ist. Die mandantenfähige Architektur kann auch dazu beitragen, eine bessere Kapitalrendite für Unternehmen zu erzielen und das Tempo der Wartung und Aktualisierung für die Mieter zu beschleunigen.

Arten von Multi-Tenant-Architekturen

Es gibt drei Haupttypen von Multi-Tenancy-Modellen, alle mit unterschiedlichem Grad an Komplexität und Kosten. Jedes Modell wird traditionell in Bezug auf die Beziehungen zwischen Anwendung und Datenbank – die von der Anwendung verwendeten Daten – diskutiert.

1. Eine Anwendung, eine Datenbank: Ein einzelnes, gemeinsam genutztes Datenbankschema ist ein Multi-Tenancy-Modell mit einer Multi-Tenancy-Datenbank. Das ist die einfachste Form der drei Modelltypen und hat aufgrund der Nutzung gemeinsamer Ressourcen relativ geringe Kosten für die Mieter. Bei dieser Form wird eine einzige Anwendungs- und Datenbankinstanz verwendet, um mehrere gleichzeitige Mandanten zu hosten und Daten zu speichern. Die Verwendung eines einzigen, gemeinsam genutzten Datenbankschemas ermöglicht eine einfachere Skalierung. Allerdings können die Betriebskosten höher sein und laute Noisy-Neighbor-Effekte können die Leistung beeinträchtigen.

2. Eine Anwendung, mehrere Datenbanken: Diese Multi-Tenant-Architektur umfasst die Verwendung einer einzigen Datenbank mit mehreren Schemata. Dieses Tenant-System verwendet eine einzige Anwendungsinstanz mit individuellen Datenbanken für jeden Tenant. Außerdem ist diese Architektur schwieriger zu skalieren und verursacht mit jeder Datenbank höhere Kosten und mehr Overhead. Es ist eine wertvolle Architektur, wenn Daten von verschiedenen Tenants unterschiedlich behandelt werden müssen, zum Beispiel wenn sie je nach geografischer Region unterschiedliche Vorschriften durchlaufen müssen. Getrennte Datenbank tragen auch dazu bei, mögliche Noisy-Neighbor-Effekte zu reduzieren.

3. Mehrere Anwendungen, mehrere Datenbanken: Bei dieser Art der Multi-Tenant-Architektur werden Daten in mehreren Datenbanken gehostet. Dieses Modell ist relativ komplex in Bezug auf Kosten, Verwaltung und Wartung, aber der Ansatz ist sicher und die Tenants können nach einem bestimmten Kriterium getrennt werden.

Abbildung 1: Es gibt drei Multi-Tenancy-Modelle und jedes hat seinen eigenen Grad an Komplexität und Kosten.
Abbildung 1: Es gibt drei Multi-Tenancy-Modelle und jedes hat seinen eigenen Grad an Komplexität und Kosten.

Vor- und Nachteile von Multi-Tenancy

Es gibt eine Reihe von Vor- und Nachteilen, die sich daraus ergeben, dass man bei Multi-Tenancy sowohl Host-Provider als auch Tenant ist. Zu den Vorteilen gehören die folgenden:

  • Multi-Tenancy ist im Vergleich zu anderen Tenant-Hosting-Architekturen kostengünstiger.
  • Es gibt Preismodelle wie Pay-for-what-you-use und Pay-as-you-go (PAYG).
  • Tenants, die die Software eines Providers nutzen, müssen sich nicht um Updates kümmern, da diese vom Host-Provider bereitgestellt werden.
  • Die Tenants müssen sich keine Gedanken über die Hardware machen, auf der ihre Daten gehostet werden.
  • Die Anbieter müssen nur ein einziges System überwachen und verwalten.
  • Die Architektur ist leicht skalierbar.

Einige Nachteile, die mit Multi-Tenancy einhergehen, sind folgende:

  • Die von einem Provider bereitgestellten Anwendungen sind in der Regel weniger flexibel als Anwendungen in anderen Tenant-Architekturen, wie zum Beispiel Single-Tenancy.
  • Sie ist im Allgemeinen komplexer als die Single-Tenant-Architektur, da zusätzliche Virtualisierung und Verwaltung erforderlich sind, um jeden Tenant zu isolieren und zu sichern.
  • Anwendungen benötigen eine strengere Authentifizierung und Zugangskontrollen für die Sicherheit.
  • Tenants müssen sich um Noisy Neighbors kümmern, was die Reaktionszeit für andere Tenants, die dieselben Ressourcen nutzen, verlangsamen kann.
  • Je nach Anbieter können auch Ausfallzeiten ein Problem darstellen. Kollateralschäden, wie zum Beispiel ein Serverproblem, das viele Benutzer betrifft, können ebenfalls ein unerwünschtes Risiko darstellen.

Beispiele für Multi-Tenancy

Es gibt zahlreiche Beispiele für Multi-Tenancy, darunter die folgenden:

Hardware-, VM- und Container-Multi-Tenancy

Die Hardwarevirtualisierung ermöglicht es, mehrere VMs und virtuelle Container zu erstellen und auf einem gemeinsamen Server zu hosten, wobei jede VM eine separate Anwendung oder einen Dienst ausführt, der von einem anderen Interessenvertreter, einer anderen Abteilung oder einem anderen Kunden verwaltet wird. Hardware-Multi-Tenancy ist in modernen Rechenzentren und Colocation-Umgebungen weit verbreitet und eine grundlegende Voraussetzung für das gesamte Cloud Computing.

Multi-Tenancy in der Public Cloud

Kunden nutzen Instanzen von Ressourcen und Diensten, um eine Infrastruktur zusammenzustellen, die für das Hosting einer Geschäftsanwendung geeignet ist. Aber jede Cloud-Ressource oder jeder Service teilt sich die zugrunde liegende Hardware und Netzwerkbandbreite. Public Clouds können Kunden dedizierte Ressourcen zur Verfügung stellen, aber das ist eher die Ausnahme als die Regel.

Multi-Tenancy in der Private Cloud

Eine Private Cloud hat dieselben Multi-Tenancy-Konzepte wie eine Public Cloud, aber eine Private Cloud ist einer einzigen Organisation oder Gruppe gewidmet, während eine Public Cloud die Interessen vieler Kunden oder Gruppen bedient.

SaaS-Multi-Tenancy

Hierbei handelt es sich um eine Variante der Multi-Tenancy für Public Clouds, da Anbieter von Software as a Service (SaaS) im Allgemeinen als Cloud-Anbieter eingestuft werden. Ein SaaS-Anbieter kann zum Beispiel eine Instanz seiner Anwendung auf einer Instanz einer Datenbank laufen lassen und mehreren Kunden Webzugriff gewähren. In einem solchen Szenario sind die Daten jedes Tenants isoliert und bleiben für andere Mandanten unsichtbar. Multi-Tenancy kann auch in mehrschichtigen Systemen wie zum Beispiel einem SAP-System implementiert werden.

Serverlose Multi-Tenancy

Serverless Computing bietet einen Cloud-Service, der Ereignisse nutzt, um den Code eines Kunden zu laden und auszuführen, und der diese Infrastruktur dann beendet, wenn der Code ausgeführt wurde. Viele Anwendungen können sich dieselbe Funktion teilen, und die Funktion wird auf jeder verfügbaren gemeinsamen Hardwareinfrastruktur geladen und ausgeführt.

Vergleich von Multi-Tenancy und Single-Tenancy-Architekturen
Abbildung 2: Hier sehen Sie einen Vergleich zu Multi-Tenancy- und Single-Tenancy-Architekturen pro Kunde.

Multi-Tenant und Single-Tenant im Vergleich

Multi-Tenancy kann mit Single-Tenancy verglichen werden, einer Architektur, bei der jeder Kunde seine eigene Software-Instanz hat und möglicherweise Zugriff auf den Quellcode erhält.

Eine Single-Tenant-Anwendung ähnelt einem ein-Server-eine-Anwendung-Ansatz, der an traditionelle Rechenzentren vor der breiten Einführung der Servervirtualisierung erinnert. In gehosteten Single-Tenant-Architekturen verfügt ein Tenant über eine einzelne Instanz einer SaaS-Anwendung, die ihm gewidmet ist, im Gegensatz zu Multi-Tenancy, bei der es gemeinsame Dienste gibt. Da sich jeder Mandant in einer separaten physischen Umgebung oder Infrastruktur befindet, sind sie nicht auf die gleiche Weise gebunden wie die Benutzer einer gemeinsam genutzten Infrastruktur.

Multi-Tenancy wird häufiger verwendet, da die meisten lokalen Rechenzentren, SaaS und andere Cloud-Dienste mit Multi-Tenancy arbeiten. Im Vergleich zu Single-Tenancy ist Multi-Tenancy kostengünstiger, hat eine effizientere Ressourcennutzung und geringere Wartungskosten sowie das Potenzial für eine größere Rechnerkapazität. Bei einer Multi-Tenant-Architektur muss der Anbieter Aktualisierung nur einmal vornehmen. Bei einer Single-Tenant-Architektur muss der Anbieter mehrere Instanzen der Software anfassen, um Aktualisierungen vorzunehmen.

Ein potenzieller Kunde würde wahrscheinlich eine Single-Tenancy-Infrastruktur der Multi-Tenancy vorziehen, um mehr Kontrolle und Flexibilität in seiner Umgebung zu haben – in der Regel, um bestimmte Anforderungen wie Sicherheit oder Einhaltung gesetzlicher Vorschriften zu erfüllen.

Diese Definition wurde zuletzt im Juni 2024 aktualisiert

Erfahren Sie mehr über Data-Center-Betrieb

ComputerWeekly.de
Close