SHIFT >_CODE
← Journal

SaaS-Architektur in Grundzügen: Mandanten, Rollen und Abrechnung

Ein SaaS-Produkt bedient viele Unternehmen aus einem System. Drei frühe Entscheidungen - wie Kundendaten getrennt werden, wie Zugriff geregelt ist und wie Zahlungen funktionieren - prägen alles Weitere.

Software as a Service bedeutet, dass viele Kunden dasselbe Produkt nutzen - jeder mit eigenen Daten, Nutzern und Einstellungen. Manche Entscheidungen der ersten Wochen lassen sich später nur schwer ändern, daher lohnt es sich, sie auch ohne Entwicklerhintergrund zu verstehen.

Kundendaten trennen

Jedes Unternehmen, das das Produkt nutzt - ein „Mandant“ -, darf nur seine eigenen Daten sehen. Dafür gibt es mehrere Wege: eine gemeinsame Datenbank, in der jeder Datensatz einem Mandanten gehört, getrennte Schemata oder sogar eine eigene Datenbank bzw. ein eigener Server pro Kunde. Gemeinsame Speicherung ist einfacher und günstiger im Betrieb; stärkere Isolation lässt sich Kunden mit strengen Sicherheitsanforderungen leichter vermitteln. Wie auch immer Sie wählen: Die Trennung muss auf Datenebene durchgesetzt werden, nicht nur in der Oberfläche.

Rollen und Rechte

Innerhalb jedes Kunden gibt es verschiedene Personen: Inhaber, Manager, Mitarbeitende, manchmal externe Partner. Definieren Sie von Anfang an wenige Rollen und prüfen Sie Berechtigungen für jede Aktion auf dem Server. Eine neue Rolle später hinzuzufügen ist leicht; ein System zu reparieren, in dem jeder alles durfte, ist mühsam.

Abonnements und Abrechnung

Legen Sie früh fest, wie Kunden zahlen: monatliche oder jährliche Tarife, Preis pro Nutzer, Nutzungslimits, eine kostenlose Testphase. Tarife bestimmen, welche Funktionen verfügbar sind, also muss das Produkt wissen, wofür jeder Kunde bezahlt hat. Nutzen Sie einen etablierten Zahlungsanbieter, speichern Sie nur Verweise auf Zahlungen statt Kartendaten und behandeln Sie fehlgeschlagene Zahlungen, Tarifwechsel und Kündigungen sauber.

Onboarding und Einstellungen

Ein neuer Kunde sollte ohne Ihre Hilfe starten können: Konto anlegen, Kollegen einladen, Grundeinstellungen vornehmen. Jeder manuelle Schritt, den Sie für einen Kunden erledigen, sind Kosten, die mit jedem neuen Kunden wachsen.

Auf Wachstum vorbereiten

Sie müssen nicht am ersten Tag für Millionen Nutzer bauen, sollten aber wachsen können, ohne alles neu zu schreiben. Halten Sie den Code in klaren Modulen, protokollieren Sie wichtige Ereignisse, automatisieren Sie Deployments und Backups und beobachten Sie die Performance. Diese Gewohnheiten machen Skalierung zu einem schrittweisen Prozess statt zu einem Notfall.

Kurz gesagt

Trennen Sie Kundendaten zuverlässig, definieren Sie Rollen und prüfen Sie Rechte auf dem Server, planen Sie Tarife und Abrechnung früh, gestalten Sie das Onboarding selbstständig und halten Sie das System wachstumsbereit. Diese Grundlagen entscheiden, wie leicht sich das Produkt später weiterentwickeln lässt.