Web- und Softwareentwicklung

Eine mandantenfähige Architektur für ein SaaS-Produkt aufbauen

Mandantenfähige Architektur bedient mehrere Kundenorganisationen in einer SaaS-Anwendung und trennt deren Daten und Rechte.

Was enthält dieser Artikel?

Mandantenfähige Architektur bedient mehrere Kundenorganisationen in einer SaaS-Anwendung und trennt deren Daten und Rechte.

Fehlerhaftes Mandantendesign kann Datenlecks und Leistungsprobleme verursachen. Die Mandantenkennung gehört zur Kernarchitektur.

Was ist ein Mandant?

Ein Mandant ist ein eigener Kunden- oder Organisationsbereich. Nutzer können je nach System einem oder mehreren angehören.

Modelle zur Datenisolierung

  • Gemeinsame Datenbank und gemeinsames Schema
  • Gemeinsame Datenbank, getrennte Schemas
  • Eigene Datenbank je Mandant

Gemeinsamer Datenbankansatz

tenant_id je Datensatz erleichtert den Betrieb, doch jede Abfrage muss den Mandantenkontext durchsetzen.

Der separate Datenbankansatz

Es kann eine stärkere physische Isolation bieten, erhöht aber Migration, Verbindungsmanagement, Überwachung und Kostenkomplexität.

Autorisierung

Erzwingen Sie zentral in Middleware, Policies oder Repositories, dass Nutzer nur eigene Mandantendaten sehen.

Mandantenkontext

Ermitteln Sie den Mandanten aus vertrauenswürdiger Quelle und halten Sie den Kontext im weiteren Ablauf unveränderlich.

Das lärmende Nachbarproblem

Hoher Verbrauch eines Mandanten kann andere beeinträchtigen. Anfrageratenlimits, getrennte Warteschlangen oder Quoten können nötig sein.

Rechnungsführung und Planverwaltung

Modellieren Sie Funktionszugriff, Nutzerlimits, Speicher und Verbrauchsabrechnung je Mandant.

Audit und Sicherheit

  • Mandantenkennung protokollieren
  • Mandantenübergreifende Zugriffstests
  • Rollenvalidierung
  • Mandantenbereich von API-Tokens
  • Sicherungs- und Wiederherstellungsstrategie

Projektentscheidungen in die Praxis umsetzen

Betrachten Sie Mandantendefinitionen, Datenisolation und gemeinsame Datenbanken als zusammenhängende Entscheidungen. Klären Sie neben Funktionen auch Datenquellen, Rollen, Sicherheitsgrenzen, Integrationsabhängigkeiten und Erfolgsmetriken. Überführen Sie dies in Backlog, Abnahmekriterien und technische Risikoliste, damit Fortschritt an messbaren Ergebnissen statt persönlichen Einschätzungen erkennbar wird.

Eine kurzfristig funktionierende Unternehmenssoftware ist nicht automatisch langfristig tragfähig. Testbarer Code, Deployment, Protokollierung, Monitoring, Datenmigration und Rollback gehören zur Ausgangsarchitektur. Das hält Nacharbeit und Betriebskosten späterer Versionen unter Kontrolle, statt die Entwicklung nur zu verlangsamen.

Umsetzungscheckliste und technische Risiken

Eine Funktionsliste allein reicht nicht. Dokumentieren Sie zu Beginn des technischen Designs die Entscheidungen zu folgenden Punkten: Mandantendefinitionen, Datenisolation und gemeinsame Datenbanken. Legen Sie je kritischer Anforderung Team, Datenquelle, Sollverhalten, Fehlerszenario und Abnahmekriterium fest. Das verringert spätere Umfangsdiskussionen und schafft eine gemeinsame Referenz für Produkt, Entwicklung, Betrieb und Fachbereiche.

Bewerten Sie Integrationsabhängigkeiten, Nutzerrechte, Datenintegrität, Ausfälle externer Dienste und Skalierungsbedarf getrennt. Planen Sie bei APIs neben Erfolg auch Zeitüberschreitungen, Anfrageratenlimits, doppelte Anfragen, Datenabweichungen und Ausfälle ein. Audit-Protokolle, Rollback oder Wiederholungen kritischer Vorgänge erleichtern die sichere Wiederherstellung.

Definieren Sie vor dem Produktivstart messbare Leistungs- und Sicherheitsziele: Vorgangsdauer, Datenzugriff nach Rolle, Protokollaufbewahrung und Fehlerverfolgung. Überwachen Sie danach Anwendungsprotokolle, Fehler, Datenbankleistung, Warteschlangen und externe Latenzen. So lassen sich Probleme auch ohne Nutzerbeschwerden früh erkennen und Software als dauerhaftes Produkt statt Einmalprojekt betreiben.

  • Funktionen mit Abnahmekriterien verknüpfen
  • Berechtigungs- und Datenzugriffskontrollen
  • API- und Integrationsfehlerszenarien
  • Datensicherungs- und Rollback-Konzept
  • Monitoring und Fehlerverfolgung
  • Leistungs- und Kapazitätsziele

Der Softwareansatz von B10 Digital Agency

B10 Digital Agency versteht Individualsoftware als digitale Produktentwicklung statt nur als Bildschirmgestaltung. Prozessanalyse, UX/UI, Architektur, APIs, Sicherheit, DevOps und Messung werden gemeinsam geplant.

Häufig gestellte Fragen

Ist für jeden Kunden eine separate Datenbank erforderlich?

Nein. Das Modell richtet sich nach Sicherheit, Skalierung und Betrieb.

Reicht tenant_id für Sicherheit?

Nein. Das Feld allein reicht nicht; jede Zugriffsschicht muss den Mandantenbereich prüfen.

Kann ein Nutzer mehreren Mandanten angehören?

Je nach Geschäftsmodell ja; die Mitgliedschaft muss gesondert gestaltet werden.

Kann Mandantenfähigkeit später ergänzt werden?

Ja, aber Migration kann komplex sein, wenn das Datenmodell Mandanten nicht von Beginn an berücksichtigt.

Verwandte Artikel

Planen Sie Ihr Software-Projekt technisch

Entdecken Sie den Entwicklungsansatz von B10 Digital Agency für Ihren Bedarf an Individualsoftware, Integrationen und Produktarchitektur.

Individualsoftware & mobile Anwendungen entdecken →

Quellen und weiterführende Dokumente

Diese Dokumente dienen als Referenzen für die im Artikel behandelten Methoden und Regeln.

B10 Digital Agency

Eine mandantenfähige Architektur für ein SaaS-Produkt aufbauen