Mehrmandantenfähigkeit neu definiert - Grundlagen der SaaS-Architektur

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Mehrmandantenfähigkeit neu definiert

Die Begriffe Multi-Tenancy und SaaS sind oft eng miteinander verknüpft. In einigen Fällen beschreiben Unternehmen SaaS und Multi-Tenancy als dasselbe. Dies mag zwar natürlich erscheinen, aber die Gleichsetzung von SaaS und Multi-Tenancy führt dazu, dass Teams SaaS eher aus technischer Sicht betrachten, obwohl SaaS in Wirklichkeit eher ein Geschäftsmodell als eine Architekturstrategie ist.

Um dieses Konzept besser zu verstehen, beginnen wir mit der klassischen Ansicht von Multi-Tenancy. In dieser rein infrastrukturorientierten Sichtweise wird Multi-Tenancy verwendet, um zu beschreiben, wie Ressourcen von Mietern gemeinsam genutzt werden, um Agilität und Kosteneffizienz zu fördern.

Nehmen wir zum Beispiel an, Sie haben einen Microservice oder eine Amazon Elastic Compute Cloud (Amazon EC2) -Instance, die von mehreren Mandanten Ihres SaaS-Systems genutzt wird. Es würde davon ausgegangen werden, dass dieser Service in einem Mehrmandantenmodell ausgeführt wird, da die Mandanten die Infrastruktur, auf der dieser Service ausgeführt wird, gemeinsam nutzen.

Die Herausforderung dieser Definition besteht darin, dass sie den technischen Begriff der Mehrmandantenfähigkeit zu direkt mit SaaS verknüpft. Es wird davon ausgegangen, dass das entscheidende Merkmal von SaaS darin besteht, dass es über eine gemeinsam genutzte, mandantenfähige Infrastruktur verfügen muss. Diese Auffassung von SaaS gerät allmählich auseinander, wenn wir uns die verschiedenen Arten ansehen, wie SaaS in verschiedenen Umgebungen realisiert wird.

Das folgende Diagramm bietet einen Überblick über ein SaaS-System, das einige der Herausforderungen aufzeigt, mit denen wir bei der Definition von Mehrmandantenfähigkeit konfrontiert sind.

Hier sehen Sie das zuvor beschriebene klassische SaaS-Modell mit einer Reihe von Anwendungsdiensten, die von Shared Services umgeben sind und es Ihnen ermöglichen, Ihre Mandanten gemeinsam zu verwalten und zu betreiben.

Neu sind die Microservices, die wir aufgenommen haben. Das Diagramm enthält drei Beispiele für Microservices: Produkt, Bestellung und Katalog. Wenn Sie sich das Mietmodell der einzelnen Dienste genau ansehen, werden Sie feststellen, dass sie alle leicht unterschiedliche Mietverhältnisse verwenden.

Ein Diagramm, das SaaS und Mehrmandantenfähigkeit darstellt.

SaaS und Mehrmandantenfähigkeit

Der Produktservice teilt alle seine Ressourcen (Rechenleistung und Speicher) mit allen Mandanten. Dies entspricht der klassischen Definition von Mehrmandantenfähigkeit. Wenn Sie sich jedoch den Bestellservice ansehen, werden Sie feststellen, dass er über gemeinsam genutzte Rechenleistung verfügt, aber über separaten Speicher für jeden Mandanten verfügt.

Der Katalogdienst fügt eine weitere Variante hinzu, bei der die Rechenleistung für jeden Mandanten separat ist (eine separate Microservice-Bereitstellung für jeden Mandanten), der Speicher jedoch für alle Mandanten gemeinsam genutzt wird.

Variationen dieser Art sind in SaaS-Umgebungen üblich. Lauter Nachbar, Tiering-Modelle, Isolationsanforderungen — dies sind nur einige der Gründe, warum Sie Teile Ihrer SaaS-Lösung selektiv teilen oder isolieren könnten.

Angesichts dieser Variationen — und vieler anderer Möglichkeiten — wird es schwieriger, herauszufinden, wie Sie den Begriff Multi-Tenant verwenden sollten, um diese Umgebung zu charakterisieren. Insgesamt handelt es sich, soweit es den Kunden betrifft, um eine Umgebung mit mehreren Mandanten. Wenn wir jedoch die technischste Definition verwenden, sind einige Teile dieser Umgebung mandantenfähig und andere nicht.

Aus diesem Grund wird es notwendig, den Begriff Multi-Tenant nicht mehr zur Charakterisierung von SaaS-Umgebungen zu verwenden. Stattdessen können wir darüber sprechen, wie Mehrmandantenfähigkeit in Ihrer Anwendung implementiert ist, aber vermeiden, es zu verwenden, um eine Lösung als SaaS zu charakterisieren. Wenn der Begriff Multi-Tenant verwendet werden soll, ist es sinnvoller, damit die gesamte SaaS-Umgebung als mandantenfähig zu beschreiben, da man weiß, dass einige Teile der Architektur gemeinsam genutzt werden können und andere nicht. Insgesamt betreiben und verwalten Sie diese Umgebung immer noch in einem Mehrmandantenmodell.

Der Extremfall

Um diesen Begriff des Mietverhältnisses besser hervorzuheben, schauen wir uns ein SaaS-Modell an, bei dem sich Mandanten keine Ressourcen teilen. Das folgende Diagramm zeigt ein Beispiel für eine SaaS-Umgebung, die von einigen SaaS-Anbietern verwendet wird.

Ein Diagramm, das den Stapel pro Mandant darstellt.

Stapel pro Mandant

In diesem Diagramm sehen Sie, dass wir immer noch unsere gemeinsame Umgebung rund um diese Mandanten haben. Jeder Mandant wird jedoch mit einer speziellen Sammlung von Ressourcen bereitgestellt. In diesem Modell wird nichts von den Mandanten gemeinsam genutzt.

In diesem Beispiel wird hinterfragt, was es bedeutet, mehrere Mandanten zu haben. Handelt es sich um eine Umgebung mit mehreren Mandanten, obwohl keine der Ressourcen gemeinsam genutzt wird? Die Mandanten, die dieses System nutzen, haben dieselben Erwartungen, die Sie von einer SaaS-Umgebung mit gemeinsam genutzten Ressourcen haben würden. Tatsächlich sind sie sich möglicherweise nicht bewusst, wie ihre Ressourcen unter der Haube der SaaS-Umgebung eingesetzt werden.

Obwohl diese Mandanten in einer isolierten Infrastruktur betrieben werden, werden sie dennoch gemeinsam verwaltet und betrieben. Sie verfügen über ein einheitliches Onboarding-, Identitäts-, Metriken-, Abrechnungs- und Betriebserlebnis. Wenn eine neue Version veröffentlicht wird, wird sie außerdem für alle Mandanten bereitgestellt. Damit dies funktioniert, können Sie keine einmaligen Anpassungen für einzelne Mandanten zulassen.

Dieses extreme Beispiel bietet ein gutes Modell, um das Konzept von Multi-Tenant-SaaS zu testen. Auch wenn sie möglicherweise nicht alle Effizienzen einer gemeinsam genutzten Infrastruktur nutzt, handelt es sich um eine absolut gültige mehrinstanzenfähige SaaS-Umgebung. Für einige Kunden kann es aufgrund ihrer Domain erforderlich sein, dass einige oder alle Kunden dieses Modell verwenden. Das heißt nicht, dass sie keine SaaS sind. Wenn sie diese gemeinsamen Dienste verwenden und alle Mandanten dieselbe Version ausführen, entspricht dies immer noch den Grundprinzipien von SaaS.

Angesichts dieser Parameter und dieser umfassenderen Definition von SaaS können Sie die Notwendigkeit erkennen, die Verwendung des Begriffs Multi-Tenant weiterzuentwickeln. Es ist sinnvoller, jedes SaaS-System, das gemeinsam verwaltet und betrieben wird, als mandantenfähig zu bezeichnen. Anschließend können Sie auf eine detailliertere Terminologie zurückgreifen, um zu beschreiben, wie Ressourcen bei der Implementierung einer SaaS-Lösung gemeinsam genutzt oder zugewiesen werden.