Zum Inhalt springen

Glossar · M

Multi-Tenancy

Architektur-Prinzip, das es ermöglicht, mehrere Mandanten in einer Anwendung zu verwalten, wobei Daten und Konfigurationen getrennt bleiben.

Definition

Multi-Tenancy ist ein Architektur-Prinzip in der Softwareentwicklung, bei dem eine einzelne Instanz einer Anwendung mehrere Mandanten (Tenants) bedient. Jeder Mandant nutzt die Software unabhängig von den anderen, wobei Daten und Konfigurationen voneinander getrennt bleiben. Dieses Prinzip wird häufig in Cloud-Computing-Umgebungen und Software-as-a-Service (SaaS)-Anwendungen eingesetzt.

Das Ziel von Multi-Tenancy ist es, Ressourcen effizient zu nutzen, indem mehrere Kunden dieselbe Anwendung und Infrastruktur teilen, ohne dass ihre Daten vermischt werden. Dabei kann jeder Mandant eigene Einstellungen, Benutzer und Datenstrukturen besitzen, die logisch voneinander isoliert sind. Die Trennung erfolgt meist auf Datenbank- oder Anwendungsebene.

Was bedeutet das für Ihr Unternehmen?

Wenn Sie eine Software an mehrere Kunden vermieten oder ein Portal für verschiedene Firmen betreiben, ist Multi-Tenancy meist die wirtschaftlichste Bauweise, weil alle dieselbe Installation nutzen. Das größte Risiko ist, dass ein Kunde durch einen Programmierfehler Daten eines anderen sieht, was einen meldepflichtigen Datenschutzvorfall bedeuten kann. Lassen Sie sich erklären, auf welcher Ebene die Trennung erfolgt und wie sie automatisiert getestet wird, bevor der erste zahlende Kunde einzieht.

Hintergrund und Entwicklung

Das Konzept der Multi-Tenancy entstand mit dem Aufkommen von Cloud-Computing und SaaS-Modellen in den frühen 2000er Jahren. Anbieter wie Salesforce waren Pioniere bei der Umsetzung von Multi-Tenancy, um skalierbare und kosteneffiziente Dienste anzubieten. Die Notwendigkeit, mehrere Kunden auf einer gemeinsamen Plattform zu bedienen, führte zur Entwicklung verschiedener Techniken zur Mandantentrennung.

Die Architektur berücksichtigt sowohl technische als auch organisatorische Anforderungen, insbesondere im Hinblick auf Datenschutz und Sicherheit. Standardisierungsgremien oder Industriekonsortien haben keine einheitlichen Vorgaben für Multi-Tenancy definiert, jedoch existieren zahlreiche Best Practices und Frameworks, die die Umsetzung erleichtern.

Funktionsweise und Architektur

Multi-Tenancy kann auf verschiedenen Ebenen realisiert werden. Eine häufige Variante ist die Datenbank-Multi-Tenancy, bei der entweder separate Datenbanken, separate Schemas oder gemeinsame Tabellen mit Mandantenkennzeichnung verwendet werden. Die Wahl der Methode beeinflusst die Isolation, Skalierbarkeit und Wartbarkeit der Anwendung.

Auf Anwendungsebene sorgt die Software dafür, dass jeder Mandant nur auf seine eigenen Daten und Konfigurationen zugreifen kann. Dies erfolgt durch Authentifizierung, Autorisierung und Mandantenfilterung. Die Architektur muss zudem sicherstellen, dass Änderungen eines Mandanten keine Auswirkungen auf andere haben.

Einsatzgebiete

Multi-Tenancy wird vor allem in SaaS-Anwendungen verwendet, bei denen ein Anbieter eine Software mehreren Kunden bereitstellt. Typische Beispiele sind Customer-Relationship-Management-Systeme (CRM), Enterprise-Resource-Planning-Systeme (ERP) und Kollaborationsplattformen.

Darüber hinaus findet Multi-Tenancy Anwendung in Cloud-Infrastrukturen, bei denen mehrere Nutzer Ressourcen wie virtuelle Maschinen oder Speicher gemeinsam nutzen. Auch in Plattformen für E-Commerce oder Content-Management-Systemen ist das Prinzip verbreitet, um Mandanten mit individuellen Anforderungen zu bedienen.

Abgrenzung zu verwandten Konzepten

Multi-Tenancy unterscheidet sich von Single-Tenancy, bei dem jeder Mandant eine eigene Instanz der Anwendung nutzt. Single-Tenancy bietet eine stärkere Isolation, ist jedoch mit höheren Kosten und Wartungsaufwand verbunden. Multi-Tenancy hingegen optimiert Ressourcennutzung durch gemeinsame Instanzen.

Ein verwandtes Konzept ist die Multi-Instance-Architektur, bei der mehrere Instanzen einer Anwendung parallel betrieben werden, aber jeweils nur einen Mandanten bedienen. Im Vergleich dazu teilt Multi-Tenancy eine Instanz für mehrere Mandanten, was komplexere Sicherheits- und Isolationsmechanismen erfordert.