20 Punkte von xguru 2022-03-28 | Noch keine Kommentare. | Auf WhatsApp teilen

"Multitenancy ist das verborgene Fundament, das die Skalierbarkeit von SaaS so stark macht"

  • Die hohen Margen und die scheinbar unbegrenzte Skalierbarkeit des SaaS-Modells sind der Grund, warum Aktienmarkt, Investoren und Gründer in diesen Bereich drängen.
  • Möglich wird das durch die Infrastruktur, insbesondere durch das Konzept der "Multitenancy".
  • Heute nutzt fast jedes Unternehmen Cloud und SaaS, und der Kern der Umsetzung von Cloud-Lösungen ist genau diese Multitenancy.
  • Salesforce-Gründer Marc Benioff sagte: "Multitenancy ist eine Grundvoraussetzung für den Erfolg von SaaS-Anbietern."
  • Was genau ist Multitenancy und warum ist sie wichtig?

Multitenancy: Aufbau eines U-Bahn-Systems

  • Verstehen wir zunächst Single-Tenancy.
    • Jeder Kunde nutzt eine eigene, dedizierte Applikation und Datenbank.
    • Das heißt: Wenn es 100 Kunden gibt, gibt es 100 Server, 100 Applikationen und 100 Datenbanken.
    • Single-Tenancy erfordert viel Zeit, Geld und Aufwand, um sie im großen Maßstab zu betreiben und zu warten.
  • Aus Verkehrssicht kann man für den Arbeitsweg entweder Auto fahren oder die U-Bahn nehmen.
    • Autofahren ist bequem, aber man bezahlt dafür mit Fahrzeugkosten, Treibstoff, Parkgebühren sowie zusätzlich mit Stau und Umweltverschmutzung.
    • Die U-Bahn ist vergleichsweise günstig, hält die Straßen sauberer und schädigt die Ozonschicht weniger.
  • Wenn alle 50.000 Beschäftigten im World Trade Center (WTC) mit dem Auto zur Arbeit fahren würden, entstünde ein hochkomplexes System.
  • Deshalb entstand mit der U-Bahn eine Form von Multitenancy, die Kosten und Overhead senkt und das "Chaos" der Umgebung erheblich reduziert.

Warum gerade jetzt?

  • Warum also auf die U-Bahn umsteigen? Wenn das wirklich so gut ist, warum wurde es dann nicht schon früher gewählt?
  • Die Antwort liegt in der "Cloud". Die Popularität von Cloud Computing und SaaS-Geschäftsmodellen wächst explosionsartig.
  • Blickt man auf den öffentlichen Markt, richten Unternehmen, die früher Self-Hosting-Produkte angeboten haben, ihren Fokus nun schnell auf die Cloud.
  • Unternehmen wie Atlassian, Autodesk, Elastic und Microsoft verzeichnen mit Cloud-Hosting-Lösungen ein explosives Umsatzwachstum.
  • Atlassian hat allein im letzten Quartal mehr als 10.000 Kunden hinzugewonnen. Würde man 10.000 Kunden in einer Single-Tenant-Umgebung betreiben, käme das Unternehmen durch individuelle Engineering-Arbeit, Ressourcenmanagement, Komplexität und den Mangel an Talenten zur Lösung von Kernproblemen des Geschäfts schnell an seine Grenzen.
  • Daher können sich frühe Startups zwar dafür entscheiden, mit einer "Quick-and-Dirty"-Single-Tenant-Umgebung zu starten, doch sobald sie skalieren und wachsen, stehen sie unweigerlich vor Technical Debt, die sich nur in einer Multi-Tenant-Umgebung lösen lässt.
  • Mit dem Wachstum von Cloud Computing und dem SaaS-Geschäft steigt auch der Overhead von Single-Tenant-Lösungen, ebenso wie die Nachfrage nach Multitenancy.

Vorteile von Multitenancy

  • Multitenancy verleiht SaaS-Anbietern eine Menge Magie.
  • Die Fähigkeit, Infrastruktur über die gesamte Kundenbasis hinweg zu teilen, ist ein echter Gamechanger.
  • Neben der Skalierung bringt Multitenancy noch einige weitere Vorteile mit sich.

Verkaufsmargen (Margins)

  • Die Nutzung geteilter Infrastruktur wirkt sich direkt auf die Gewinne eines Anbieters aus, je stärker diese Infrastruktur ausgelastet ist.
  • Multi-Tenancy benötigt weniger Ressourcen, sowohl direkt in Form von Personal- sowie Software-/Hardwarekosten (also bezogen auf die Kosten der verkauften Leistung) als auch indirekt, weil Schlüsselkräfte ihre Energie auf andere Themen konzentrieren können.
  • Dadurch steigen die Gesamtmargen, und letztlich entsteht Free Cash Flow, der am Markt zu einer höheren Bewertung führen kann.

Sichtbarkeit (Visibility)

  • Der Einsatz von Multitenancy ist sehr vorteilhaft, um die Performance der Infrastruktur zu verstehen oder zu erkennen, wie sich Kosten auf bestimmte Kundengruppen verteilen.
    • Daten sollten aggregiert oder kundenspezifisch abfragbar sein.
  • In einer Single-Tenant-Infrastruktur sind Kundendaten verstreut, weshalb es sehr schwierig ist, Cross-Customer-Metriken zu analysieren.
  • In einer Multi-Tenant-Infrastruktur hingegen lassen sich makroskopische Trends über die gesamte Kundenbasis hinweg erkennen.
    • Das ist auf Ebene von Logging, DB-Einheiten oder Application-Performance-Monitoring sichtbar und bietet großen Nutzen für Cross-Functional Teams.

Die Komplexität von Multitenancy

  • Jede "Magie" hat ihre Probleme, und Multitenancy ist keine Ausnahme.

Problem 1: Verfügbarkeit und laute Nachbarn

  • Angenommen, ein E-Commerce-Anbieter speichert alle Kundendaten in einer einzigen DB: Die meisten Nutzer kaufen vielleicht nur ein- oder zweimal im Monat, aber ein einzelner Nutzer kauft jeden Tag 5.000 Artikel.
    • Wenn die DB nicht leistungsfähig genug ist, um die sprunghaft ansteigende Last eines solchen Kunden zu verarbeiten, kann die gesamte DB ausfallen und andere Kunden können nichts mehr kaufen.
  • Das ist eine große Herausforderung und führt zu Entscheidungen über Datenpartitionierung.
    • Silo-Partitionierung (separate DB pro Tenant) vs. Pooled-Partitionierung (gemeinsame DB über mehrere Tenants hinweg)
    • Silo-Partitionierung kann die Probleme einiger Kunden lösen, aber dann ist man wieder beim ursprünglichen Problem und muss unzählige Instanzen verwalten.
    • Pooled-Partitionierung funktioniert gut, aber wenn ein einzelner Kunde Lastspitzen verursacht, kann das zu Verlangsamungen oder sogar zu Systemausfällen führen.

Problem 2: Gemeinsame Ressourcen und Datensicherheit

  • Da alle Kunden dieselben Ressourcen nutzen und es keine Standardimplementierung für Multi-Tenancy gibt, können technische Bugs dazu führen, dass Daten zwischen verschiedenen Tenants vermischt werden.
  • Wenn man gleichzeitig miteinander konkurrierende Kunden bedient, kann das ein äußerst riskantes Problem sein.
  • Technikteams müssen Data Sovereignty Laws sowie Vorschriften bewerten, die Tenant-Isolation und ähnliche Themen beeinflussen.

Umgang mit der Komplexität

  • Multi-Tenancy ist zu einer der wichtigsten Säulen von SaaS-Applikationen geworden, doch bei der Implementierung gibt es nach wie vor viele Komplexitäten zu berücksichtigen.
  • Der CEO von Cloudinary betonte: "Multitenancy ist der Schlüssel zu Operational Excellence, aber um es richtig umzusetzen, braucht es viel Wissen und Investitionen."
  • Boldstart und F2, die diesen Artikel verfasst haben, haben in ein Startup investiert, das diese Probleme der Multitenancy löst und sich derzeit im Stealth-Modus befindet.
  • In Multi-Tenant-Systemen gibt es viel Komplexität, aber wenn man die Technical Debt betrachtet, die bei der Skalierung von Single-Tenant-Systemen entsteht, gibt es eigentlich keinen Grund mehr zu zögern.
    • Denn um diese Technical Debt zu beheben, muss man die besten Engineering-Teams einsetzen und Ressourcen für Bereiche verbrauchen, die nicht zum Kerngeschäft gehören.
    • Clevere Startups entscheiden sich deshalb dafür, Multi-Tenant-Umgebungen von Anfang an zu planen, aufzubauen und zu betreiben.

Noch keine Kommentare.

Noch keine Kommentare.