SIGS DATACOM Fachinformationen für IT-Professionals

SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
21. - 25. Januar 2019, München

Sessionsdetails

Vortrag: Di 1.2
Datum: Di, 22.01.2019
Uhrzeit: 14:00 - 14:45
cart

Whitelabeling: Skalierungsschmerz einer mandantenfähigen Plattform

Uhrzeit: 14:00 - 14:45
Vortrag: Di 1.2

 

Der Traum eines jeden FinTechs: Plötzlich interessieren sich 500 Banken für die eigene Online-Plattform! Wir haben das Produkt, sie die Kunden - klingt perfekt! Doch wie stellt man 100 neuen Mandanten pro Monat eine perfekt individualisierte Kopie der eigenen Plattform bereit? Lässt sich das betreiben und passen die laufenden Kosten in ein FinTech-Budget? Wir zeigen Ihnen, wie wir das angegangen sind und unsere Java-EE basierte Plattform mandantenfähig wurde, was für uns funktionierte, und wo wir an Grenzen gestoßen sind.

Zielpublikum: Architekten, Entwickler, Betreiber und DevOps-Teams
Voraussetzungen: Grundkenntnisse über den Aufbau von Webanwendungen
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract
Für uns eine wahre Geschichte - wir konnten mit einer Unterschrift die gesamte genossenschaftliche Bankenwelt für unsere bis dahin kleine Online-Plattform gewinnen. Über 200 Banken warten darauf, den Onboarding-Prozess zu durchlaufen und ihren Kunden „ihre" individualisierte Plattform zu präsentieren.
Unser erster Ansatz, für jede Bank eigene Instanzen der Microservices bereitzustellen, war aus Betriebssicht schon ambitioniert. Nach den ersten 50 Banken (und 20 neu beschafften Servern) stieg das Ziel dann auf 500. Damit war er unmöglich.
Da das Thema „Mandantenfähigkeit" auf den letzten Metern noch aus Java-EE7 herausgeflogen war, half uns auch das Framework nicht mehr weiter. Für eine Neuentwicklung fehlten uns die Zeit und Ressourcen. Glücklicherweise hatten die meisten Bibliotheken schon eigene Tenancy-Features gebaut.
So konnten wir Baustein für Baustein die Plattform umbauen, sodass die Banken auf gemeinsamen Services betrieben werden konnten, ohne die Trennung der Daten zu lockern.
In diesem Vortrag möchten wir an unserem Beispiel vermitteln, warum der Ansatz „mehr Instanzen, mehr Container" manchmal zu naiv ist, und ihm die Alternative „smartere Services" gegenüberzustellen.
Dabei gehen wir auf folgende Eckpfeiler unserer Plattform ein:
* Mandantentrennung mit Subdomains: wie lässt sich eine Anwendung anhand der URL des Aufrufs konfigurieren, bevor der Aufruf verarbeitet wird
* Authentifizierung: ein Realm pro Mandant mit eigenen Signaturkeys
* Datenhaltung (mit JPA, Hibernate und Liquibase): jeder Mandant bekommt ein eigenes Schema
* Konfiguration: Konfiguration pro Request, nicht pro Restart
* Mandantenfähige Frontends (mit Angular): wie lässt sich ein Frontend themen?
* Feature-Toggles: Individualisierung der angebotenen Produkte
Wir halten unseren Vortrag für relevant für die Teilnehmer, da wir den Trend beobachten, dass viele Start-ups ihr Geschäft von B2C auf B2B umstellen. Hierbei stellt sich früher oder später die Frage, wie das Thema Whitelabeling angegangen werden soll:
* Vertrieb der Plattform zum Selbsthosten - ein Vertriebsproblem
* Bereitstellen als One-Size-Fits-All ohne strikte Trennung - ein Produktproblem
* eine Instanz pro Mandant betreiben - skaliert (je nach Kundenstruktur der Mandanten) schlecht - ein Ops-Problem
* strenge Multi-Tenancy - ein Entwicklungsproblem
Hier ist es wichtig, die Vor- und Nachteile der Ansätze zu kennen und den für sich passenden zu wählen.