¶ Multi-Mandanten-Architekturen mit Max Schellhorn
[SPEAKER_03]: Herzlich Willkommen zu einer neuen Episode vom Engineering Cures Podcast. [SPEAKER_03]: Ab und zu fällt in der Episode mal ein Satz, dem mir im Kopf hängen bleibt. [SPEAKER_03]: Leg es sie verdient das Geld. [SPEAKER_03]: Das ist zum Beispiel in solcher Satz. [SPEAKER_03]: In dieser Episode war es aber ein anderer Satz. [SPEAKER_03]: Multi-Tendensysteme sind besseres Single-Tendensysteme. [SPEAKER_03]: Und darum geht es auch in der nächsten Stunde.
[SPEAKER_03]: Eine Software zu schreiben ist das eine. [SPEAKER_03]: Eine Software für mehrere unterschiedliche Mandanten, also Kunden zu schreiben und zu betreiben ist das andere. [SPEAKER_03]: Man muss doch nur an jedes Datenbankstellt, mit ein Wärkunde gleich Kunde ein die hängen und der Drops ist glutzstoder, kannst du schon so machen, ist dann aber halt Kacken.
[SPEAKER_03]: Und wie deine Lösung nicht so kacke wird, erklärt uns Max Schellhorn mit einem DeepDive zum Thema Multimandanten-Heichweg-Tour. [SPEAKER_03]: Also der Fähigkeit, sein System für mehrere Kunden zu betreiben und dabei sich auf eine ordentlich Kundenbeziehungsweise Daten-Isolation verlassen zu können, wo die Themen Resiljens und Blast radios nicht zu vernachlässigen.
[SPEAKER_03]: Das ganze geht weit tiefer als ich Initial gedacht habe, unter anderem mit den Themen wie Schafel Scharding und Zell-Based Architekter. [SPEAKER_03]: Nun aber genug von mir mit dem Intro, los geht's, viel Schatz. [SPEAKER_03]: Wolfgang, sagte die Firma Sales Force-Wassen. [SPEAKER_02]: Natürlich, erst die SARS-Film auf der Welt. [SPEAKER_02]: Quasi, wir haben so SARS-Bistnisse erfunden. [SPEAKER_03]: Okay, today I learned, das wusste ich noch nicht.
[SPEAKER_03]: Wie wir Kunden hat, denn das Kieprodukt von Zelsvors, deren CRM-Plattformen. [SPEAKER_02]: Was mir immer schätzen, ich würde sagen, heißt doch eine der größten Firmen 800.000 Kunden.
[SPEAKER_03]: Das Problem ist jetzt, Gemme Neu, sagt mehr als 150.000 Kunden, 800.000 ist mehr als 150, deswegen kann ich nicht sagen, ob es richtig oder falsches, aber was denkst du passiert, wenn Salesforce und Sicherheitsleck hat, wenn er den Hecker schafft, irgendwie reinzukommen, in das Zährendes Thema. [SPEAKER_02]: Also wenn er ein Hecker ist schafft, nicht eine Hecker schafft. [SPEAKER_02]: Ihr upschüge dachte, ist ein neues Wort, eine Gruppe von Hecker ist eine Hecker schafft.
[SPEAKER_02]: Ja, ist blöd, wahrscheinlich, oder? [SPEAKER_03]: Ja, so eigentlich würde ich mir denken, wie so wird dann ein Heckerzugriff auf alle Daten haben. [SPEAKER_03]: Aber es scheint so, als haben die Systemlichengriff denn, vor kurzem gab es eine Firma, oder die gibt es immer noch. [SPEAKER_03]: Nenn sich Sales Loft, Sales Loft hat ein Produkt namens Drift.
[SPEAKER_03]: Drift ist, wie hätte es auch anders sein können, ein AI-Chat-Agent, der wird natürlich ganz oft in Cells Force integriert und ganz viele Kunden hatten diesen AI-Chat-Agent, denn wie man jetzt auch gerade wieder hört, AI-Chat-Agents ersetzen Support Mitarbeiter. [SPEAKER_03]: Auf jeden Fall hatte dieser AI-Chat Agent. [SPEAKER_03]: Irgendag sicherheitsloch auf jeden Fall haben es Hecker geschafft, oder die Beziehungstokens von diesem AI-Chat Agent.
[SPEAKER_03]: Raus zu bekommen und dadurch sind die dann von Höchstgen auf Stöchskünne kommen und irgendwann hatten sie halt Zugriff auf ganz viele Salesforce, CRM-Einbeierments und konnten da, auf jeden Fall zumindest schon mal customer support tickets abgreifen. [SPEAKER_03]: Aber da hab ich ihn natürlich gefragt, wie kann das sein? [SPEAKER_03]: Wie kann da keine Isolation stattfinden? [SPEAKER_03]: Wie kann da nicht der Blastradius irgendwie minimiert werden?
[SPEAKER_03]: Ich komme aus der Reliability-Ecke. [SPEAKER_03]: Und warum schwarflich die ganze Zeit darüber, weil genau das dieses Thema heute ist? [SPEAKER_03]: Wir sprechen nämlich heute über ein Thema, was sich auf Englisch multi-Tendentarchitexium nennt? [SPEAKER_03]: Und ich musste das erstmal nach DeepL in die Übersetzungsbox knallen, damit ich erst mal den deutschen Begriff. [SPEAKER_03]: Ja, jetzt bin ich gespannt. [SPEAKER_03]: Was ist das das, Dutch?
[SPEAKER_03]: Ja, ich fühle mich wie ein Steuerberater. [SPEAKER_03]: Ja, es ist eine mehr Mandantenarchiektur. [SPEAKER_03]: Ja, ja, klar, stimmt eigentlich. [SPEAKER_02]: So heißt es ja mehr Mandanten. [SPEAKER_03]: Lustigerweise haben wir ja inzwischen Beziehungsweise der Wolfgang hat das inzwischen aufgesetzt mit einem Team von fleißigen organisatoren. [SPEAKER_03]: Eine Art Recruitment Center für Podcast Interviewgäste.
[SPEAKER_03]: Das nennt sich das Engineering-Kiosk-Alps Meetup wo unteranommen und so heute ihr Gast der Max nämlich auch mal ein Vortrag gehalten hat. [SPEAKER_03]: Hallo, Max. [SPEAKER_03]: Hallo, grüß euch. [SPEAKER_03]: Ja, du hast am 12. [SPEAKER_03]: Juni 2025 auf dem Engineering Kios Alps meet up einen Talk über mehr man dann nicht lektoren gehalten und dann hat der Wolfgang mir irgendwie dann das Leid zugespielt auch nicht durchgesetzt.
[SPEAKER_03]: Wow. [SPEAKER_03]: Also ich küsse Frage, warum hast du den noch nicht klar gemacht fürs fürs für den Podcast? [SPEAKER_03]: Und das hab ich dann im Nachgang gemacht. [SPEAKER_03]: Denn man würde denken, du könntest dich mit mehr man dann nach die Toren auskennen, denn dein Arbeitgeber, aber so ein Webster. [SPEAKER_03]: Das ist auf kurz AWS, hat ein paar man dann. [SPEAKER_03]: Auf jeden Fall verdient du deine Brötchen dort als Zuluchen Architekt.
[SPEAKER_03]: Wir haben mit einem speziellen Fokus auf Software-Service-Application-Server-Less-Application und Event-Dürben-Architekt-Schuss. [SPEAKER_03]: Zuvor hast du bei einem großen Mode-Fashion-Online-House gearbeitet, wenn man so möchte, bei Zerlando als Software-Engineer das bedeutet, du hast vielleicht auch schon mal einen Nirmandanten System selbst implementiert. [SPEAKER_03]: Und du bist öfters auf den Bühnen dieser Welt als Speaker unterwegs.
[SPEAKER_03]: Und der Wolfgang hat mir auch eine Story erzählt, in dem vorgespräch, dass du einmal an irgendeinem Arben ein CEO am Telefon hat, das am Or hat es auf jeden Fall, weil du mal eine Produktion [SPEAKER_01]: Ja, gedrobt nicht, aber wir hatten damals einen foregroundindex erstellt und da wurde sämtlicher Read-and-Right Traffic auf der Produktion Datenbank geblockt und da haben wir dann zwangsläufig nach ein paar Minuten den CEO mal kennengelernt, was denn da los ist.
[SPEAKER_01]: Also ja, das ist schon eine weile her, aber irgendwann hatte immer schon mal einen Inseln mit einer ProtDB gehabt, nämlich an. [SPEAKER_01]: Was ist ein 4-Ground Index? [SPEAKER_01]: Ja genau, das war zu einer gewissen MongoDB Version. [SPEAKER_01]: Wenn man dann Index erstellt hat, war das per D-Volten 4-Ground Index. [SPEAKER_01]: Das heißt, wo eben dieser ganze Riedon-Ride-Traffic dann geblockt wurde.
[SPEAKER_01]: Mittlerweile ist die voll zu weit ich weiß, habe mich dann danach nicht so nur viel mehr damit beschäftigt. [SPEAKER_01]: Dann in Background gemacht, dass das eben keinen Einfluss mehr oder kein so gravierenden Einfluss auf den Bestehenden Traffik halten.
[SPEAKER_02]: Es freut mich als Datenbänkler natürlich besonders immer solche Geschichten, weil die kennt man ja, aber es ist schon mal subtiler, würde ich mal sagen, als eine klassische Delete-Kviri, wo man irgendwo das ist, wo erst Statement oder so vergisst, was eigentlich so da klassikalisch ist dann mal so. [SPEAKER_01]: Ich habe quasi in der illegante Form gefunden, um die Productions hatten, weil ein Klamp zu legen. [SPEAKER_01]: Genau.
[SPEAKER_02]: Ich schon ... Ich schon ... Ich schon ... Das ist schon okay.
¶ Info/Werbung
[SPEAKER_02]: Aber kommen wir mal zu dem Thema zurück, der Andy hat ja schon so schön mit seiner ewig langen Geschichte. [SPEAKER_02]: Da irgendwas eingeleitet und hat aber nicht erwähnt, dass es jetzt eigentlich um die Lösung für dieses Problem geht. [SPEAKER_02]: Weil er hat dann nur die zweite Dinge aufgemacht. [SPEAKER_02]: Aber vielleicht magst du mal ganz grob erklären, was mal die Tannen bleiben, aber am englisch ist auch cooler.
[SPEAKER_02]: Entdeutig, am Flack hat es einfach mal erklären, um was es da eigentlich geht und was das Wort bedeutet. [SPEAKER_01]: Ganz genau, ja, ich kann dann mal mit dem ersten Part vielleicht anfangen, also auch dann in zweiten im Debenfall und mit dem Tenet. [SPEAKER_01]: Also was ist überhaupt einen Tenet im Software-Kontext? [SPEAKER_01]: Und einen Tenet ist im Prinzip einer eigenständige Firma oder Organisation, die isoliert von anderen Tenetens eine Software nutzt.
[SPEAKER_01]: Also konkretes Beispiel, die meisten von euch kennen wahrscheinlich irgendwie Konflujens oder Jira und wenn eure Firma jetzt im Konflujens Zugang hat und die ermeldet euch dort an, dann sieht ihr da eure Spaces, eure Projekte, eure User-Eure Konfiguration. [SPEAKER_01]: Und wenn ich mich da anmelde, mit meiner Firma meinem Firma kaum dann sehe ich dort meines Bases Projekte, User- und Konfiguration.
¶ Was ist ein Tenant im Software-Kontext?
[SPEAKER_01]: Also im Prinzip wir benutzen zwar die selbe Software, also Konflönen sind ebenfalls. [SPEAKER_01]: Wir sind aber komplett isolierte Mandanten oder Tennis. [SPEAKER_01]: Das heißt, wir wissen theoretisch auch gar nichts von den Handeln. [SPEAKER_01]: Wir benutzen die Software komplett isoliert und dann gibt es noch den Proweider. [SPEAKER_01]: Das ist dann der, der die Software tatsächlich baut. [SPEAKER_01]: Also dem Fall wäre das dann adlässierend, jetzt bei Konflönen oder Jera.
[SPEAKER_01]: Der quasi die Software zur Verfügung stellt. [SPEAKER_01]: Und wir sind Mandanten dieses [SPEAKER_01]: Systemes. [SPEAKER_02]: Wobei du jetzt, also schon von einem Cloudset absprichst, weil wenn ich jetzt Lokal bei mir holst, der als Firma in meinem Data Center, dann ist es so so wie so komplett unabhängig eigentlich. [SPEAKER_01]: Es muss nicht, also das Konzept eines Mandanten muss nichts wangsläufig mit der Cloud-Timer-Dick zusammenhängen.
[SPEAKER_01]: Das sieht man besonders bei Singleton-Ent-Anwendung. [SPEAKER_01]: Das heißt, haben wir jetzt eben über Software gesprochen und jetzt gibt es verschiedene Möglichkeiten und Architekturen, wie dieses [SPEAKER_01]: Und vielleicht können wir das an einem konkreten Beispiel mal durchspielen. [SPEAKER_01]: Also ich würde an die Wolfe ich würde euch einladen, dass wir gemeinsam ein Start-up heute bauen.
[SPEAKER_01]: Also an die Du bist das CEO, wohlführe bis der Lead Engineer, ich mache irgendwas mit Cloud. [SPEAKER_01]: Und wir bauen jetzt zusammen Engineering In-Volz. [SPEAKER_01]: Also wir bauen jetzt eine Software, wo fünf ihre Rechnungen verwalten können, so zu sagen. [SPEAKER_01]: Und Singleton, wenn wir jetzt eine Singleton in Anwendung bauen würde, da würde die Software so gebaut sein, dass sie nur für ein Mandanten gleichzeitig funktioniert.
[SPEAKER_01]: Und in der Praxis ist es, dass wir das Zugrad angesprochen hast, heißt es dann auch meistens, dass jede Firma ihre eigene Anwendungsinstanz bekommt. [SPEAKER_01]: Also ganz simpel wir haben jetzt im Becken und eine Datenbar, wo die Rechnung drin sind, dann würde jede Firma, ihr eigenes Becken, ihre eigene Datenbank bekommen. [SPEAKER_01]: Und das können die jetzt natürlich selber bei sich im Rechenzentrum installieren. [SPEAKER_01]: Das können aber auch wir für sie hosten.
[SPEAKER_01]: Aber trotzdem, das Modell, dadurch, dass die Software nur für einen man dann einen Gleichzeit equ funktioniert, würde man von einem Singleton in Setup sprechen. [SPEAKER_02]: Das heißt, man teilt sich dann gar nichts mit irgendwem anderen. [SPEAKER_02]: Also wirklich egal ob Hardware Software Datenbank ist alles irgendwie getrennt. [SPEAKER_01]: Ganz genau. [SPEAKER_01]: Also, wenn wir einen Engineering-Invoice herzumt, haben wir zu unseren ersten Kunden im Start-up aus Inspoken.
[SPEAKER_01]: Dann können wir das, den, quasi, haben die eine komplett eigenestanz eigene Beckende, eigene Datenwagen, und dann kommt im Start-up aus Berlin. [SPEAKER_01]: Und dann kriegen die wieder eine eigene Beckende, instanzende eignende Datenwagen an. [SPEAKER_01]: Aber die Software an sich kann immer nur ein, man dann gleichzeitig händelten. [SPEAKER_01]: Nenn mir mal einen riesen Konzern, [SPEAKER_03]: aus Österreich Red Bull Red Bull.
[SPEAKER_03]: Red Bull. [SPEAKER_03]: Wir bekommen Red Bull als Kunde. [SPEAKER_03]: Die wollen unsere Inwohner so fair nehmen. [SPEAKER_03]: Es ist mal, ich danke dafür, dass du mich als CEO promoted hast, dann wird der Wolfgang erst einmal auf mich hören. [SPEAKER_03]: Ich würde jetzt den Wolfgang nicht als Lead-Engine promoted, aber das ist eine andere Timmarte. [SPEAKER_02]: Läck mal nicht ab, wir haben sogar Red Bull, als Hauptkunden jetzt gehen wir nicht.
[SPEAKER_02]: Man ist nicht firme, die sich zwei Formel einstiebsleistet. [SPEAKER_02]: Aber nehmen wir mal an, man mag das da an, die kein Unternehmer ist, sonst würde nicht alles auf einen Kunden setzen. [SPEAKER_02]: Nämmen wir mal an, wir haben zehn Kunden. [SPEAKER_02]: Und Red Bull ist ja nur ein kleiner Kunde von uns. [SPEAKER_02]: Und wir haben danach noch ein paar andere große Kunden.
[SPEAKER_02]: Jetzt klasse ich das, was du so erwähnt hast, das klinkt für mich so nach 90er-Jahren jeder Kunde installiert es irgendwie auf seine Basenkammer und lässt es da laufen und dann kam mir irgendwann die Kule Cloud in den 2000ern würde ich sagen Ende 2000ern und alles wird jetzt gemeinsam gehostet oder in einer Form gemeinsam betrieben für alle unsere zehn oder wir sind ja Kule für 100-Kundersperspürt.
[SPEAKER_01]: Ja, genau, ich würde auch kurz einstellen zu, was du sagst, dass das so 90er-Jahre konzepte, ich würde sagen, es gibt tatsächlich schon ein paar Szenarien oder gute Gründe, wo sich eine Single-Tannend anwendungen, wo die gut passen würde. [SPEAKER_01]: Ja, also es gibt so ein paar Businessmiddelle angenommen, wir haben jetzt unsere Engineering in Weiß, ja, und wir bauen das nur für die fünf größten Schweizer Banken.
[SPEAKER_01]: Also, wir machen fast individuell Software, in dem Fall macht es Sinn, es singelt einen Anmennung zu haben, weil ich so viel Kastermeist habe, Brokunde, das ist kein Sinn, macht das jetzt irgendwie in irgendeiner Form zu teilen.
[SPEAKER_01]: Wo das auch gut funktioniert und ich habe selber mal Software für Skieschulen gebaut, früher hier im Innsburger Raum und da hast du natürlich auch, wenn du dich jetzt zum Beispiel auf einen deutschsprachigen Skieschulenmarkt konzentriest, dann hast du vielleicht ein paar 100 Skieschulen, aber du hast jetzt nicht morgen auf einmal 1000 neue oder übermorgen 10
[SPEAKER_01]: Startischen Markt, obwohl jetzt nicht morgen irgendwie super viele neue Potenzielle Kunden dann als Software hinzukommen, da kann das auch Sinn machen in Singleton und Modell, wenn du das gut unter Kontrolle operativ hast, zu betreiben. [SPEAKER_01]: Und vielleicht der letzte gute Anwendungsfall ist, wenn du nur hochregulierte Ergäbt Kastema hast, die das definitiv auch nur in ihrem Rechenzentrum irgendwie installieren wollen.
[SPEAKER_01]: Und das ähnlich wie dieses Schweizer Bankensinnahre, da kann das auch Sinn in Singleton [SPEAKER_01]: Das sind ja am Durchaus auch heute, ihre Daseinsberechtigung. [SPEAKER_01]: Für die Sache. [SPEAKER_03]: Er flechst du dafür von Skyschulen, und das sind ja aus unserer Rechnungsperspektive, ja ein Business zu Business, B2B-Kastema. [SPEAKER_03]: Und jetzt benutze ich jeden Tag Spotify und immer mal wieder auch Netflix.
[SPEAKER_03]: Das ist ja eigentlich auch ein ... [SPEAKER_03]: Multitännen System, wo ich als B2C kunde, einen Accountal und du deine Playlist, bei Spotify sieht die anders aus, was meinen zum Beispiel, das wäre B2C. [SPEAKER_03]: Gibt's da einen relevant Unterschied oder ist das eigentlich alles selber? [SPEAKER_01]: Nee, also da gibt es eigentlich schon großen Unterschied, also das Konzept eines Mandanten ist hauptsächlich in der Softwarewelt relevant.
[SPEAKER_01]: Wenn wir eine große E-Commerce-Plattform bauen, aber wir haben Produkte verkaufen, eine Schuhe, Artikel oder Wasser immer, hier ist das Konzept nicht so nannlich relevant, weil die User-Imprinzipprodukte beziehen oder kaufen oder in deinem Fall die Songs oder die Playlist, aber nicht eigentlich ein Stück Software, so wie das jetzt bei Konflujens oder eine Rechnung Software, da so der Fall ist. [SPEAKER_01]: Und hier ist diese Mandanten-Trennung.
[SPEAKER_01]: viel essentieller und ein wichtiger Bestandteil, wo hingegen das bei SOB-To-C-Plattform gar nicht der Fall ist oder nur in untergeordnete Weise eine Rolle spielt. [SPEAKER_01]: Aber um auf deiner Frage, vielleicht wollte ich von der Vor zurückzukommen. [SPEAKER_01]: Was machen wir jetzt, wenn wir eben nicht?
[SPEAKER_01]: Ich sag mal nur, dass die Schieschulen haben wollen oder die 5 großen Banken und wir sagen jetzt, wir wollen jetzt Engineering in uns, wir wollen jetzt jetzt richtig groß machen und wir wollen jetzt nicht, wir wollen jetzt 1.000 Kunden haben 10.000 100.000, wir wollen das weltweit machen.
[SPEAKER_01]: Also die erste Sache, die dann wieder richtig erwähnt ist, die dann wahrscheinlich auch kommt, ist die operative, aber nicht nur aus unserer Sicht, sondern auch von den Kunden, weil die Kunden wahrscheinlich gar nicht mehr in eigenes Rechtenzentrum haben oder in eigenen Server, wo sie die Anwendungen jetzt installieren würden. [SPEAKER_01]: Das heißt, in dem Moment würden wir anfangen, höchst wahrscheinlich das Hosting zu übernehmen, diese Anwendung.
[SPEAKER_01]: Und sobald wir das tun, wenn wir das für eine Single Tenentanwendung machen, dann geht das für 5 Kunden, dann geht das auch vielleicht für 100 und 200, wenn das auch 100 oder 200 bleiben. [SPEAKER_01]: Aber in dem Moment, wo wir 1.000, 2.000 und vielleicht jeden Tag mehrere 100 neue Kunden bekommen, ist das für uns ein operativer Albtraum, wenn wir für jeden Kunden spezifisch einen komplett eigenen Application-Stack deployen müssten.
[SPEAKER_01]: Ja, wir müssten, eh wird der schon sagen, dass 100 einen Albtraum sind, also 100 Stacks zu [SPEAKER_02]: Vor allem ohne Automation, mit Automation vielleicht besser, aber dann ist es eh schon die Frage, wenn es komplett durch Automated ist, ob das überhaupt noch singt will, eigentlich zu bewerten ist. [SPEAKER_01]: Ja, also gönnt theoretisch kann man viel automatisieren und man kann auch so komplett Single, die tanden deployments theoretisch machen, nur wie gesagt.
[SPEAKER_01]: Was hat das für ein Einfluss auf wie schnell ich neue Features ausholen kann? [SPEAKER_01]: Da wenn ich jetzt irgendwie 2000 Instanzen erst mal upgrade muss und auch Petschenmuss und zum Weiteren ist das natürlich ein sehr hoher operativer Aufwand. [SPEAKER_01]: Und das ist eigentlich schon die erste, der große Motivationspunkt für uns jetzt zu sagen, für Engineering-Invoice jetzt in unserem Fall ist, dass wir eventuell eine Multitannent-Eichedicture einführen können.
[SPEAKER_01]: Und Multitannend. [SPEAKER_01]: Bedeutet jetzt nichts anderes wie, dass unsere Multitänetarchiktiktur erlaubt ist, uns mehrere Mandanten mit einer einzigen Anwendungsinstanz zu unterstützen. [SPEAKER_01]: Eine Einzige in den Sand sieht's ein bisschen zu geschwitzt.
[SPEAKER_01]: Also das heißt, in dem Vergleich zu vorher, sagen wir Beckern und Datenbank, könnten wir jetzt im Extremversagen, wir nehmen alle Tausend Kunden, nur auf die gleiche Beckern-Instanz und auf die gleiche Datenbank. [SPEAKER_01]: theoretisch. [SPEAKER_01]: Das wäre dann ein Multitännet an. [SPEAKER_01]: Das heißt die Anwendung wird in diesem Moment auch zu einem gewissen Aspekt Tenent Erwehr.
[SPEAKER_01]: Das heißt, sie muss damit umgehen, dass sie Requests von verschiedenen Mandanten bekommt und demensprechend auch nur die Rechnungen für diesen Mandanten dann zum Beispiel auch zurückgibt. [SPEAKER_03]: Achtung, die 90er rufen gerade an. [SPEAKER_03]: Um eine Applikation Tennentower zu machen, würde ich ja einfach einen Gettparameter dran parang, der sagt Tennentide gleich 5 und Red Bull hat Tennentide 6 und ich kenn jetzt keine weitere bisste Reichsabschirmchen.
[SPEAKER_03]: Zwar raufski hat dann Tennentide 7 richtig und wenn ich dann nach oben aus der 7e 5 mache, dann sagt er ein, du hast kein Zuge auf auf diesen Tennent. [SPEAKER_03]: Ist das jetzt Tennentower in einer Software in den 90ern? [SPEAKER_01]: Also, Tenent erwähnt es, wir können das einfache Beispiel mit diesem Rechnung mit der Rechnung vielleicht machen. [SPEAKER_01]: Also, angenommen wir haben das Backend und das Faktrechnung in der Datenbank ab.
[SPEAKER_01]: Und wir sagen, alle Rechnungen liegen jetzt erst mal einer Tabelle. [SPEAKER_01]: Also, ich blitz das jetzt mal zube, kommen später vielleicht auch Security, und wie man das isolieren kann. [SPEAKER_01]: Aber theoretisch würde das heißen, dass ich nicht mehr wie vorher einfach Select Stern vom Invoice machen und ich kriege alle Rechnungen, weil das ja nur für einen Mann dann war.
[SPEAKER_01]: So, dann jetzt müsste ich dann theoretisch Select Stern vom Invoice, [SPEAKER_01]: Und wichtig wird dann natürlich die Tannent Identity in diesem Schritt. [SPEAKER_01]: Das heißt, ich muss natürlich wissen, dieser Request gehört zu diesem Tannent. [SPEAKER_01]: Und da gibt es auch verschiedene Mechanismen, wie man das zusätzlich rausfinden kann.
[SPEAKER_01]: Wenn ich noch vielleicht noch einen Punkt zu der Motivation sagen kann, ich habe jetzt das operative in den Raum gestellt, was gibt noch den zweiten, sage ich mal größten Motivationspunkt für Motivationen, Architektoren. [SPEAKER_01]: Und der ist nicht das operative, sondern die Kosten. [SPEAKER_01]: In dem Moment, wo wir als Betreiber das Hosting für den Endkunden, quasi übernehmen, ist das unsere Kostenstelle.
[SPEAKER_01]: Früher, wenn der Kunde sein Rechenzentrum gab, dann haben wir gesagt, du brauchst drei Söver, so ein zu viel Ram, installier das mal. [SPEAKER_01]: Aber jetzt müssen wir das machen. [SPEAKER_01]: Und wenn wir das Singleton entbisch treib und angenommen, wir möchten von dem Kunden 500 Euro im Monat für uns so Software. [SPEAKER_01]: Wir geben aber 200 Euro für Infrastruktur, wo kommt er aus, dann ist unsere Marge, dann haben wir 300 Euro gewinnen gemacht.
[SPEAKER_01]: Das heißt, wenn wir es schaffen, die Infrastruktur zu senken. [SPEAKER_01]: Auf nur noch zehn Europa-Kunde erhöht sich unsere Marge. [SPEAKER_01]: Das heißt, es ist eigentlich immer im Anbietersintresse, so viel wie möglich zu schern, dass ich so gering wie mögliche Infrastruktur ausgaben habe.
[SPEAKER_01]: Und da hat er letztens auch ein CG-O von einer großen Firma zu gemisagten, seitdem wir saß machen, also diese auch für den Kunden hosten, dann in dem Fall, ja, und das wirklich als Service anbieten, every dollar spent on Infrastructure ist lost business. [SPEAKER_01]: weil wir wirklich sonst unsere Marge halt erhöhen können, je mehr Werteilen können. [SPEAKER_01]: Das ist eine große, intrinsische Motivation und Extrinsische.
[SPEAKER_01]: Dann fehlen viel wie möglich, es ist so best wie möglich, so effizient wie möglich Ressourcen zu teilen. [SPEAKER_02]: jetzt beenden, oder? [SPEAKER_02]: Es ist Multitannent. [SPEAKER_02]: Es ist super rettet uns unseren Gewinn. [SPEAKER_02]: So zu sagen, wir haben weniger Operational Costs, weniger Kopfhörer mit dem ganzen. [SPEAKER_02]: Und wir hängen da an die SQL Queryne ID ist gleich irgendwas dran.
[SPEAKER_02]: Je nachdem, was wir einen Tenent daran ist und die Sache ist gegessen. [SPEAKER_01]: Ja, klinkt gut, oder? [SPEAKER_01]: Können wir eigentlich aufkommen? [UNKNOWN]: Ja. [SPEAKER_01]: Ja, das Problem ist, dass wohl die Detennend-Eichentektoren, wir haben ja gemerkt, ja, es klinkt jetzt nach einer einfachen Ware-Clos, wenn der Praxis ist das aber natürlich deutlich komplex.
[SPEAKER_01]: Ich habe schon angedeutet, eine Sache ist, [SPEAKER_01]: Tenent Identität, also wie finde ich raus, dass dieser Request zu diesem Tenent überhaupt gehört? [SPEAKER_01]: Wie stelle ich sicher, also wie separiere ich vielleicht auch die Daten her zwischen den Tenents und wie stelle ich die Security boundary-sicherne, also dass der eine Tenent jetzt nicht einfach von dem anderen wenn ich irgendwie einen falschen Parameter gesetzt habe die Rechnung aus der Datenbank rausziehen.
[SPEAKER_01]: und der letzte Punkt, also ein ganz großer Punkt ist dann natürlich auch Blastradius.
¶ Warum ein WHERE-Statement zur Tenant-Isolation nicht ausreicht.
[SPEAKER_01]: Ich weiß es mal vielleicht ganz kurz, aber wenn ich jetzt auf einmal 10.000 Kunden auf einer Instanz auf einer Datenbank habe und wir haben ja eingangs zugesprochen, wenn jetzt einer draufkommt, die Datenbank zu löschen, dann sind 10.000 Kunden gleichzeitig effektet. [SPEAKER_01]: Bei einer Singleton hab ich das nicht, da heißt dann halt der eine Kunde, wo ich die gelöscht habe effektet. [SPEAKER_01]: Das heißt, wir haben ein viel größeren Blastradius, wenn wir Sachen teilen.
[SPEAKER_01]: Das heißt, es gibt hier herausforderungen. [SPEAKER_01]: Es gibt zusätzlichen Aufwand, den wir betreiben müssen, um diese Multitennendarchichtigturen nachhaltig und vor allem sicher zu bauen. [SPEAKER_03]: Dann lassen Sie es dann mal einsteigen in die Identivizierung eines Tennis. [SPEAKER_03]: Warum reicht ein OER-Tennen ID gleich 5? [SPEAKER_03]: Heute Tage nicht außer. [SPEAKER_01]: Wir müssen ja erst mal kommen, wie kommen wir denn zu der ID überhaupt?
[SPEAKER_01]: Also woher wissen wir denn, dass du jetzt, wenn du jetzt einen API-Request zu unserer sagen, wenn wir zu unserem Beckand machst, woher weiß ich denn überhaupt, dass du jetzt tenent ID 5 bisst und ich wird mal wahrscheinlich das gängigste Beispiel erwähnt, dass heißt wie bliecherweise bekommt du enttoken. [SPEAKER_01]: Also du musst dich ja bevor du mit der Ablication sprichst überhaupt mal authentifizieren.
[SPEAKER_01]: Das heißt, du hast einmal dabei ein Lock-In, Jus' an damit Passwort in modernen Saas-Anwendungen. [SPEAKER_01]: wird auch oft noch mal federated, also du wirst dann wiederrektet auf dein eigenen Login, auf dein eigene Login-Plattform, die du vielleicht für deine Firma verwendest. [SPEAKER_01]: Und in dem Moment, wo du das tußt, nachdem der Prozess fertig ist, bekommst du normalerweise in Existoken. [SPEAKER_01]: Das ist normalerweise ein O of 2 Existoken und JWT-Token.
[SPEAKER_01]: habt ihr vielleicht schon mal gehört und das ist imprenzierten Signier der Token und in diesen Token steht dann meistens nicht nur drin, du bist jetzt der Andi oder der Räufelserne steht drin, du gehörst jetzt zu diesem Tenent dazu, also zu dieser Firma imprenzieren. [SPEAKER_01]: Und wenn du jetzt dann den API Request machst, dann wird dieser Token mitgeschickt.
[SPEAKER_01]: Und diese Token, der es signiert, das heißt, ich kann nicht einfach deinen Token nehmen und da statt Wolfies Firma an die Firma reinschreiben, sondern der es signiert, das heißt, es beckend würde verifizieren, dass da wurde irgendwas rumgewerkelt haben, Token, das heißt, das ist verifiziert, dass das auch korrekt passiert ist.
[SPEAKER_01]: Und das Bäckern nimmt an diesen Token, guckt in den Token rein, und da steht A, okay, das ist ein Valider-Token, der es vom Wolfhin Wolfhib gehört zu Tenent 1. [SPEAKER_01]: Und dann greife ich eben nur auf die Daten zu Tenent 1 zu. [SPEAKER_01]: Also das ist erst mal zu dem Authentication-Batt, woher weiß ich überhaupt, wer dieser Tenent ist. [SPEAKER_01]: Das ist hauptsächlich so gemacht.
[SPEAKER_03]: Jetzt ist es so, JVT oder JWT hatten wir noch nicht im Podcast nur ganz kurz ein Abriss und damit das kleis.
[SPEAKER_03]: Es ist eine Art und Weise, wie du atetetivitionen sicherstellt, ja, Session oder Cookie ist zum Beispiel auch nach anderem, aber Jason, JVT steht für Jason Webto und... [SPEAKER_03]: So, weit ich mich erinnern kann, kannst du neben der Signatur, die Signatur ist ja eigentlich nur ein Hash, damit man wer effizieren kann, dass der Body, also der Content eines Tokens nicht verändert wurde, kannst du auch noch zusätzliche Informationen dazu fünge.
[SPEAKER_01]: Das sagt mal, Kasten klemes, genau dazu und normalerweise ist das in dem Moment, wo du die Registrierst, also sagen wir wollen jetzt irgendwie jemand möchte, Engineering in Wehrst zum ersten Mal verwenden, dann müssen wir normalen Registrierungsvorgang und in dem Vorgang wird normal auch der Tenent im Beckend normalerweise erstellt, dass ich weiß, ah das ist jetzt ein neuer Kunde, da gehört jetzt der User Andy und der User Wolfi zum Beispiel dazu und dann, wenn du dich dann anmeldest, dann kriegst du quasi in Kasten klemen in deinem
[SPEAKER_01]: Ihr gehört jetzt zu der und der Firma. [SPEAKER_01]: Und das wird eben mit jedem Request mitgeschickt. [SPEAKER_01]: Das heißt, für jeden Request aufs Neuern kann ich quasi verreffizieren und gucken, um zu welchen Tenden gehört das. [SPEAKER_01]: Und dann die Entscheidung treffen, welchen Datentopf ich dann z.B. [SPEAKER_01]: Exisse.
[SPEAKER_02]: Das heißt, aber immer noch, dass eigentlich die Entwicklerinnern darauf achten müssen in allen SQL-Kürs zum Beispiel dieses WS Statement dran zu haben. [SPEAKER_02]: Weil es ist zwar der Vorsichergestellte, dass jetzt in der Autentivizierung des Mitbekommen [SPEAKER_02]: Aber ich bin natürlich immer noch nicht abgesichert, wenn ihr einfach mal als Programmierheit irgendwo dann Westeat mit Vergiss oder diese Work-Clause hinten dran, das halt die ID gleich, der jeweiligen ID ist.
[SPEAKER_01]: Ganz genau. [SPEAKER_01]: Und da kommen wir dann so ein bisschen auf das Enforcement dann auch und wirklich auf die isolation. [SPEAKER_01]: Also das, wir wirklich sicherstellen, dass einen Tannen nicht auf die anderen Daten zu greifen kann.
[SPEAKER_01]: Für das Entwicklerproblem sage ich mal ganz generell, dass man der Entwickler jedes Mal irgendwie Tannenterware sein muss und gucken kann, oh ich muss gucken, dass es nur für einen Tannen [SPEAKER_01]: dass diese Logik, wo man danach auf die Daten für Zukunft in der Library sage ich mal abstrahiert sind, dass du quasi immer nur die Library verwendest und die braucht dann schon als Input Parameter eine Tenent ID zum Beispiel.
[SPEAKER_01]: Das heißt, du kannst als Entwickler da nicht anfangen, also dass du nicht bei accident irgendwie vergisst die Tenent ID dran zu hängen. [SPEAKER_01]: Aber jetzt kommen wir zum zweiten und das jetzt ist nur eine, das ist mehr so als Entwickler Experience, eine bessere Developer Experience, die Developer Experience sollte aber nicht ein Security Mechanismus sein, das wenn das jetzt einer vergisst, dass dann trotzdem alles return wird.
[SPEAKER_01]: Weil das könnte für uns als Engineering Invoice könnte, dass das Ende bedeuten, dann einer Neufallcheck-Were-Macht und dann nach sieht der Rechnungen von anderen Kunden. [SPEAKER_01]: Das heißt, dann kommt es auf das Enforcement drauf an, auf die Tenent isolation tatsächlich. [SPEAKER_01]: Und um die vielleicht ein bisschen genau zu erklären, ich habe da vor ein wichtigen Punkt weggelassen.
[SPEAKER_01]: Wir hatten er, ich habe das zugespitzt, Single Tenent war einen Beckernstanz, eine Datenbank, eine Prokunde. [SPEAKER_01]: Und dann habe ich das Beispiel gemacht, Multitannen, wo ich gesagt hat, das ganze Beckern ist geschert, die ganze Datenbank ist geschert, sogar die Rechnung sind in der gleichen Tabelle. [SPEAKER_01]: Und das muss aber nicht in der Multi-Tannent-Anwendung zwangsläufig so sein.
[SPEAKER_01]: Also ich kann die einzelnen Komponenten unterschiedlich partitionieren und isolieren. [SPEAKER_01]: Das heißt, anstatt, dass ich z.B. [SPEAKER_01]: alle Rechnungen in die gleiche Tabelle schweibe, könnte ich trotzdem hinten eine eigene Datenbank pro Kunde haben und nur den Comput-Layer, also die Bäckern-Instanz Teil.
[SPEAKER_01]: Das würde bedeutend ich kann beliebig pro-Komponent entscheiden, wie möchte ich die Daten-Typfe quasi oder die Komponenten pro-Tannent von derinander abgrenzen. [SPEAKER_01]: Und dann gibt es verschiedene Ersolierungsmechanismen, wie ich das dann auch tatsächlich entforsen kann. [SPEAKER_01]: Und da gibt es zwei Varianten entweder poolt, sagt man da, das heißt, wir teilen uns alles. [SPEAKER_01]: Also zum Beispiel in der Datenbank, wir teilen uns wirklich die Tabelle.
[SPEAKER_01]: Oder es gibt Silo sagt man, dass sie dann trotzdem noch eine dedizierte Komponente pro Tenent-Hast, also eine eigene logische Datenbank zum Beispiel oder eine eigene Tabelle. [SPEAKER_01]: Also es ist nicht auf den kleinsten gemeinsamen Nennerkwasi geschehrt. [SPEAKER_02]: Das heißt, du hast dann auch die Sicherheit von der Datenbankseite, der vom Datenbank lege, wenn du dann eigene Schema machst.
[SPEAKER_02]: Und dann kannst du den jeweiligen User unter Umständen auch noch trennen. [SPEAKER_02]: Das ist die Applikation mit einem anderen User zu greift und der User kann dann nur auf ein Schema zu greifen. [SPEAKER_01]: Richtig. [SPEAKER_01]: Also das heißt, je nachdem für welches Partitionsmodell ich mich entscheiden. [SPEAKER_01]: oder Isolationsmodell, habe ich unterschiedliche Security-Mechanismen um das zu erenforsten.
[SPEAKER_01]: Normalerweise, je grobkanulare, also mehr ich zu Seiluge, desto bessere oder sag ich mal noch explizitere Mechanismen, habe ich das zu erenforsten. [SPEAKER_01]: Wie du gerade gesagt hast, wie dir deine eigene Datenbank hat, auch jeder eigene Datenbank Credentials zum Beispiel. [SPEAKER_01]: Wenn ich jetzt weiter runtergehe, auf Tabellen ebenne, dann mache ich das vielleicht überrollen.
[SPEAKER_01]: Und wenn ich jetzt ganz runtergehe, auf, sagen wir mal wirklich, wir haben eine Tabelle, wo alle Rechnungen von allen Kunden drin sind. [SPEAKER_01]: Wir haben ja gesagt, dann muss der Entwickler aufpassen, dass er die Werklos nicht macht. [SPEAKER_01]: Da gibt es schon noch mal zusätzliche Mechanismen, wie hier so was wie bei Postgres Row Level Security. [SPEAKER_01]: Dass ich schon von vorne rein, dann gewissen Kontext zu der Session mitgebe.
[SPEAKER_01]: Und die quasi wie eine automatische, ist simplifizierig jetzt eine automatische Werklost dran hängt. [SPEAKER_01]: Das heißt, du musst immer wenn du die Session Aufbau aus den Tenent, den Kontext mitgeben. [SPEAKER_01]: Sag mal mal Tenent 1 und wenn ich dann selekt Stern vom Invoice mache, kriege ich trotzdem nur die Invoicees von dem ersten Tenent im Prinzip. [SPEAKER_01]: Das heißt, es gibt auch, wenn alles gescheit ist, zusätzliche Security, Mechanismen.
[SPEAKER_01]: Das waren jetzt im Paar für, sage ich mal, ganz normale, so Open Source Software. [SPEAKER_01]: Und in der Cloud gibt es dann noch mal ganz viel Feingkarnulare zum Beispiel, die man da verwenden. [SPEAKER_01]: Ich habe gerade mal nachgeschaut. [SPEAKER_03]: Aber du definierst bei Postgrei, sogenannte Policies, kinder allgemein. [SPEAKER_03]: Und die haben dann nicht immer ähnlich wie Grand Statement, in meinem MySQL Bereich oder ähnliches.
[SPEAKER_03]: Was ich weiß ist, dass bei Klickhaus eben voll so ein Roller-Witz-Q-T-Möglich ist? [SPEAKER_03]: Geestagter von Ausbau, es lehn ich mir immer aus dem Fenster. [SPEAKER_03]: Bei jeder es relativ nahe Datenbank, die was auf sich hält, ist das in Ergnautel. [SPEAKER_02]: Also, meines Wissens, weder Marriette, bin noch MaescoL, hat dieses Featured. [SPEAKER_03]: Wenn ich aber war, glaube ich mal anklopfen, die haben was bestimmt.
[SPEAKER_02]: Aber eben ist ein Moment, bis zu sicher dabei. [SPEAKER_03]: Na ja, leichter kopiert als selbst entwickelt von daher.
[SPEAKER_01]: Was man dazu sagen kann, das war jetzt eben auf der Datemank Ebene und da gibt es natürlich viele Möglichkeiten, wenn ich jetzt zum Beispiel in der Cloud bin, da gibt es ja meistens schon rollen, was ihr die Konzept, das heißt, wenn ich zum Beispiel offene, ich immer z.B. [SPEAKER_01]: Deiner Modivät zum Beispiel eine NoCicule Datemank als [SPEAKER_01]: Beispiel, da greif ich normalerweise z.B. [SPEAKER_01]: mit einer STK schon von Haus auszuziehen.
[SPEAKER_01]: Also das im Prinzip gab ich da nicht mehr normal Play-NJ-DBC, wie in einem normalen Datmang, sondern ich hab quasi ein API-Koll zu dem Deiner Modiv Service, wo ich mir dann diese Records rausholen. [SPEAKER_01]: Und da gibt es dann in den Clouds dann meistens schon im Berichtigungskonzept. [SPEAKER_01]: dass sich diesen hat die df API basierten Request quasi um die Daten auszuholen, mit Vermischen schon so einschränken kann.
[SPEAKER_01]: Das ist auch nur möglich, dass ich mir diese Records mit diesem Präfigst zum Beispiel rausholen.
[SPEAKER_01]: Also man kennt vielleicht das Beispiel auch S3, also Feilstäuld, kann ich die Rolle, die meines Service einem, wenn er den auf S3 zugreift, schon so einschränken, dass er auch nur aus diesem Back-Git für diesen Kunden [SPEAKER_01]: diese Files rausholenkarten, das heißt selbst wenn irgendjemand eine Werclose oder irgendwas vergisst, es ist einfach technisch durch die Rollen-Einschränkungen nicht möglich, dass ich mehr Daten, wie ich explizite Anfrage quasi rausholenkarten.
[SPEAKER_03]: ein bisschen mehr wissen möchte. [SPEAKER_03]: Wir haben in der Episode 1898 mal sehr tief über Robase Access Control gesprochen. [SPEAKER_03]: Was dann in diesem Fall diese Art von Poliziesystemen von der Max-Gradisch spricht auch sind und da habe ich mein Lieblingspoliziesystem genannt Caspen. [SPEAKER_03]: Aber auch sehr gut Feedback bekommen, dass das erjoy of use ist.
[SPEAKER_03]: Also [SPEAKER_03]: Also, was man implementieren möchte, kann da gerne, dass den Haßenbau runtergehen, ebenso 180 verlinkt man natürlich auch in den schonen uns. [SPEAKER_01]: Und ganz wichtig, noch mal vielleicht eben Multitallent anwendung heißt nicht, dass alles jede komponente komplett geschert ist. [SPEAKER_01]: So, dann ich kann das wirklich beliebig teilen.
[SPEAKER_01]: Ich kann mir ... [SPEAKER_01]: den Comput-Layer-Teilen, die Datenbank nicht, ich kann mir den Message, also wenn wir jetzt ein Kafka-Klasse haben, dann kann ich den Teilen im Kafka-Klasse, können ich dann entscheiden, möchte ich einen Top-Big-Teilen oder einen Top-Big-Protennen, das heißt, ich kann diese Modelle, diese Isolation und dieser Partischen beliebig pro Komponente entscheiden, wo das Sinn macht.
[SPEAKER_01]: Also, das ist noch mal ein ganz wichtiger Punkt, gerade wenn wir sagen, okay, wir möchten vielleicht die [SPEAKER_01]: Database Records, das soll alles geschehrt werden, aber die Files möchten wir mit einem eigenen Kriptgenki pro Kunde separat ablegen, dann kann ich das trotzdem bei der Hento. [SPEAKER_03]: Aber ich mein Duhase jetzt natürlich zwei Extremel beschrieben.
[SPEAKER_03]: Du hat es das eine Pool genannt, du hast ein Z von Infrastruktur in der Leste alle Leute drauf, neu sie Nebel und so weiter und so fort, das ist eine Extrem, das andere Extrem ist ja Silo, wo du ja [SPEAKER_03]: Ich sag mal, jeder Tellen kriegt ein eigenes Setup in der Cloud.
¶ Multi-Mandanten-Architekturen: Pool, Silo und Zellen
[SPEAKER_03]: Alles gut. [SPEAKER_03]: Und aus der Politik lernt man. [SPEAKER_03]: Also extrem sind immer ein bisschen schwierig. [SPEAKER_03]: Ja, wichtig. [SPEAKER_03]: Wie sieht's denn in der Praxis bei Multitames? [SPEAKER_03]: Die Planet Modellen aus. [SPEAKER_03]: Gibt's da auch einen Mittellweg? [SPEAKER_03]: Gibt's da die SPD und CDU der Multitipromenz? [SPEAKER_02]: Wie finde ich die Balance zwischen dem? [SPEAKER_02]: Ich habe beiden extrem.
[SPEAKER_02]: Also wie finde ich diese Mitte? [SPEAKER_02]: Oder was ist für mich die beste Mitte? [SPEAKER_01]: Ja, also es ist wirklich tatsächlich eine Komponentenentscheidung, ja, das hatte ich hatte das vorher kurz schon umrissen bekündet und pro Komponente entscheiden, wie wir das machen wollen. [SPEAKER_01]: Ja, das heißt, wie gesagt, ich kann sagen, wir machen den Computlayer, wo unsere Anwendungs in Stansläuft, den Share ich komplett, er da kommen einfach alle drauf.
[SPEAKER_01]: Dann habe ich aber vielleicht... [SPEAKER_01]: Bestimmte Requirements auf der Datenbank, oder eben für den Files, wo ich sage, da möchte vielleicht die Kunden ihren eigenen encryption-Kie mitbringen, dass ihre Files, der die ziert nur für sie in dem Back-It-So, zum Beispiel verschlüsselt sind, dann mache ich da die Entscheidung, okay, hier mache ich Seilow.
[SPEAKER_01]: Dann haben wir aber vielleicht noch nur Komponent und unserem System, ich habe das Kafka-Klasse angesprochen, ne? [SPEAKER_01]: Wenn wir das jetzt superfällen, sie design haben und wir haben 3 Not Kafka-Klasse, [SPEAKER_01]: dann wird es relativ teuer und ich jetzt jem Kunden in eigenes Kafka-Cluster-Hinsteller.
[SPEAKER_01]: Das heißt das mal normalerweise teilt man das nicht so grob Granola, aber dann kann ich entscheiden, okay innerhalb des Kafka-Clusters möchte ich jetzt wie gesagt ein Toppick-Prokunde haben oder würde meinen Juskes das erlauben, das ist zum Beispiel Schere. [SPEAKER_01]: Also, dass man guckt sich wirklich komponente für komponente An und sagt, welches Partischen bzw. [SPEAKER_01]: Isolationsmodell möchten wir haben.
[SPEAKER_01]: Und da macht man einfach diese Trader Offentscheidung, die wir jetzt gerade besprochen haben, wo sind Neuesinabers mehr relevant, wo nicht, wo sind die Isolationsmechanismen bessere, ja je nachdem bliegt rüber, ich das Modellwehle. [SPEAKER_01]: Und ja, was sind die, genau die operativen Aspekte, davon und halt dann auch die Kosten Aspekte, also man kann es wirklich pro Komponente dann entscheiden.
[SPEAKER_02]: Danach da ist natürlich das, wenn ihr jetzt irgendwo splitte und teile, dass ich den den Ziel natürlich mehr Ressusend verbrauche. [SPEAKER_02]: Mehr Kosten und die will ja das eigentlich optimieren. [SPEAKER_02]: Das heißt, die will ja möglichst meine Ressourcen in irgendeinem Bereich möglichst ausnutzen. [SPEAKER_02]: So, dass sie meinen Kunden möglichst gut des Servicebete, aber immerhin meine Ressourcen auch noch so ausnutze, dass das möglichst optimiert ist.
[SPEAKER_02]: Und wenn jetzt kein Server, let's have, wo das vielleicht und anfangszeichen automatisch im Hintergrund irgendwie optimiert wird, sondern ich selber optimieren will, wie mache denn dann die Aufteilung, wie gerade wenn so neu sie neighbor zum Beispiel geht. [SPEAKER_02]: Neu sie neighbor.
[SPEAKER_02]: Ihr habt irgendeinen Kleinen der verrückt spielt oder wir hatten gerade kurzlichen der Episode die Dosadakten einen Kleint einen Tenant wird jetzt angegriffen mit einer die Dosadakke wie stell ich sicher dass das jetzt nicht alle meine Tenents trifft also meine ganzen 100 Kunden oder 1.000 Kunden eine 1-Kunde verrückt spielt [SPEAKER_01]: oder können wir gerne über diesen Blastradius effekt können wir gerne sprechen.
[SPEAKER_01]: Also du hast natürlich vorkommen recht, da sorgen wir noch wenn ich jetzt, wir haben gesagt da vor das extrem bei Spiele alles ist komplett geschärt und wir haben jetzt 1000 Kunden zum Beispiel drauf oder sagen wir 10.000, sagen wir mal, zuerst mal, dass wir schuld sind, also es gibt jetzt noch kein neue Sinäpa, aber sagen wir wir sind schuld, wir haben praktikante eingestellt und da hat jetzt die Datenbank irgendwie gelöscht, dann sind jetzt die Zubi aus ist damals
[SPEAKER_02]: oder nicht. [SPEAKER_01]: Ich kann es auch selber gewesen sein, in unserem Start-up. [SPEAKER_01]: Ich habe jetzt die Datenbank gelöscht. [SPEAKER_01]: Dann ist es natürlich blöd. [SPEAKER_01]: Weil dann haben wir 10.000 Kunden, also 100% unsere Kunden sind quasi betroffen. [SPEAKER_01]: Also das hatte auch noch nichts damit zu tun, dass die Anwendung nicht resilient Designdworte.
[SPEAKER_01]: Also wir haben vielleicht schon den Kubernetes-Crastal, wir haben das hochred und dann verfügter, wir haben Primary Secondary, wir haben das alles berücksichtigt, aber es gibt immer an någon Annons. [SPEAKER_01]: Es kann immer mal was passieren und irgendwie würde die Kunde komponenten infekte. [SPEAKER_01]: Wir haben zwar alles getestet, aber das wird einfach mal passieren, dass irgendwas nicht gehen.
[SPEAKER_01]: Und wenn dann 100% unserer Tannens effekte sind, ist es eine natürlichen Problem. [SPEAKER_01]: Wenn das dann 50.000 zähnen, dann ist das noch viel größeres Problem. [SPEAKER_01]: Das heißt, eine Variante, wie das funktioniert und ganz moderne Beispiel ist, das selbe ist Architektions. [SPEAKER_01]: Das heißt, was wir tun können, ist an statt 100 Prozent unserer Kunden auf unsere Anwendungstanz zu lassen. [SPEAKER_01]: erstellen wir zählen.
[SPEAKER_01]: Das heißt, wir sagen, zähle eins ist wirklich komplett isoliert ist die Pläumen mit unseren Bäckern mit unserer Datenbank, aber da kommen jetzt 5.000 Kunden drauf und wir haben zähle zwei, da kommen die anderen 5.000 Kunden drauf. [SPEAKER_01]: Und jetzt, also angenommen, ich würde jetzt die Produktion database löschen, dann sage ich mal eine Zähle, dann sind nur noch 50 % unserer Kunden betroffen.
[SPEAKER_01]: Das heißt, ich fange eigentlich [SPEAKER_01]: Ab irgendwann erreichen wir ein Punkt, da kann ich es mir nicht leisten, dass ein Konfigurationsfälle 100 Prozent unserer Tendenz auf eine Seistig fangen an, das in Baggetz aufzuteilen. [SPEAKER_01]: Und das können Baggetz sein, die kann ich jetzt beliebig, da kann man gleich darüber reden, was ist eine gute Zellengröße, wie groß soll das sein.
[SPEAKER_01]: Manchmal hat man das, kennt ihr vielleicht ganz natürlich, das man sagt, ich habe [SPEAKER_01]: Klasse oder eine Instanz für alle Kunden in USA und ich habe ein Klasse für die in die EU, das läuft irgendwie in Frankfurt und das andere in Asien, das heißt ja habe ich schon natürlich getrennte Bereiche oder zellen, dass wenn was in Asien passiert, dann sind normalerweise die Nordamerikanischen Kunden und die europäischen nicht betroffen.
[SPEAKER_01]: Aber ich kann das natürlich logisch auch innerhalb einer Region weiter weiter aufbauen.
[SPEAKER_03]: die bei langs zu finden, wo man welchen Kunden jetzt hinpacken, welche Zelle ist natürlich schon echt tricky, wenn du es jetzt nicht geografisch machst, sondern ich sag mal nach Registrierungstatt, die ersten 5.000 dahin und dann noch so eine zweite Zelle auf und du wechselst mit deinem Star wie wir wachsen, wir wachsen und wir haben jetzt 10.000 Kunden ab dem 10.000 ersten Kunden machen wir einen 30.000 auf, dann hast du ja irgendwie dieses, wo ich glaube, es war das Redel
[SPEAKER_03]: die, dass du ein Kunden hast, der so viel Rechnungen schreibt, bei uns jetzt, ja, so viel Last macht, dass er einfach die usage, ich sag mal, explodieren, lässt ihm vergleichen zu den anderen, dass du 49.9.9 schlafen eine Kunden hast und ein, der es Power User. [SPEAKER_03]: Also du hast so eine imbalangst hast in diesen Zellen, was ist, wenn ich aus den 5.000 Kunden vielleicht 2.5.000 Power User hab, dann ist diese Zelle natürlich dauerhaft unter Strom.
[SPEAKER_03]: Und mit Neuzy neighbor und so weiter, weil das Neuzy näser Problem hat sie ja bei den 5.000 Kunden ja immer noch. [SPEAKER_01]: Das ist immer noch da, genau. [SPEAKER_01]: Da können wir dann noch drauf eingehen, wie wir das lösen können, aber zu deiner Frage jetzt. [SPEAKER_01]: Ein wichtiger Aspekt ist ja auch also Selma-Gration-Stand, ne? [SPEAKER_01]: Also ich brauche die Flexibilität, dass ich Kunden zwischen Zellen verschieben kann zum Beispiel.
[SPEAKER_01]: Das ist nämlich genau mein nächster Punkt gewesen. [SPEAKER_01]: Wie sagst du okay der Kunden so groß geworden? [SPEAKER_01]: Ich minke hier den Weg. [SPEAKER_01]: Der kriegt dann eigene Zelle? [SPEAKER_01]: Genau, richtig. [SPEAKER_01]: Und was gerade auch ein ganz wichtigen Punkt angesprochen? [SPEAKER_01]: Multimandan und der Zahlzanger. [SPEAKER_01]: Man dem Fall auch dieses Zellenbasierte Design. [SPEAKER_01]: Schreibt mir nicht vor, wie viele jetzt unbedingt in einer Zelle.
[SPEAKER_01]: Das sei ich mal sagen. [SPEAKER_01]: Es könnte ja theoretisch für diesen super heavy hitter. [SPEAKER_01]: Ja, könnte ich ja theoretisch auch quasi eine eigene Zelle dann zur Verfügung stellen. [SPEAKER_01]: Also wir ist dann wichtig, wie du gesagt hast, wenn die komplett unterschiedlich ausgelastet sind, könnte ich dann im Prinzip die Tennis zwischen diesen Zellen, sage ich mal, migrieren.
[SPEAKER_01]: Und wichtiger Aspekt dieser Zellen ist zum Beispiel, dass sie eine maximale Größe haben. [SPEAKER_01]: Ja, also in der maximale Größe wie, wie es eigentlich mal von der Notzeis zum Beispiel sein soll. [SPEAKER_01]: Und das gibt uns jetzt ein sehr großen Vorteile, kennt das wahrscheinlich. [SPEAKER_01]: Man sagt immer, das Devsystem, da kann ich jetzt nicht so gut testen, weil Protat jetzt viel mehr Daten zum Beispiel.
[SPEAKER_01]: Also das ist überhaupt nicht der gleiche Stande, ich kann es überhaupt nicht replizieren. [SPEAKER_01]: Wenn ich aber sage, eine Zelle geht nicht über eine bestimmte Größe hinaus. [SPEAKER_01]: Und das kann gerade für den Testleiffseikel sehr und für sei ich mal scenarion auszuprobieren, sehr hilfreich sein.
[SPEAKER_01]: Und ein anderes Beck, der mir jetzt vielleicht noch gar nicht eingebaut haben, vielleicht mal vorher quasi auch, das jetzt auch jetzt auch hat noch nicht so viel, denn wir mit den Zellen direkt zu tun ist, dass es ja üblicherweise auch T-Ring gibt, nur bei Software-Service-Anwendung, das heißt. [SPEAKER_01]: Es kann im Basic Tier geben, wo alle Tellen sich z.B. [SPEAKER_01]: was scheren. [SPEAKER_01]: Und dann gibt es auch noch ein Premium Tier zum Beispiel.
[SPEAKER_01]: Und dann kann es auch ein Enterprise-Tier geben, wo dann vielleicht wirklich dieser Enterprise-Kunde sein komplett eigenen separaten Steck z.B. [SPEAKER_01]: bekommt. [SPEAKER_01]: Aber er bezahlt auch dafür. [SPEAKER_01]: Also er bezahlt dadurch auch mehr, dass wir für den den separaten Steck deployen. [SPEAKER_01]: Aber die Multitänetanwendung macht es erst mal überhaupt möglich, dass wir das können.
[SPEAKER_01]: Weil ich habe das in dem Vortrag, die nur am Anfang angesprochen hast, so sage ich mal definiert mit Multitänenzystems, aber bei der Single-Tänenzsystems, weil ich gesagt habe, wenn ich im Multitänenzsystem nur für ein Kunden deployer, habe ich zwar diese ... [SPEAKER_01]: Singleton in Semantics, also ich habe quasi keine neue Nafers, es ist eigenständig für diesen Kunden.
[SPEAKER_01]: Ja, aber kann aber trotzdem entscheiden, dass sich die Multitannent Variante in der zweiten Instanz dann nur für die Basik Kunden und die Scheren sich dann alles zur Verfügung stärker.
[SPEAKER_01]: hat dann auch auf dieses teering unterschiedliche Preissinkomtern in Zubehörn jetzt eben sagst, wir haben diesen super großen Kunden, der alles irgendwie super viele Request, sondern normalerweise handhaben wir den auch anders wie die anderen und würden den jetzt nicht unbedingt in die gleiche Zelle mit den 10.000 Startup Kunden irgendwie reinlegen, um den Link zur Zelle wieder zurückzumachen.
[SPEAKER_03]: Aber dieses Zellbasierte System, erlaubt uns ja eigentlich auch an den Genommen, wir haben jetzt die Kunden nach Premium und Fritier unterschieden, alle Fritier Leute kommen auf einen, in eine Zelle Premium oder Rüben, da sich Konfigationsänderungen her erst mal nur auf dem Fritier testen. [SPEAKER_03]: Aber wenn die mehr weg grennen, dann ist es jetzt nicht so schlimm, wie als wenn der Premium und Kunde mehr weg grennt oder, also ich kann mal böse gedacht.
[SPEAKER_01]: Ja genau, also das ist, man kann es noch eine Stufe vorher machen, also was ich auch sehe, ist zum Beispiel, wenn man sagt, ich dir ohne Dorkfut, das heißt, wenn wir jetzt ein Genie im Kier es gesehen, wir können ja selber ein Genie im Kier es auch verwenden und dann hat man üblicherweise eine Zelle,
[SPEAKER_01]: Wohl nur quasi unsere Version, der Software, unsere eigene Instanz drin sind und dann kann ich mal erst mal alles erst mal zu unserer Instanz ausrollen oder sagen wir mal zu dem Kunden, die uns besonders gut gesinnt sind oder die irgendwie ein Beta-Ecrimin mit uns haben, letzt sie immer die Experimentellen Version bekommen, dann kann ich das erst mal dahin ausrollen. [SPEAKER_01]: Das sind ganz wichtiger Aspekt dieses Rollout in Waves.
[SPEAKER_01]: dann erst mal zu den amerikanischen Zelle, dann zu europäischen Zelle. [SPEAKER_01]: Ja und erst dann im Prinzip fange ich an, dass über alle Zellen auszunehmen. [SPEAKER_01]: Das heißt, ich habe einen viel kontrolliertere Soloaute von Änderungen. [SPEAKER_01]: Ich werd quasi immer größer an je nachdem, wenn eine Zelle vorbei ist. [SPEAKER_01]: größere Kontrolle über mein Rollout. [SPEAKER_01]: Das ist ein weiterer Vorteil, warum zählen ein ganz tolles Konzept eigentlich sind.
[SPEAKER_02]: Ich bin jetzt da, da älteste, da in der Runde und ich habe in den 90er Jahren auch so diese ganze Skalierungswelle so mitbekommen. [SPEAKER_02]: Und da war das damals, [SPEAKER_02]: Eigentlich so die einzige Möglichkeit, wie man es kallieren konnte, man hat halt einen zweiten Server aufgestellt, die erelfte der Kunden auf der ersten Server, die andere hilft, die auf den zweiten.
[SPEAKER_02]: Und dann kam ja irgendwie so die Cloud und die ganzen Klasse Lösungen und die hat den eine Klasse Datenbank, das heißt, die hat den nur mehr eine Datenbank und konnte da alle meine Kunden reinschmeißen.
[SPEAKER_02]: Was ihr du jetzt eigentlich sagst, mit dem ganzen Ansatz ist ja schon eher, dass man wieder zurück [SPEAKER_02]: In diese Oltskulskollierung geht, wo die mal sagen, bei man da extrem viele Vorteile daraus ziehen kann, also bessere Stebleument, fein kranulare Rollouts, dass sie in kleineren Blast Radius haben und so weiter.
[SPEAKER_02]: Also das, meine Skollierung vielleicht über die klassische Klasse Variante und alles in einen großen Klasse, gar nicht unbedingt die beste Variante ist, wenn ich dich richtig verstehe. [SPEAKER_01]: Das kann man natürlich diskutieren, aber irgendwie reden immer noch von sehr, sehr großen Klastern innerhalb einer zählen normalerweise, würde ich sagen.
[SPEAKER_01]: Also, das heißt, ich kann ganz viele dieser Benefits mitnehmen, resource sharing, cluster redundancy und so weiter, aber irgendwann hab ich halt einfach diesem Punkt erreicht. [SPEAKER_01]: Wie gesagt, wir haben selbst, wenn wir redundancy im Kubernetes-Cluster habt, wenn ich ein upgrade von dem Klusterplag in mache und das geht nicht, dann sind, ist das ganze Kluster einfach effektet.
[SPEAKER_01]: Das heißt, [SPEAKER_01]: Es hat schon ein Trader, ich bekomme zwar, ich musste mir zwar sie noch mal ein zweites Klasse hinstellen, das heißt man Operational Aufwand erhöht sich meine Komplexitäts erhöht sich, aber ich kriege da durch die Sicherheit und einen kleineren Blast-Trader. [SPEAKER_01]: Das ist am Ende des Tages wieder eine Abwägung zwischen diesem Punkt.
[SPEAKER_01]: Ja, aber die anderen Konzepte, die du erwähnt hast, sind innerhalb einer Zelle dadurch nicht irrelevant, da die sind trotzdem noch fundamental wichtig. [SPEAKER_02]: Natürlich, aber wenn du jetzt sagst du, du könntest in einerzielle, hast du, wenn du jetzt im Datenbank schon komplett, du hast einen Primary Server Note, wie du soch immer sagst und einen Secondary, der gespielt ist. [SPEAKER_02]: Und das parallel in mehreren Zellen nehmen an ander.
[SPEAKER_02]: Das ist natürlich eine einfache Art dann zu skolieren, als du kommst mit einem Riesendatenbank [SPEAKER_02]: der mehr Master nicht mehr sagen sollte, egal. [SPEAKER_02]: Ihr wisst, was ich meine, der viel komplexer zu handeln ist. [SPEAKER_02]: Das heißt, ich kann da natürlich auch die Komplexität reduzieren, natürlich haben die automatisierung, die noch mit Spillmus, aber die haben vielleicht so wie so.
[SPEAKER_02]: und kann dadurch die Komplexität auf der Datenbank über eine Reduzienfleckzucker mehr Performance rausholen, weil das eine klassische Primary-Secondary Infrastruktur ist, die wahrscheinlich schneller ist, also ein Multimaster Setup und kann daher also diese klassisches Kalierungsaut oder diese [SPEAKER_02]: Ihr wird mal sagen, wo viele vielleicht heute da gesagt werden, das ist doch Holzkuhl, irgendwie das zu trennen, nach deinen Kunden und dann hast du die Komplexität.
[SPEAKER_02]: Und es macht doch halt so da keiner mehr, wo wir die coolen, großen Cluster Systeme haben. [SPEAKER_02]: Wie gesagt, dass das alte wieder vielleicht auch mehr Wert hat und in Kombination mit der neuen Technologien durchaus immer noch Sinn macht, wo die man sagen. [SPEAKER_01]: Ja, es macht auf jeden Fall noch, mach Sinn in dem Bereich auf jeden Fall.
[SPEAKER_01]: Weil gerade eben, wir hatten ja gerade dieses angesprochen dieses, sagen wir mal, wenn man es zuspitzen, einen Limitit großer Klass, das heißt, wie will ich das testen? [SPEAKER_01]: Ja, das heißt, ich hab ja immer zwischen meiner Defin-Beiratment oder irgendwo im anderen Empirement, wo ich vielleicht was testen möchte. [SPEAKER_01]: Hab ich ja immer eine riesen Diskrepanz, wenn ich quasi eine ... [SPEAKER_01]: Anwendung beliebig wachsen lassen, alle unendlich wachsen lassen.
[SPEAKER_01]: Und dadurch finde ich, da finde ich dieses Zellen, die sein, dann wieder eben interessant oder auch elegant, dass ich sagen will, ich kann gar nicht größere Klasse, wie Punkt X haben. [SPEAKER_01]: Dieser Punkt X ist aber erst natürlich wichtig rauszuführen. [SPEAKER_01]: Also wie groß möchte ich das Klasse wachsen lassen, wie sage hier es Schluss, jetzt habe ich eine neue Zellen. [SPEAKER_01]: Aber ich gewine, wie das sagt, es wird auch einfacher dadurch.
[SPEAKER_01]: Ich kann das besser testen und zwar, ich kann ein besserer Rollout machen, also, ja, für den Fall. [SPEAKER_03]: Ich möchte dich der ganz kurz daran erinnern, du bist unser Tech-Lied. [SPEAKER_03]: Wenn du sagst, du bist der älteste, den heißt das nicht, dass das negativ ist, sondern du hast die Meister Erfahrung. [SPEAKER_03]: Ich möchte das als CEO nur noch mal sagen, dass das hier... Ja, das ist schöne Worte vom CEO.
[SPEAKER_03]: Jetzt ist es natürlich so, du verkaufst jetzt hier die Zellbeistarchitektja als geschnitten wurde. [SPEAKER_03]: Ist das super safer? [SPEAKER_03]: Wir haben aber auch schon gesagt, das brauchen enorm viel Tooling. [SPEAKER_03]: Du musst hier sehr viel Gedanken machen über die Trade-Offs vorher operational, weil eine Instanz von Engineering-Inverse zu betreiben ist einfacher, weil wir ja, das ist eine komplexe Microsoft ist eigentlich taktur, dass unser Tech leader gebaut hat.
[SPEAKER_03]: Und dann der wahrscheinlich noch auf Node.js und JavaScript, deswegen brauchen wir sehr viel Ressourcen. [SPEAKER_03]: Auf jeden Fall, frage ich mich halt gerade so, was gibt es denn für Situationen in den nicht der Aufwand, für das Multitänet zertab überhaupt nicht lohnt, für uns als Engineering in Voice? [SPEAKER_03]: Wir brauchen Tooling und Kunden um zu ziehen. [SPEAKER_03]: Wir müssen mehrere Klasse upgraded.
[SPEAKER_03]: Natürlich haben wir die Pläumen fortheidung und Blastradius und also was. [SPEAKER_03]: Aber geschennt Brot wird nicht sein. [SPEAKER_03]: Von heute, ja, sonst wäre ja jedes System von Haus aus ein Multitännis System.
¶ Ab wann lohnt sich der Aufwand für eine Multi-Mandanten-Architekturen nicht?
[SPEAKER_02]: Ja, die klassische Antwort, die jetzt von Max-Kommen muss. [SPEAKER_02]: Es ist nur ein Problem, wenn du nicht bei AWS bist. [SPEAKER_02]: Weil bei AWS bekommst du es natürlich alles automatisch auf dem Box, das ist ganz zu tun. [SPEAKER_01]: Es ist natürlich ein Tooling und Automatisierungsaufwand. [SPEAKER_01]: Ich möchte jetzt nochmal die Funktionen, das jetzt gesagt, Multitannend. [SPEAKER_01]: Es ist jetzt nicht gleich zu setzen, wie mit Multicelle Architektoren, in dem Fall.
[SPEAKER_01]: Also, wenn ich die Frage richtig verstehe, ging es jetzt eher in die Multicelle Richtung, oder? [SPEAKER_03]: Ich hatte sie eigentlich gedacht, in ihr Multitannend, oder, wooll? [SPEAKER_03]: Du sucht es zwar Multitannensysteme, sind bessere Single-Tannensysteme, weil der Satz, da bin ich den mag ich sehr a diesen Leit. [SPEAKER_03]: Ich bin aber auch einen sehr simplifizierter Mensch in der Hinsicht.
[SPEAKER_03]: Von daher, also prinzipiell war die Idee eigentlich nur, wann lohnt sich der Aufwand nicht diese Multitennend, eigentlich der Tour Multitennend Systematik zu implementieren. [SPEAKER_03]: Aber ich mag da eine Frage auch, wann sich die Multicell-Estektur eigentlich gar nicht lohnt. [SPEAKER_03]: Ja, das ist auch eine sehr interessante Frage, vielleicht starten wir damit genau.
[SPEAKER_01]: Also, die selbe ist halt wirklich wenn, also das betrifft dann schon ein Skalierung, wo wir wirklich von 10.000 Leuten oder 10.000 Leuten, 10.000 Kunden, jetzt sag ich mal, oder aufwärts, es ist ja nicht mehr sprechen, aber muss nicht unbedingt an der Nummer oder Anzahl der Kunden liegen, sondern es geht darum, wann wird das ein Problem behandelt, wird das vielleicht auch ein SLH Problem?
[SPEAKER_01]: Also wir geben ja als Service vielleicht auch eine gewisse, sage ich mal Richtlinie, wie garantieren wenn unser Service, sage ich mal, wie hoch er verfügbar sein muss. [SPEAKER_01]: Und wenn wir jetzt jede Woche irgendwie in den Innen in der Brot debut haben und das betrifft alle Kunden auf einmal, dann habe ich ja im Prinzip auch ein Problem, meine SLAs einzuhalten. [SPEAKER_01]: Also das, was ich quasi den Kunden auch verspreche, die Abteim der Software anzuweiter.
[SPEAKER_01]: So, das heißt, ich würde immer simpel anfangen. [SPEAKER_01]: Man kann ja theoretisch mit einer Deine, sage ich mal die Anwendung, die jetzt noch keine Zelle hat, das kann ja deines Sell Zero sein oder deines Sell 1 später mal.
[SPEAKER_01]: Ja, das heißt, du kannst dich ja schon mal vorbereiten, du kannst ganz normal ein Kluster so wie es gebaut am komplett geschärt, alles bauen und du hast sehr vorher, dann weil es noch nicht zu übergesprochen, ich muss ja irgendwo entscheiden auf welche Zelle, welche Erkunde gerautet wird und ich kann ganz simplen vorne, das kann ich ja von CD End teilweise schon machen, das ich sage, hier sage ich dieser Tenent kommt auf dieses Kluster und das kann, das kann die ersten zwei Jahre für Engineering, wo es so wir wachsen, das kann drei Jahre, vier
[SPEAKER_01]: Die ganze Zeit dieses eine Koster bleiben, aber wenn wir irgendwann merken, oh das könnte im Problem werden, fahren wir in zweiten Koster hoch und fangen an dem Routing-Lehr dann an, die neuen Kunden zum Beispiel umzuneiten.
[SPEAKER_01]: Das heißt, es ist immer so, mit dem einfachsten wie möglich anfangen, also auch noch mal vorher zu dieser Pool, wöses Seilofragene, fangen mit Pool an, wenn du denkst, das funktioniert, aber halt die Flexibilität offen, das wenn sich deine Anforderungen ändern, du einfach flexibel bleibt.
[SPEAKER_01]: Und deswegen meint ich mit dem Multitannensystemsabteil der Singleton-System mit dem Multitannensystem bin ich flexibel, dass ich irgendwann diese Multitannent-Instanz separat für ein einzelnen Kunden zu Verfügung stellen. [SPEAKER_01]: Das habe ich im traditionellen Singleton in die Seinigkeit. [SPEAKER_01]: Da habe ich keine später nicht entscheiden, oh jetzt hätte ich aber gerne das 2 Kunden auf die Seinstanz zugreifen. [SPEAKER_01]: Das habe ich nicht.
[SPEAKER_01]: Das heißt, ich habe einfach mit der Multitannent habe ich mehr Optionen. [SPEAKER_01]: Und das meint ich mit bedder, in diesem direkten Vergleich. [SPEAKER_01]: Max, erinnere mich bitte noch mal. [SPEAKER_03]: Was warst du noch mal im Engineering In-Voice? [SPEAKER_03]: Ich habe irgendwas mit Cloud gemacht. [SPEAKER_03]: Ah, genau, du hast auch mal geklaut gemacht. [SPEAKER_03]: Du bist der Inferstrucktour Mensch. [SPEAKER_03]: Genau, das war das. [SPEAKER_03]: Vor allem amassen.
[SPEAKER_03]: Ich als CEO, ich habe dir sehr gerne zugehört, also gerade eine pränig gehalten hast. [SPEAKER_03]: Wir starten erst mal Sympel. [SPEAKER_03]: Weil Sympel heißt für mich immer bekommen schnell an den Markt. [SPEAKER_03]: Ja, wir kriegen schnell also wenig Aufwand für Return. [SPEAKER_03]: Und dann hast du was gesagt, dass das haben meine CEO und nicht ganz verstanden.
[SPEAKER_03]: dass wir irgendwie ganz viel investieren müssen, weil wir irgendwie eine Grundarchitektur unten drunter abändern müssen. [SPEAKER_03]: Kannst du mir das noch mal... Kannst du dich vielleicht mal mit dem Tech-Lied austauschen, wie ihr als Techies mir diese ganzen komplexen thematiken, wie man da drunter weskalieren nicht mehr. [SPEAKER_03]: Das will ich alles gar nicht hör. [SPEAKER_03]: Wie macht ihr mir das Schmack auf als meine Schmack?
[SPEAKER_03]: Weil ihr müsst ja jetzt alle Projekte. [SPEAKER_03]: die ich in meinem Kopf bereits habe. [SPEAKER_03]: Wir müssen mal jetzt an Holten legen, weil ihr jetzt von einer Pool basierten, zu einer Zählbasierten Struktur und ihr müssen neue Tenenz aufsetzen und neue Infrastruktur leitiert, mir nicht selbst von Irgendwas von Serverless und so ich möchte es alles gar nicht hören. [SPEAKER_03]: Ich möchte ein Time to Market und mehr Kasten machen.
[SPEAKER_03]: So, wie verkauft mir, dass wir viel Sinn ganz simpel gestartet, habt ihr euch nicht ordentlich gemacht? [SPEAKER_03]: Oder wie darf ich das jetzt verstehen? [SPEAKER_02]: Da merkt man wieder, dass das CEO einfach nicht zugehört hat, weil wir haben das ja in die Zahl schon mitgeplant, natürlich.
[SPEAKER_02]: Also wir hatten das hier am Anfang drum haben wir da, obwohl wir nur einen Not haben, haben wir schon Lodballenze der Vorgesetzt, weil der sowieso bracht sowieso eine, es ist älter Minierung, dann haben wir in den Proxie und jetzt können wir ganz einfach hinten, weil wir schon ein NCB-Script haben, können wir einfach eine zweite Infrahochver. [SPEAKER_03]: Wofür, es ist wie immer. [SPEAKER_03]: Ich höre euch, ich verstehe euch aber nicht.
[SPEAKER_03]: Ganz im Herz. [SPEAKER_03]: Welche Tipps würdest du denn Leuten, wie dir als Cloud-Engineer und den Wolfken als Tech-Liet geben?
[SPEAKER_03]: Damit die Ihrem vorgesetzen, Ihrem Engineering Manager, Ihrer Direktorin, Ihrer CEO, wirklich, ich sag mal, erklären können, okay, diese initiale Architektur, die wir gebaut haben, die reicht nicht mehr, Blastware, die ist in allen Tumotern, weil diese ganzen Überlegungen und ganzen Fragen, die du aufgeworfen hast, du renntst auf einen Tür bei mir ein. [SPEAKER_03]: würde ich gerne umarmen für diese Reliability frag.
[SPEAKER_03]: Aber oft in höheren Management ebennen, die wollen halt zahlen nach oben sehen und grafen nach oben gehen. [SPEAKER_03]: Und in der Regel geht das Geld grafen und nicht realaie Bildeltie grafen. [SPEAKER_01]: Ja, das stimmt, weil ich denke, meistens ist es ja schon dann auch für den CEO ein Problem, wenn er merkt, dass die ganze Anwendung für die 50.000 Kunden auf einmal nicht mehr geht.
[SPEAKER_01]: Also ich denke, dadurch kriegt das schon auch einen gewissen, sage ich mal, leer auf Ölgen-C, warum man sich dann noch mal auf Infrastruktur damit beschäftigen sollte, die Blastradios zu minimieren. [SPEAKER_01]: Wie gesagt, es ist eine schlechte Kastermer Experience. [SPEAKER_01]: Wenn auf einmal wir machen einen Fehler, wir haben irgendwie neue Entwickler geunbordet, irgendwie wir haben wir einen Konfigurationsfehler und jetzt sind 100% unser ganzes Unternehmen ist da.
[SPEAKER_01]: Also es kann diffakt und nicht mehr verwendet werden. [SPEAKER_01]: Und dann ist es glaube ich schon auch ein Problem aus der Produktseite. [SPEAKER_01]: dass wir uns da hingegen halt absichern. [SPEAKER_01]: Und eine Sache, dass es nur eine Variante, wie sich abgesichert werden kann, für Fehler, die wir jetzt z.B. [SPEAKER_01]: machen, sind eben diese Zellen. [SPEAKER_01]: Aber wie gesagt, wir können simple anfangen. [SPEAKER_01]: Wir müssen nur.
[SPEAKER_01]: Und das ist eben quasi auch, zeichmal mein Radschlagernien, versuchen so flexibel, wie möglich zu bleiben. [SPEAKER_01]: Ja, und keine, wir sagen halt bei Amazon sagen wir One Way Door decisions, das heißt, wenn wir die entscheidende getroffen haben, können wir später nichts mehr dran ändern oder haben wir eine Two Way Door. [SPEAKER_01]: Also wir haben eine Lösung geschaffen, wo wir später flexibel auf unseren neuen Markt, neue Kunden zum Beispiel reagieren können.
[SPEAKER_01]: Und das ist einfach wichtig, generell bei Softwareates hat gar nichts mit Multitannent oder Zellen oder sonstiges zu tun. [SPEAKER_01]: Es geht immer darum, zu versuchen, mir möglichst viele Optionen offen zu halten. [SPEAKER_01]: Aber da zimpe, fangen mit dem einfachsten, versuche ich mal an, aber vergiss nicht die Flexibilität. [SPEAKER_01]: Ja, dies, dies wichtig. [SPEAKER_01]: Willst du die Episoden-Werbung machen oder?
[SPEAKER_02]: Ja, ich habe nicht alle unsere Episoden auswendigen Kopf, was es für Nummer war, die Entscheidungs-Episode. [SPEAKER_02]: Beist du es auswendig? [SPEAKER_03]: Ich habe gerade nachgehobt. [SPEAKER_03]: Ich habe so eine 26, haben wir ganz genau über diese One-Way-Dore-Tool-Aidore, das ist unter anderem auch gesprochen und ich finde es sehr schön, weil der Wolfgang und ich wir haben beide nicht verhomersung gearbeitet.
[SPEAKER_03]: Und wir hatten auch den Shareholder Litter von Jeff Bezos damals, als WootCourse für diese Sache ausgeholt. [SPEAKER_03]: Und ich finde das sehr schön, dass das jetzt eine Wieso man sagen, eine Bestätigung ist, dass das dann scheint doch anklang findet. [SPEAKER_02]: Jetzt hast du davon gesprochen, dem Blastradius. [SPEAKER_02]: zu reduzieren, damit da CEO oder an die glücklich ist, damit wir unsere SLS einhalten können.
[SPEAKER_02]: Aber das Problem hast du jetzt immer noch, wenn du 10.000 Mandanten auf in einer Zelle zum Beispiel hast, dann hast du ja immer noch das Problem, wenn einer verrückt spielt oder wenn es eine Diedosadache gibt, auf einen deiner Kunden, dass dir die ganze Zelle wegbricht oder deine ganzen 10.000 Kunden effektet sind.
[SPEAKER_02]: Also gibt es irgendwie eine Möglichkeit, da die SLAs auch Glück klickt zu stimmen und den Ande oder eben irgendwie ein Argument zu bringen, wie man das verbessern kann? [SPEAKER_02]: Ja, genau. [SPEAKER_01]: Da kommen wir jetzt immer auf dieses, was wir vorher immer schon mal ganz kurz angesprochen haben, auf dieses Neuesenäberprobleme.
[SPEAKER_01]: Also wenn einen Tenent jetzt irgendwie komplett durchdreht, uns mit Request überflote, die das Attacken sind natürlich auch, aber auch wenn einen Tenent irgendwie in spezifischen Request macht und das bei uns irgendeinen Backtriggert, ja, aber nur dieser Tenent wird [SPEAKER_01]: wie du sagst, die ganze Zelle oder wenn wir keine Zelle haben und so eine ganze Anwendung auch daumbringen.
[SPEAKER_01]: Und also ich meine relativ einfacher Ansatz, den ihr wahrscheinlich alle kennt, ist, dass es üblicherweise innerhalb eines Systemes, oder wenn ich Software benutze, frautling mich an Nismen gibt. [SPEAKER_01]: Also, dass ich sage, der Tannen kann nur X-Requests. [SPEAKER_01]: sage ich mal, wo ich nach Hause habe, ansonsten kriegt ein Fehler, er zu viele Requests. [SPEAKER_01]: Ja, das sind so traditionellen mich an Nismen.
[SPEAKER_01]: Oder man kennt das auch in Cloud- und Gebung zum Beispiel gibt es so Quotas. [SPEAKER_01]: dass ich sage, du kannst nicht mehr wie unserem Beispiel tausend Rechnungen pro Minute anlegen, ja. [SPEAKER_01]: Das ist einfach natürliches Limme. [SPEAKER_01]: Und so kann ich schon mal gewisse Szenarien abfangs zum Beispiel.
¶ Das Noisy-Neighbor-Problem
[SPEAKER_02]: Wo wird das Ganze dann implementiert? [SPEAKER_02]: Ehrlicherweise, also jetzt aufbar euch immer so ein Kentmeier, die Quote, das die man hat und Radlimme, die zum bei jeder API gibt, gibt's diese Dinge. [SPEAKER_02]: wo wird es am besten implementiert, weil umso weit dahinten im Steck, umso problematische ist es natürlich. [SPEAKER_02]: Also wie weit kann ich das Faune implementieren in irgendeinem eingehenden Proxy-Lodeballenzer?
[SPEAKER_01]: Ja, also du hast vollkommen recht am besten so weit vorne wie möglich. [SPEAKER_01]: Viel was halt bei Didos schon hilft ist schon so ein CDN zum Beispiel und ich kann auf dem CDN hatte, kann ich dann habe ich schon schon Didos Protektionen oder kann eben. [SPEAKER_01]: verschiedene Token-Backet Algorithmen haben um z.B. [SPEAKER_01]: Freutling-Khound im Bizumenteinen.
[SPEAKER_01]: Also, ihr früher desto besser damit diese Request gar nicht erst hinten mein Becket sozusagen träffend. [SPEAKER_01]: Das ist so eine ... [SPEAKER_01]: eine Variante. [SPEAKER_02]: Das heißt aber da ist die ganzen Statues oder Layers, der vorhin unten vor dem Tenant Award sein müssen, dass die Wissen des Isters selber Tenant und da kommen so einen so viele Request von diesem Tenant rein.
[SPEAKER_02]: Also es muss dann irgendwie über die Tokungs, oder wie auch immer müssen die Request klar zu ordnen, was sein zu einem Tenant damit die so was überhaupt entforsen kann. [SPEAKER_01]: Genau, das kann dann entweder im Token drin selber, denn diese Tendendite, die z.B. [SPEAKER_01]: sein oder ein bestimmter Heder z.B. [SPEAKER_01]: wird das identifizieren können, richtig. [SPEAKER_01]: Ja, also irgendwo muss ich diese Tendeninformationen haben.
[SPEAKER_01]: Genau, das ist jetzt so die, diese Basis, sage ich mal, Mechanismen, die ich verwenden kann. [SPEAKER_01]: Das ist zusätzlich, natürlich gibt es, angenommen wir haben jetzt eben unsere Anwendung besteht jetzt aus, sage ich mal, unsere ersten Server, die quasi getroffen werden würden, unsere erste Fleet, das sind jetzt sagen wir mal, sind einfach vier Server, also das sind jetzt am oder vier Anwendungsinstansen, die wir jetzt theoretisch haben.
[SPEAKER_01]: Was es dann natürlich gibt, ist so traditionelles Scharding, dass ich sagen kann. [SPEAKER_01]: Ich habe diese vier Sörfer, da mache ich mir zwei Scharze drauf, es gibt Sörfer 1 und 2, und dann gibt Sörfer 3 und 4. [SPEAKER_01]: Und ich erscheine dann den Kunden zu einem bestimmten Schard, also dass der [SPEAKER_01]: der Kunde 1 nur auf 1 und 2 drauf geht und der Kunde 2 nur auf 3 und 4.
[SPEAKER_01]: Das ist so traditionell ist schadig und somit selbst wenn du jetzt mit deinem Requesten Backtriggers und der Server 1 geht dann und dann machst du ein Retry und geht es auf deinen zweiten Server zu dem du zugefasst und fährst den auch noch runter her dann hast du nicht mehr 100% abgeräumt der sondern hast seit 50% also nur noch dein Schad im Prinzip abgeräumt. [SPEAKER_01]: Das ist so ganz einfaches Schadding, um das zu limitieren.
[SPEAKER_02]: Das heißt aber auch da ist es eigentlich wieder schlau, wenn man nicht die volle Flexibilität hat, was man so sagt, die hat einen Loadballenzer der alles überall hinschickt, um möglichst flexibel zu sein und wenn irgendwas zusammenbricht, dann schick ich es zum nächsten Note, weil wenn da ein Fehler geträgert wird, dann schick ich dir es halt zum ersten zum zweiten zum dritten zum vierten und dann ist alles dort.
[SPEAKER_02]: sondern dass sie da auch wirklich eine Hard-de-Zuhordnung zumindest zu einem Subset, meine Infos ganz genau. [SPEAKER_01]: Du hast ja gerade richtig beschrieben, aber wenn ein Rieck fest von diesem Kunden auf Server 1 geht und den runterfährt und dann mache ich Round-Robeln und bei nichts mehr zu über 2 und 3 und 4, dann sind es meine ganze Flieht auch wieder da.
[SPEAKER_01]: Das hat ein Mann dann hat das quasi dann getrickert und in dem versag ich, wie man man dann, du kannst gar nicht auf alles Server Round-Robeln zu greifen sondern du kommst nur auf 2 Server und damit ich den Schaden begrenze sozusagen. [SPEAKER_01]: Das ist einfach eine Möglichkeit, um diese Neuesennebel-Effekt auch noch mal oder Bad-Ektor sozusagen noch mal weiter abzufangen.
[SPEAKER_01]: Und wenn wir das noch weiter spielen möchten, gibt es noch ein advanced Konzept, sage ich mal, das ist Schaffelschade. [SPEAKER_01]: Also, wir haben jetzt ganz einfach gesagt, du begriegens zur war 1 und 2. [SPEAKER_01]: Und das ist schad 1 und dann zürbe 3 und 4 und das ist schad 2. [SPEAKER_01]: Das heißt, wie gesagt, du kommst auf den ersten Schad. [SPEAKER_01]: Und wenn du alles zürbe abreundst haben bei 50% Impact.
[SPEAKER_01]: Und was schaffelt schadding dann noch macht, das ist wirklich dann ein advanced Mechanismus, dass ich sage, das sind nicht statische Schads, sondern ich war sehr ich schaffelt die. [SPEAKER_01]: Das heißt, wollen wir, wenn du jetzt man dann bist du kriegst, zürbe 1 und 2. [SPEAKER_01]: Und an die Kriegzöber 3 und 4, da sind wir ähnlich wieder vor und jetzt bin ich der dritte zähnen.
[SPEAKER_01]: Ich krieg jetzt aber Söber 1 und 3. [SPEAKER_01]: Und dann haben wir vielleicht noch einen tannend Anna, die kriegt 1 und 4. [SPEAKER_01]: Das heißt, wir kriegen nie das gleiche Subset an Söbern zugetallt wie du wollte. [SPEAKER_01]: Und wenn du jetzt dein Söber 1 und 2 abräumst, hab ich immer noch es 1 bei mir effektet. [SPEAKER_01]: Ja, aber 3 nicht. [SPEAKER_01]: Das heißt, ich hab immer.
[SPEAKER_01]: Versuche quasi möglichst wenige Tannens, die gleiche Subset an Server und zuzuweisen. [SPEAKER_01]: Das heißt, ich mache Random Assheimen zwischen Gewissen anzahl an Server und kann dadurch die Anzahl geliebig sein, das heißt, wenn ich viel Server habe. [SPEAKER_01]: habe ich zum Beispiel habe ich sechs Koopinationen, 1 und 2, 1 und 3, 1 und 4, 2 und 3, 2 und 4, 3 und 4 zum Beispiel.
[SPEAKER_01]: Das heißt, ich habe sechs Koopinationen, um nicht in deinem Schad im Prinzip zu landen. [SPEAKER_01]: Wenn du das mal dynamatisch dann weiter spielst, wenn du dann noch sechs Server hast und noch mehr Server und zu weiter, dann skalliert das wahnsinnig nach oben und du kriegst wahnsinnig viele Juni-Kombinationen an Server. [SPEAKER_01]: Und kannst dadurch dein Blastradius stark reduzieren.
[SPEAKER_01]: Das ist jetzt hauptsächlich auf, ich habe jetzt das einfache Beispiel als wir jetzt mit Stateless Comput, eben in der z.B. [SPEAKER_03]: durchgespielt.
[SPEAKER_03]: Du hast natürlich dann immer noch hinten dran, die je nachdem wir dann in den Datenbank eigentlich hier durchaus sieht, ob du auch Read & Write Patterns [SPEAKER_03]: Unterscheid des Beziehungsversatz für eine Datenmarkt du hast, ob du in Single Primary hast oder ein verteiltes System wo alle wo jede Datenbanknote leese und schreibt zu Griffe abfangen kann und so weiter und so fort.
[SPEAKER_03]: Das bedeutet aber auch du fährst da an der Ballangst, im Bezug auf dieses Thema mit den Kosten. [SPEAKER_03]: weil du musst natürlich jetzt im Kapazität in der Kapazitätsplanung, ich sag mal immer ein bisschen spärke Pässe-T, wie ich sag mal vorhalten, damit du mögliche Ausfälle bei Nose-Näber, ich auch abfangkanzt richtig.
[SPEAKER_01]: Ja, aber das ist halt generell, damit du was zu tun, wenn du selber anhelfi wört, ne bauche ich irgendwann mich anismus, um einen neuen Server wieder hochzufahren. [SPEAKER_01]: Das will ich jetzt gar nicht zu sehr mit dem konstrukt.
[SPEAKER_01]: sage ich mal verweben, eine Sache, die du kurz auf die Stateless und Statfool Thema, es gibt einen guten Blockpost, dann können wir vielleicht gerne verlinken, wo Grafana Seite gab es das mal für Cortex, wo sie auch beschrieben haben, wie sie Schaffelschadeng über ihre Free Note-Clast das machen, wo auch tatsächlich Stat dann auch betroffen ist. [SPEAKER_01]: Also das ist noch mal interessant, dann da auch noch mal durchzulesen, wie die das zum Beispiel aufgeteilt haben.
[SPEAKER_02]: Du kannst es in Deutschland auf der Datenbank übernennen, natürlich auch so machen, so fällen das die Datenbank natürlich unterstützt. [SPEAKER_02]: Dass du die Scharze, dem entsprechend aufdrest, je nachdem, aus der SPD sind und die Zuordnung zu den Tannens.
[SPEAKER_01]: Sie beschreiben, dass in dem Blockbus so, dass sie unter diesen drei Nots, die für diesen Tannen ausgewirrt sind, natürlich repliziert wird, dann z.B. [SPEAKER_01]: Das ist auf jeden dieser drei Nots liegt der State. [SPEAKER_01]: Und wenn dann genau so, es kann man sich da im Detail noch mal durchlesen, ist auch ganz interessant. [SPEAKER_02]: Also du prächtest eine Tannend Erwehr, Datenbank, Replication in irgendeiner Form oder Schardigen auf der Datenbank, den man sprechen.
[SPEAKER_01]: Ja, fühlt diesen einen Tannend. [SPEAKER_01]: Genau. [SPEAKER_01]: Also ich repliziere quasi immer noch auf diesen drei Notkombinationen dann in dem Fall. [SPEAKER_02]: Ja. [SPEAKER_02]: Genau. [SPEAKER_02]: Du musst wissen.
[SPEAKER_02]: Welcher Tenent wie Zugreift, auf welcher Scharz in der Datenbank und dann dementsprechend replitieren, was es nicht im komplexen macht, oder muss denn Scharding Algorithmus Tenent erwehrmachen, aber es wäre ein theoretisch natürlich schon möglich, um gibt es auch sicher. [SPEAKER_02]: Ich kann mal sagen, kann man glaube ich schon die Seinen.
[SPEAKER_03]: Man muss auch dazu sagen, das was hier oder das was wir jetzt in einer drei Mann, viermeinheimen im drei Manns da da bezahlt gerade besprechen ist ein sehr großes Problem. [SPEAKER_03]: Ja auch auf der technischen Seite gar keine Frage, aber wenn ich an einer Firma denke mit vier Engineering Teams, einem Operations Team und so weiter und so fort.
[SPEAKER_03]: Allein, da dieses Projekt zu starten und die Kommunikation hinzukriegen und das Software-Team auch genau weiß, wie das schadigen und drunter läuft für die Datenbank. [SPEAKER_03]: Weil du kannst ja alles, das was wir gerade besprechen, das kann man ja nicht alles auf Infrastrukturbasis einfach transparent händeln, da muss er die Applikation schon mitspielen.
[SPEAKER_03]: Jetzt sagt der Wolfgang zwar schon, okay, wenn die Datenbank das so portet, aber da ist schon wirklich ein Zusammenspiel zwischen der wirklichen Infrastruktur und der der Applikationen notwendig. [SPEAKER_03]: Und diese Kommunikationen, alleine Frage, dass er in der Ebene zu kriegen, ist gar nicht so einfach. [SPEAKER_02]: Jetzt hat er der Max auch schon erwähnt, 10.000 Kunden in einer Zelle.
[SPEAKER_02]: Wir sind da schon in Größenordnungen, glaube ich, die mit einer drei Mann oder zwei Personen mit einer drei Personen, wenn man nicht mehr so zu handeln sind, würde ich mal sagen.
[SPEAKER_02]: Das ist ja auch der Klassiker, wenn du dir dann überlegt, mache es so ein komplexes Konzept oder faie einfach noch mal die gesamte Infrastruktur mit meinen 10 Server noch mal hoch, dann hab ich 20 Server, das wird im Endeffekt immer noch billiger sein, als die Mache so eine wirklich aufwendige Struktur, aber es kommt davon, was sie für sicherheitskrederien erfüllen will und wie viel Kunden ich habe im Ende.
[SPEAKER_01]: Genau, also das noch mal klarzustellen, wir haben ja klein angefangen mit Engineering in wo es heute, aber was wir jetzt hier zum Schluss besprechen, also Zellen, Schafel Scharding, solche Mechanismen, wo auch durchaus natürlich ja auch Rechkarber mehr sagen hat, ist auch nur komplexität, aber das braucht auch nicht jeder, das möchte ich ja noch mal ganz krass sagen, hier geht es nur darum, wenn du wirklich groß weltweit Software quasi Multitannent fechst, das auf über mehr
[SPEAKER_01]: Dass man einfach mal sieht, was ist die Palette an Möglichkeiten, um mit verschiedenen Problemen, quasi auch umgehen zu können? [SPEAKER_03]: Hofgang, du hast gesagt, ja, wenn man von 10.000 Kunden spricht und allen Turonen dran, dann spricht man noch in der Regel von größeren Firmen. [SPEAKER_03]: Da brauchen wir uns als drei Manns da. [SPEAKER_03]: Keine Grenken, wir machen also erstens, möchte ich mal sagen, Blitke positiv in die Zukunft, wir wollen die Welt verändern.
[SPEAKER_03]: Das ist Nummer 1, mal so als CEO, die zweite Frage ist, wie viel Mitarbeiter hat denn ohne Lieferenz? [SPEAKER_03]: mehr als Selbstvorskunden. [SPEAKER_03]: Ich denke auch. [SPEAKER_03]: Laut Gemini, ganz kurz die Recherche. [SPEAKER_03]: Über 4 Millionen Content-Creator auf Unifans, was ja unsere Kunden in dem Tenent-Ding werden, die dann auch gesplittet werden.
[SPEAKER_03]: Über 307 Millionen Nutzer und Achtung, es gibt Quellen, die sagen, und das sieht man wohl auch an den finanziellen Zahlen, dass Unifans nur 42 Mitarbeiter hat. [SPEAKER_03]: Die zweite Beispiel, damit ich jetzt auch wirklich hier immer noch bitte positive zu denken, wusstest du, wie viel Software-Engineers die Plattform Stim hatte, als die schon sehr populär war. [SPEAKER_03]: Zähn.
[SPEAKER_03]: Ist nämlich auch ein sehr gutes Beispiel von einer sehr hohen Kennzahl, was Umsatz pro Mitarbeiter angeht, genauso wie ohne Fans, dass die mit sehr wenig Personenpower sehr große Zahlen und sehr viele Kunden mit ihnen. [SPEAKER_03]: Also, [SPEAKER_03]: Mach uns bitte nicht kleiner als wir sind, wir werden solche Probleme mit reinbetarbeiter haben. [SPEAKER_02]: Ich glaube auch allgemein dieser Blast Radius, denn da magst er aufgebracht hat.
[SPEAKER_02]: Es ist schon natürlich ein Ding, wo man sich immer Gedanken machen muss. [SPEAKER_02]: Was bedeutet das? [SPEAKER_02]: Das kann ja auch in ganz vielen anderen Bereichen sein.
[SPEAKER_02]: Also, ich denke nur dran, wenn man irgendwo einen Account hat, [SPEAKER_02]: bei irgendeiner Blattform und dann passiert irgendwas mit dem Account oder wird gesperrt, sei es jetzt Instagram Social Media Account, was es auch immer ist, man verliert diesen einzelnen Account und da hängt sehr viel dran an den Account, dann sollte man sich natürlich auch überlegen. [SPEAKER_02]: Muss ich das irgendwie replizieren, brauchen wir mehr Accounts wie geigt damit um.
[SPEAKER_02]: Also dieser Blast Radius ist schon sehr wichtig und gerade wenn ich mit externen [SPEAKER_02]: muss ich mir das natürlich noch mehr überlegen, also das klassische Risiko, das ist natürlich auch irgendwo mit reinnehmen muss und egal ob's jetzt intern ist bei meiner Plattform mit externen Ressusen. [SPEAKER_02]: Ich muss halt immer schauen, dass der Blastradius gering bleibt und auch bei der drei Personen firmer.
[SPEAKER_02]: Wenn die zwei Stacks habt, dann bin ich wahrscheinlich auch schon sicherer und deshalb die zwei Stacks aufdeile. [SPEAKER_02]: Dann habe ich schon kleinere Blastradius, da muss ich ja nicht um 10.000 Kunden größten Ordnung entgehen. [SPEAKER_03]: Wofür hast du dir schon mal die Frage gestellt, wenn du 25 mal Blastradius hinterananders sagst, was dann passiert? [SPEAKER_03]: Max, klar, ich geh stark davon aus.
[SPEAKER_03]: Du hast damals bei Miet, aber ich glaube nur 30 oder 35 Minuten bekommen. [SPEAKER_02]: Jetzt 20, so viel Sinn. [SPEAKER_02]: Wir sind ja kurz und bündig und da Max hat dann noch mehr Demen fast durchgebracht, aber da hatte keinen Anje gehabt und mich die Nachbarn stellen. [SPEAKER_03]: Und dann ist Leitz, die all diese Modelle, wie zum Beispiel Pool, Bridge und das Schaffelshadding und so weiter ist alles visual in den Slides verfügbar.
[SPEAKER_03]: Das verlinken wir auch in den Shownotz, also für alle Leute, die jetzt gerade noch zuhören, die können sich all das auch noch mal in. [SPEAKER_03]: Ich sag mal 30, 40 Slides durchlesen sehr, sehr, sehr, sehr, sehr, sehr gut vielen Dank. [SPEAKER_03]: Als Abschlussfrage habe ich noch welche zwei, drei Tipps würdest du denn Entwicklerinnen und Entwickleren geben? [SPEAKER_03]: Die jetzt an der Applikation arbeiten, sagen, so eine Multitendentematik, das wäre auch mal was für uns.
[SPEAKER_03]: Ich baue mal ein Prototypen. [SPEAKER_01]: Das wichtigste ist einfach Get your security ride, das muss wirklich der erste Job quasi sein, dass man sich bewusst ist, dass man auch eine Verantwortung in der Multimandanten System hat. [SPEAKER_01]: über die Daten der Kunden, über die Experienster Kunden und so weiter. [SPEAKER_01]: Das ist wirklich auch diese Situation gesichert ist und man nicht, sag ich mal, es war einfach mit der Work-Lost, die nicht irgendwie in Vorstes umgeht.
[SPEAKER_01]: Ja, so wirklich Security ist das Raum pro, weil wenn da ein League oder sonstiges passiert, kann das auch der S-Endel des Unternehmens im Prinzip sein.
¶ Tipps für Entwickler*innen für Multi-Mandanten-Architekturen
[SPEAKER_01]: Ja, also Get Security Ride. [SPEAKER_01]: Und das zweite ist, das haben wir jetzt zum Schluss besprochen. [SPEAKER_01]: Wir haben schon sehr komplexe Themen, natürlich besprochen, die sehr in einem fortgeschrittenen Stadium erst relevant werden. [SPEAKER_01]: Mit ganz vielen Kunden, vielleicht wahrscheinlich viel mehr, mit denen auch die meisten irgendwie zu tun haben. [SPEAKER_01]: Aber das wichtig ist, man soll sich die Flexibilität erhalten.
[SPEAKER_01]: Also immer, die Software bauen, unter dem Hintergrund, kann ich, wenn sich die gegebenheiten verändern, [SPEAKER_01]: Kann ich darauf flexible später eingehen? [SPEAKER_01]: Wondweiter, Touridorsdissischen, das wirklich in den Design-Prozess mit einfließen?
[SPEAKER_01]: Vielleicht ist, ich fange jetzt einfach mal, ich hab alles geschert, es ist nur diese eine Proteinstanze, ich brauche keine Zellen nix, aber ich hab vielleicht vorne den Routing-Layer, der einfach ganz statisch durchfautet, die ganze Zeit und vielleicht werde ich nie eine zweite Zelle brauchen. [SPEAKER_01]: Aber ich hab schon die Flexibilität, [SPEAKER_01]: Ja, das ich zukünftig haben, das abhängig haben. [SPEAKER_01]: Das hat auch nichts mit Overengineering zu tun.
[SPEAKER_01]: Das ist jetzt erst eine, sage ich mal, in den Designischen einfach bleibt, versucht Flexibel zu bleiben. [SPEAKER_01]: Ja, ohne jetzt ins Overengineering und was wäre, wenn reinzukommen, aber versucht Flexibel zu bleiben. [SPEAKER_01]: Das werden glaube ich so die zwei Key-Takerways, wo ich sagen oder Sachen, die man sich kofe behalten soll.
[SPEAKER_01]: Und dann, wenn die Probleme dann kommen, dann sind vielleicht die Themen, über die wir heute gesprochen haben, dann auch können gute Tools sein, um das dann umzusetzen. [SPEAKER_01]: Aber das ist auch was, was ich hatte auch ein Kollege bei uns bei Erwärtsgesagt Tools, not Tools, also soll jetzt nicht eben irgendwie klingen, dass man Musstrafe-Challenge man muss selber sie jetzt machen.
[SPEAKER_01]: Aber ich habe [SPEAKER_01]: Man vielleicht heute gesehen, die Tools, die man dann verwenden kann, um mit diesen Situationen dann später, wenn sie wirklich relevant werden, umzugehen. [SPEAKER_01]: Max, ich habe sehr viel mitgenommen, vielen, lieben Dank und bedenkt, danke auch für die Einladung. [SPEAKER_03]: Hat Spaß gemacht. [SPEAKER_03]: Wie immer gilt, wer Feedback geben möchte, gerne, wir email, gerne, wir und so Discord Community.
[SPEAKER_03]: Leidenweine fühle ich alles an Max weiter und wer die ganzen Bilder zu dem Talk hier haben möchte. [SPEAKER_03]: Zu diesem Podcast haben möchte der kann in die Journales gehen, da findet ihr die Slides von Max mit ganz vielen Bildern um das wirklich mal zu verdottlichen Falls das alles irgendwie verwirren war mit Pool und Bridge und dann und Zell oder einfach mal dran. [SPEAKER_03]: Da kann man das alles mal noch mal als Zusammenfassung lesen.
[SPEAKER_03]: Wolfgang, was in deine Finale wurde. [SPEAKER_02]: Ja, ich glaube mir jetzt einfach von Max dieses Multi-Tannent ist der Better Single-Tannent, weil ich finde das auch, was sollte das einfach schon mitdenken und man ist danach einfach [SPEAKER_02]: Kann dem nur bei Pflichten, also vielen Dank Max, für deine ganzen Einsichten und die hofft das in Zukunft alle Nummer, mal die Tannenprogrammien werden, wenn sie sich irgendein arke Diktuell überleben.
[SPEAKER_03]: Ich mag den, ich mag den Spruch hoch, und ich beendet diese Portasipi-Soldung mit einem Flachlitz generiert bei Gemenei. [SPEAKER_03]: Warum haben Multi-Tendet-Eichtektoren so schlechte Manieren? [SPEAKER_03]: Weil sie die ganze Zeit die Ressourcen teilen, aber nie fragen, ob der Nachbar etwas braucht. [SPEAKER_02]: Das ist aus. [SPEAKER_02]: Ich habe es fast zu dir an dir, das ist schon okay. [SPEAKER_03]: Das war der erste Schnellle-Promt.
[SPEAKER_03]: Ich gehe los, wo wir es auch mitmachen. [SPEAKER_03]: Das war's von uns. [SPEAKER_03]: Tschüss, bye bye. [SPEAKER_03]: Ciao.
