Wie aus dem Nichts taucht in deinem Billbee-Account oder auf einem Screenshot vom Support komische Dinge wie „1-frwl“ auf…

Wurde Billbee etwa gehackt?!

Server zur horizontalen Skalierung - Billbee

Bevor du dir Sorgen machst, können wir dich beruhigen, denn Billbee wurde natürlich nicht gehackt. Aber was hat es mit diesen komischen Namen auf sich?

Billbee stetig zu verbessern ist und bleibt ein Anspruch, den wir als Team tagtäglich an unserer Arbeit haben. Daher war die horizontale Skalierung ein wichtiges Projekt aus dem Jahr 2020, welches das Billbee Development-Team auf Trab gehalten hat. Das Vorhaben wurde coronabedingt sogar noch beschleunigt. Es stellt sich dennoch die Frage, welche Gemeinsamkeit ein britischer Geheimagent und horizontale Skalierung haben? Die Antwort ist simpel: Du findest beides bei Billbee!

Es war einmal…

Billbee war anfangs eine Applikation, die monolithisch angelegt war. Das bedeutet, dass hinter Billbee lediglich ein Dienst pro Aufgabe und auch nur ein Datenbankserver steckte. Das führte dazu, dass alle User gleichermaßen von Ausfällen betroffen waren, wenn es zu einer Überlastung des Systems oder zu Fehlern in der Anwendung kam. Zudem drohte Billbee irgendwann eine kritische Größe zu überschreiten. Zusätzliche Leistung wurde gebraucht, um den Nutzeransprüchen wieder gerecht zu werden. Dafür gab es im Development Bereich zwei Möglichkeiten:

  • vertikale Skalierung: Funktionen werden weiter separiert, sodass immer weniger einzelne Funktionen in bestimmten Prozessen zusammen laufen.
  • horizontale Skalierung: mehrere Billbee Instanzen werden nebeneinander betrieben

Das Problem bei der Idee der vertikalen Skalierung war jedoch, dass die einzelne Datenbank weiterhin einen kritischen Punkt dargestellt hätte. Das war der sogenannte “Single Point of Failure”, den es zu vermeiden galt. Zudem waren auch die Skalierungsmöglichkeiten und die Optionen zur Entkopplung von Fehlern beschränkt. Daher wurde die horizontale Skalierung von Billbee ins Auge gefasst.

Erste Überlegungen entstanden bereits Mitte 2019. Die Corona-Pandemie stellte sich aber als Beschleuniger heraus. Die Zahl der Billbee Nutzer und das Bestellvolumen stieg weiter an und das Development- und Infrastruktur-Team bei Billbee legten sofort los. Immer im Blick: das anstehende Weihnachtsgeschäft 2020 mit dem Ziel, dass dieses reibungslos läuft.

Die Arbeit hinter den Kulissen

Mehrere Billbee-Instanzen sollten parallel aufgezogen werden, die unabhängig voneinander und nebeneinander laufen können. Der klare Vorteil bei der horizontalen Skalierung ist, dass die Instanzen beliebig skalierbar sind. Arbeiten mehr Nutzer mit Billbee und wird das Bestellvolumen größer, dann können weitere Instanz daneben geschaltet werden, ohne dass sich für die bestehenden Nutzer irgendetwas ändert.

Anfang Oktober 2020 war es soweit und neben der bestehenden Instanz wurde eine weitere Instanz etabliert, auf der alle neuen Nutzer aufliefen. Nachdem der erste Live-Testbetrieb mit dieser Instanz abgeschlossen war, wurden die Bestandsnutzer aufgeteilt. Geteilt wurden sie nach der jeweiligen Last der Bestellungen aus den letzten drei Monaten, sodass die Last ungefähr gleich auf die verschiedenen Instanzen aufgeteilt ist.

Filmtitel als Inspiration

Der aktuelle Stand ist, dass drei Instanzen parallel laufen. Diese drei Instanzen können noch ausgebaut werden, wenn eine gewisse Menge an Kunden bzw. Bestelllast erreicht ist und eine weitere Instanz notwendig wird.

Um die Instanzen im EDV-Bereich zu unterscheiden, haben sie ganz schlicht und einfach die Nummern 0, 1 und 2 bekommen. Damit sich alle die Instanzen besser merken können und auch intern besser unterschieden werden kann, haben wir den Instanzen Namen gegeben. 

Filmrollen als Inspiration von Instanznamen bei Billbee

Dem ein oder anderen Nutzer ist schon mal einer der Namen aufgefallen. Wer sich in den Verfilmungen des berühmten britischen Geheimagenten auskennt, der eine Vorliebe für geschüttelte alkoholische Getränke hat, weiß wo die Namen entstanden sind. Die produktiven Instanzen sind in der Reihenfolge der Geheimagenten-Filme im englischen Originaltitel benannt, angefangen mit dem Film aus dem Jahr 1962 bis hin zu dem Film aus dem Jahr 1964. Sollte in deinem Billbee-Account oder in einer Fehlermeldung von russischen Liebesbekenntnissen die Rede sein, dann läuft dein Nutzeraccount auf der Instanz 1, die nach dem Film aus dem Jahr 1963 benannt wurde und natürlich nichts mit anzüglichen Seiten zu tun hat 😉

Billbee Fun Fact am Rande: alle internen Entwicklungsinstanzen und QS Systeme sind nach Raumschiffen aus einem bekannten Science-Fiction-Franchise benannt.

Welche Auswirkungen hat das für mich als Billbee-Nutzer?

Grundsätzlich erstmal keine. Eigentlich sollen Nutzer gar nicht unbedingt sehen auf welcher Instanz sich der Billbee-Account befindet und das ist auch nicht notwendig. Ganz im Gegenteil, es war von Beginn an unser Ziel, dass die Nutzer –  egal ob per Webinterface oder per API auf Billbee zugegriffen wird – keine Kenntnis davon haben braucht, auf welcher Instanz er sich befindet.

Notwendig ist es aber für das Billbee-Team zu sehen, auf welcher Instanz sich der Nutzeraccount befindet, denn so kann intern auch auf Fehlersuche in der richtigen Datenbank gegangen werden. Zusätzlich hat es den großen Vorteil, dass wenn auf einer Instanz ein Fehler auftritt, nicht sofort alle Nutzer beeinträchtigt sind. Nur die Nutzer, deren Instanz betroffen ist, sind von dem Fehler eingeschränkt und alle anderen Nutzer auf den anderen Instanzen können wie gewohnt arbeiten.

Tech Facts

  • Änderung der ID-Datensätze von signed Integer auf signedBigInteger
  • Anpassung des Reverse-Proxy zur Untersuchung verschiedener Parameter
  • Cookie wird für korrekte Instanzzuordnung bei Login ihm Browser gespeichert
  • Ein globaler Server für notwendige Dienste, wie z.B. den Reverse-Proxy und die zentrale Datenbank
  • 8 Server werden pro Instanz betrieben: ein Datenbankserver, drei Webserver, zwei Dienstserver und zwei Server mit Hilfsdiensten.

Titelbild by Taylor Vick on Unsplash, Photo by Denise Jans on Unsplash

Jana Klingelhöfer

Jana ist Content Managerin bei Billbee. Wenn sie nicht gerade dabei ist, ein neues How To Video für den YouTube Channel von Billbee zu drehen, kümmert sie sich um die redaktionellen Freiheiten von Blog und Webseite.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Dir gefällt der Beitrag? Jetzt teilen!

Jetzt kostenlos und unverbindlich testen!

Teste Billbee für 30 Tage - völlig ohne Risiko!
30 Tage kostenlos testen!
Der Account läuft nach 30 Tagen automatisch aus.
close-link
Hier klicken!