Zum Hauptinhalt springen

Was suchen Sie?

Entdecken Sie unsere Dienstleistungen und erfahren Sie, wie wir Ihnen helfen können, Ihre Ziele zu erreichen

Multi-Tenant-SaaS-Architektur: Isolation, Abrechnung, KI-Funktionen und Skalierungsoptionen

Multi-Tenant-SaaS-Architektur bedeutet, dass eine Plattform viele Kundenorganisationen bedient und dabei Daten, Performance und Abrechnung jedes Tenants getrennt hält. Entscheiden Sie die Isolation schichtweise statt pauschal, setzen Sie den Tenant-Kontext unterhalb des Anwendungscodes durch, erfassen Sie die Nutzung je Tenant ab dem ersten Release – einschließlich KI-Modellaufrufe –, und planen Sie, wie ein Tenant auf dedizierte Ressourcen wechseln kann.

Solution-Review buchen Zugehörigen Service ansehen

Von Netbase Commerce and Platform Engineering Desk · Geprüft von David (CEO) · Aktualisiert · 11 Min. Lesezeit

star

Dieser technische Artikel richtet sich an CTOs, Architekten und Senior Engineers, die ein SaaS-Produkt entwerfen oder eines überarbeiten, das über sein erstes Design hinausgewachsen ist. Unser SaaS-Plattform-Engineering-Leitfaden stellt die Silo-, Pool- und Bridge-Mandantenmodelle sowie die Control Plane vor; dieser Artikel geht eine Ebene tiefer: wie Isolation auf jeder Schicht durchgesetzt wird, wie Daten partitioniert werden, wie die Abrechnung verdrahtet ist, wie KI-Funktionen innerhalb der Tenant-Grenzen bleiben und wie die Plattform skaliert. Marktplätze werden in Marktplatz-Plattformarchitektur behandelt.

Kontext: Tenants, Benutzer und Deployments

Beginnen Sie mit der Definition des Tenants. In Business-to-Business-SaaS ist ein Tenant in der Regel eine Kundenorganisation mit vielen Benutzern; manche Kunden benötigen mehrere Tenants, zum Beispiel separate Tochtergesellschaften oder separate Test- und Produktionsumgebungen. In Business-to-Consumer-Produkten kann ein Tenant eine einzelne Person, eine Familie oder eine Gruppe sein. Microsofts Azure Architecture Center weist darauf hin, dass diese Definition – und ob ein Mandantenmodell für Kunden akzeptabel ist – eine kommerzielle Entscheidung ist, ebenso wie eine technische.

Trennen Sie den logischen Tenant vom Deployment, das ihn bedient. Ein Deployment, manchmal auch Stamp genannt, ist ein Satz Infrastruktur. Viele Tenants können ein Deployment gemeinsam nutzen, oder ein Tenant kann sein eigenes haben. Eine Tenant-zu-Deployment-Zuordnung von Beginn an zu führen ermöglicht es Ihnen, Tenants später zwischen Deployments zu verschieben, ohne die Anwendung neu zu schreiben.

Isolation wird je Schicht entschieden

Das AWS-Whitepaper zu SaaS-Tenant-Isolationsstrategien bezeichnet Isolation als grundlegend für das SaaS-Design und beschreibt das Überschreiten einer Tenant-Grenze als potenziell nicht wiederherstellbares Ereignis für das Unternehmen. Microsoft beschreibt Isolation als Spektrum statt als einzelnen Schalter. In der Praxis erhält jede Schicht ihre eigene Antwort:

Schicht Gemeinsame Option Isolierte Option Was entscheidet
Compute Gemeinsame Application-Server Dedizierte Server oder Container je Tenant Performance-Garantien, Noisy-Neighbour-Effekte, Kundenanforderungen
Datenbank Gemeinsame Tabellen mit Tenant-Schlüssel Separates Schema oder separate Datenbank je Tenant Datensensitivität, Backup- und Wiederherstellungsbedarf, Skalierung
Dateispeicher Gemeinsamer Bucket mit Tenant-Präfixen Bucket oder Container je Tenant Zugriffsrichtlinien, Datenresidenz, Aufbewahrungsregeln
Cache Gemeinsamer Cache mit tenant-präfixierten Schlüsseln Separater Cache je Tenant Risiko von Schlüsselkollisionen, Arbeitsspeicherdruck
Queues und Jobs Gemeinsame Queues mit tenant-getaggten Jobs Queues je Tenant oder je Tier Fairness, damit der Rückstand eines Tenants andere nicht verzögert
Suchindex Gemeinsamer Index, nach Tenant gefiltert Index je Tenant Indexgröße, tenant-spezifisches Relevanz-Tuning
Logs und Metriken Gemeinsame Pipeline, nach Tenant getaggt Separate Streams für regulierte Tenants Support-Anforderungen, Audit-Anforderungen
Verschlüsselungsschlüssel Plattformseitig verwaltete Schlüssel Schlüssel je Tenant Vertragliche Anforderungen, Offboarding (Löschen des Tenant-Schlüssels)
KI-Abrufindex Gemeinsamer Vektorindex mit erzwungenem Tenant-Filter Index oder Namespace je Tenant Datensensitivität, Indexgröße, Offboarding

Ein verbreitetes und sinnvolles Ergebnis ist ein gepoolter Application-Tier mit isolierten Daten für die Tenants, die dies benötigen. Microsoft bezeichnet das Aufteilen bestimmter Komponenten je Tenant bei gleichzeitiger gemeinsamer Nutzung anderer als horizontale Partitionierung; ausgewählten Tenants ein vollständiges dediziertes Deployment zu geben als vertikale Partitionierung.

Optionen zur Datenpartitionierung

  • Gemeinsames Schema, Tenant-Schlüssel auf jeder Zeile

    Wie Isolation durchgesetzt wird
    Tenant-Filter in jeder Abfrage, gestützt durch Zeilensicherheitsrichtlinien der Datenbank
    Stärken
    Günstigste Option, einfachster Betrieb, einfaches mandantenübergreifendes Reporting
    Kompromisse
    Ein fehlender Filter kann ohne Datenbankrichtlinien Daten preisgeben; Noisy-Neighbour-Effekte
    Geeignet für
    Viele kleine Tenants
  • Schema je Tenant

    Wie Isolation durchgesetzt wird
    Separates Schema je Tenant in einer Datenbank
    Stärken
    Klare Trennung, Wiederherstellung je Tenant einfacher
    Kompromisse
    Migrationen laufen einmal je Schema; praktische Grenzen bei der Schema-Anzahl
    Geeignet für
    Zehn bis einige Hundert mittelgroße Tenants
  • Datenbank je Tenant

    Wie Isolation durchgesetzt wird
    Separate Datenbank je Tenant
    Stärken
    Starke Isolation, tenant-spezifisches Tuning, Residenzoptionen
    Kompromisse
    Höhere Kosten, Fleet-Management für Migrationen und Backups
    Geeignet für
    Große oder regulierte Tenants
  • Deployment je Tenant

    Wie Isolation durchgesetzt wird
    Separater Stack je Tenant
    Stärken
    Stärkste Isolation, unabhängiges Release-Timing
    Kompromisse
    Höchste Kosten; viele Deployments zu betreiben
    Geeignet für
    Wenige sehr große oder regulierte Kunden

Bei einer gepoolten Datenbank sollte die Isolation in der Datenbank selbst erzwungen werden, nicht nur im Anwendungscode. PostgreSQLs Zeilensicherheitsrichtlinien sind ein Weg: Sobald sie für eine Tabelle aktiviert sind, werden Zeilen verborgen, es sei denn, eine Richtlinie erlaubt sie – eine Abfrage ohne Tenant-Filter gibt also nichts zurück statt alles. Zwei Details sind wichtig. Richtlinien müssen je Tabelle aktiviert werden, und Tabelleneigentümer, Superuser sowie Rollen mit dem BYPASSRLS-Attribut umgehen sie standardmäßig. Die Anwendung sollte sich daher mit einer Rolle verbinden, die die Tabellen nicht besitzt, oder die Tabellen sollten Row Security erzwingen, damit die Richtlinien auch für den Eigentümer gelten.

Request-Flow und Tenant-Kontext

Eine Anfrage in einer Multi-Tenant-Plattform sollte stets denselben Weg nehmen:

  1. Tenant auflösen

    anhand der Subdomain, einer benutzerdefinierten Domain oder eines Claims im Authentifizierungstoken – nie anhand eines Werts, den der Client frei ändern kann.

  2. Benutzer authentifizieren

    und bestätigen, dass der Benutzer zu diesem Tenant gehört.

  3. Tenant dem Deployment und dem Datenspeicherort zuordnen

    über die Tenant-Map.

  4. Tenant-Kontext setzen

    für die Datenbanksitzung, damit Zeilenrichtlinien oder Schema-Selektion automatisch greifen.

  5. Kontext weitergeben

    an Hintergrundjobs, Events, Cache-Schlüssel, Logs, Metriken und KI-Abrufaufrufe.

  6. Autorisierung prüfen

    anhand des Tenants und der Rolle des Benutzers in diesem Tenant.

Die meisten Tenant-Datenlecks entstehen durch einen Schritt, der an einer Stelle übersprungen wurde: ein Hintergrundjob ohne Kontext, ein Cache-Schlüssel ohne Tenant-Präfix oder ein Admin-Endpunkt, der einer Tenant-ID in der Anfrage vertraute.

Architektur für Abrechnung und Metering

Abrechnung in Multi-Tenant-SaaS ist eine Pipeline, keine einzelne Integration.

  • Nutzungsereignisse

    Komponente
    Die Anwendung gibt Ereignisse je Tenant und Feature aus
    Design-Hinweis
    Ab dem ersten Release ausgeben, auch wenn das Pricing heute pauschal ist
  • Metering

    Komponente
    Aggregiert Ereignisse zu Nutzung je Tenant und Zeitraum
    Design-Hinweis
    Idempotent: Ein wiederholtes Ereignis darf nicht doppelt abgerechnet werden
  • Berechtigungen

    Komponente
    Entscheidet, was jeder Tenant nutzen darf und bis zu welchem Limit
    Design-Hinweis
    Code prüft Berechtigungen, nicht Plan-Namen
  • Preisberechnung

    Komponente
    Wendet Preise auf Nutzung und Plan an
    Design-Hinweis
    Als Konfiguration, damit Preisänderungen kein Release erfordern
  • Rechnungsstellung und Zahlung

    Komponente
    Ein Abrechnungs- oder Zahlungsanbieter stellt Rechnungen und zieht ein
    Design-Hinweis
    Kartendaten beim Anbieter belassen
  • Umsatz-Reporting

    Komponente
    Finance-Ansichten zu Umsatz, Churn und fehlgeschlagenen Zahlungen
    Design-Hinweis
    Basiert auf denselben Daten wie das Metering
  • KI-Nutzung

    Komponente
    Modellaufrufe und Tokens je Tenant und Feature
    Design-Hinweis
    Durch Berechtigungen gedeckelt, damit ein Tenant nicht die Marge des Plans aufzehrt
  • Pauschalabonnement je Tenant

    Benötigt Berechtigungen und einen Abrechnungslebenszyklus; Metering ist dennoch nützlich für Kosten je Tenant

  • Pro Sitz

    Benötigt zuverlässige Benutzerzählungen je Tenant und Regeln für Änderungen innerhalb des Abrechnungszeitraums

  • Nutzungsbasiert

    Benötigt genaues, idempotentes Metering und für Kunden sichtbare Nutzung

  • Hybrid (Grundgebühr plus Nutzung)

    Benötigt alles oben Genannte, plus klare Limits und Überschreitungsregeln

KI-Funktionen: Datenisolation und Modellkosten je Tenant

Assistenten, KI-Suche und Zusammenfassungen lesen in einer einzigen Anfrage mehr Tenant-Daten als die meisten Masken, daher benötigen sie dieselben Grenzen, die an denselben Stellen erzwungen werden. KI-Governance legt die dahinterliegende Richtlinie fest.

  • Abruf außerhalb des Prompts filtern. Der Abrufdienst wendet den Tenant und die Benutzerberechtigungen aus dem Sitzungskontext an. Eine Prompt-Anweisung wie "Verwende nur die Daten dieses Kunden" ist keine Isolation.
  • Jeden KI-Cache nach Tenant schlüsseln. Gecachte Antworten und Embeddings ohne Tenant-Schlüssel können die Inhalte eines Kunden einem anderen zurückgeben.
  • Tenant-Daten aus gemeinsamen Trainings heraushalten. Kein Feintuning eines gemeinsamen Modells auf die Daten eines Tenants; wählen Sie Modellanbieter, deren Bedingungen ein Training auf Ihre Anfragen ausschließen. Regulierte Tenants benötigen möglicherweise eine Region oder ein dediziertes Modell-Deployment.
  • Modellkosten je Tenant erfassen. Tokens und Aufrufe variieren stark zwischen Tenants; ordnen Sie sie je Feature zu und setzen Sie Limits über Berechtigungen durch.
  • Beim Offboarding löschen. Embeddings, Indizes und protokollierte Prompts eines abgehenden Tenants werden zusammen mit seinen Datenbankzeilen entfernt.

Skalierungsoptionen

  • Gemeinsames Deployment vertikal und horizontal skalieren

    Wann anwenden
    Frühes Wachstum mit ähnlichen Tenants
    Kosten und Komplexität
    Am niedrigsten; auf Limits gemeinsam genutzter Ressourcen achten
  • Tenants über mehrere Datenbanken sharden

    Wann anwenden
    Eine Datenbank stößt an ihre Grenzen
    Kosten und Komplexität
    Moderat; erfordert Tenant-Map und shard-übergreifendes Reporting
  • Deployment-Stamps hinzufügen

    Wann anwenden
    Wachstum in Regionen oder Tenant-Anzahl jenseits eines Stacks
    Kosten und Komplexität
    Höher; erfordert automatisiertes Provisioning und Releases
  • Großen Tenant auf dedizierte Ressourcen verschieben

    Wann anwenden
    Ein Tenant dominiert die Last oder benötigt Isolation
    Kosten und Komplexität
    Je Tenant; erfordert einen erprobten Migrationspfad
  • Noisy-Neighbour-Kontrollen

    Wann anwenden
    Immer
    Kosten und Komplexität
    Gering; Rate Limits, tenant-spezifische Quoten und faire Job-Planung

Planen Sie den Tenant-Migrationspfad frühzeitig: wie die Daten eines Tenants von der gemeinsamen Datenbank in eine eigene wechseln, wie der Traffic umgeschaltet wird und wie das Ergebnis verifiziert wird. Es ist einfacher, dies früh zu entwerfen als auf Abruf zu erfinden.

Betrieb: Releases, Migrationen und Wiederherstellungen

  • Releases in Ringen ausrollen. Zunächst an interne Tenants, dann an einen kleinen Anteil der Kunden, dann an alle – mit tenant-spezifischen Feature-Flags.
  • Schema-Migrationen über die gesamte Fleet automatisieren. Bei Schema-per-Tenant oder Datenbank-per-Tenant bedeutet ein Release viele Migrationen; verfolgen Sie, welcher Tenant auf welcher Version ist.
  • Einen Tenant wiederherstellen, nicht nur die gesamte Plattform. Kunden werden die Wiederherstellung der Daten eines einzelnen Tenants anfordern; testen Sie dies, bevor sie es tun.
  • Kosten je Tenant messen. Kombinieren Sie Metering mit der Cloud-Rechnung, um zu sehen, welche Tenants und Pläne ihre Kosten decken.

Testnachweis: Was zu testen ist

Dies sind allgemeine Engineering-Praktiken, keine Ergebnisse aus einem bestimmten Projekt:

  • Mandantenübergreifende Zugriffstests. Automatisierte Tests für jeden Endpunkt und Job, die versuchen, die Daten eines anderen Tenants zu lesen oder zu ändern, und fehlschlagen müssen.
  • Zeilenrichtlinien-Tests. Abfragen, die ohne Tenant-Kontext ausgeführt werden, müssen keine Zeilen zurückgeben – auch unter der Datenbankrolle der Anwendung.
  • Noisy-Neighbour-Lasttests. Ein Tenant erzeugt hohe Last, während die Antwortzeiten der anderen gemessen werden.
  • Einzeltenant-Wiederherstellungstests. Einen Tenant aus einem Backup in eine saubere Umgebung wiederherstellen und die Datensätze vergleichen.
  • Metering-Tests. Wiederholte und duplizierte Ereignisse müssen dieselben Nutzungssummen ergeben.
  • Mandantenübergreifende KI-Tests. Ein Assistent, der nach den Datensätzen eines anderen Tenants gefragt wird, muss nichts finden – auch nicht über gecachte Antworten.

Die umfassenderen Prüfungen finden sich in unserer SaaS-Sicherheits-Checkliste.

Beispiel: Printcart

Printcart, eine der fünf Netbase Business Divisions, ist eine Web-to-Print- und Print-on-Demand-Plattform, die Online-Bestellungen in druckfertige Dateien und geroutete Auftragsabwicklung umwandelt. Sie läuft im eigenen Shop eines Händlers oder als Shopify-, Wix- und WooCommerce-App, mit einer Einrichtung in etwa 7 Tagen, und bedient 2.000+ Shops. So viele Händler von einem Produkt aus zu bedienen ist das Multi-Tenant-Problem, das dieser Artikel beschreibt: Jeder Händler benötigt seinen eigenen Katalog, seine eigenen Bestellungen und seine eigene Shop-Anbindung auf einer gemeinsamen Plattform. Der Printcart-Portfolioeintrag beschreibt, was Netbase entwickelt hat und betreibt, und Druck und Verpackung zeigt den Branchenkontext.

Außerhalb eigener Produkte arbeitet Netbase seit 2020 als Offshore-Entwicklungs- und Managing-Partner an einem Multi-Tenant-Cloud-ERP für einen nicht genannten US-Kunden, das als SaaS an kleine und mittelständische Unternehmen verkauft wird.

Netbases Ansatz bei Multi-Tenant-Projekten

Netbase arbeitet mit AWS, Google Cloud, DigitalOcean und Cloudflare; es wird kein Cloud-Partner-Tier oder Cloud-Zertifizierung beansprucht. Typische Zeitrahmen sind 8 bis 12 Wochen für ein SaaS-MVP, 3 bis 6 Monate für ein Mid-Tier-Produkt und 6 bis 12 Monate oder mehr für eine Enterprise-Plattform, je nach Umfang; dies sind Spannen, keine Angebote. Sicherheit wird von Beginn des ersten Sprints an eingebaut: Secure Code Review, TLS im Transit und AES im Ruhezustand, rollenbasierte Zugriffskontrolle, MFA für Admin-Dashboards, Schwachstellen-Scanning und Disaster-Recovery-Planung. KI-Modelle werden je Produkt ausgewählt, nicht an einen Anbieter gebunden. Der Service SaaS-Entwicklung baut das Produkt, und der SaaS-Produkt-Accelerator startet mit wiederverwendbaren Modulen für Konten, Tenants, Rollen und Abrechnung.

Grenzen dieses Artikels

  • Er beschreibt gängige Muster und allgemeine Praxis; der richtige Mix hängt von Ihren Tenants, Daten, Regionen und Kundenverträgen ab.
  • Das zitierte AWS-Whitepaper ist von AWS als historische Referenz gekennzeichnet; seine Isolationsprinzipien sind weiterhin weit verbreitet, aber prüfen Sie die aktuelle AWS-Dokumentation für servicespezifische Details.
  • PostgreSQL wird als ein Beispiel für datenbankerzwungene Isolation verwendet; andere Datenbanken bieten unterschiedliche Mechanismen.
  • Zeitrahmen sind typische Spannen. Printcart wird anhand seiner veröffentlichten Produktinformationen beschrieben; hier werden keine Performance-Metriken beansprucht.

Nächster Schritt

Teilen Sie uns Ihr Tenant-Profil, Ihre Datensensitivität und Ihr Preismodell mit, und wir vereinbaren ein Solution-Review, um das Isolations- und Abrechnungsdesign für Ihr erstes Release auszuwählen. Sie können auch den zugehörigen Service ansehen oder weitere Netbase-Insights durchstöbern.

KI-fähige SaaS-Entwicklung – von einem Team, das eigene SaaS-Plattformen betreibt KI-fähige SaaS-Entwicklung – von einem Team, das eigene SaaS-Plattformen betreibt

Netbase bietet SaaS-Entwicklungsleistungen für Gründer und Produktteams, um Multi-Tenant-Abonnementsoftware mit KI-Funktionen zu launchen und zu skalieren, für die Kunden zahlen. Wir entwickeln und betreiben unsere eigenen SaaS-Plattformen Printcart und den KI-gestützten Cloodo-Arbeitsplatz und bringen diese Erfahrung in Kundenprojekte ein. Ein typisches SaaS-MVP dauert 8–12 Wochen, abhängig von Umfang, Integrationen und Prüfgeschwindigkeit.

Mehr erfahren
line
SaaS-Produkt-Accelerator: KI-fähige SaaS auf bewährten Netbase-Modulen starten SaaS-Produkt-Accelerator: KI-fähige SaaS auf bewährten Netbase-Modulen starten

Ein SaaS-Produkt-Accelerator ist ein Satz wiederverwendbarer Netbase-Module für Konten, Abrechnung, Rollen und Integrationen, der Gründern und Produktteams hilft, Abonnement-Software schneller zu starten – mit KI-Möglichkeiten ab der ersten Version. Die Wiederverwendung dieser Module kann die Entwicklungszeit um bis zu 60 % reduzieren, und der Ansatz ist mit Printcart, Netbases eigenem Web-to-Print-SaaS, erprobt.

Mehr erfahren
line

Remote mit Netbase arbeiten

Alle Netbase-Projekte werden remote durchgeführt, sodass Kunden aus jedem Land und jeder Branche mit uns arbeiten können; Netbase hat mit Kunden in 80 Ländern zusammengearbeitet. Verträge und Rechnungen werden von Netbase JSC ausgestellt; die Zahlung erfolgt per Banküberweisung auf das Firmenkonto von Netbase JSC oder per PayPal Business. Sprechen Sie direkt mit dem CEO, Huy Nguyen (David), per WhatsApp oder E-Mail.

Netbase kontaktieren

Projekt besprechen

Netbase JSC unterstützt Organisationen beim Design, Aufbau, der Modernisierung und dem Betrieb digitaler Produkte und KI-gestützter Geschäftssysteme.
Projektanfragen

project@netbasejsc.com

WhatsApp

+84 937 869 689

Büroadresse

91 Nguyen Chi Thanh, Dong Da, Hanoi, Vietnam

In Kontakt treten

Sagen Sie uns, was Sie aufbauen, modernisieren oder betreiben möchten.

Sagen Sie uns, was Sie aufbauen, modernisieren oder betreiben möchten.

Netbase kontaktieren