#happyselling :-)

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

Wurde Billbee etwa gehackt?!

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:e britische:r Geheimagent:in 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:innen 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 Ansprüchen der Nutzer:innen 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:innen 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:innen mit Billbee und wird das Bestellvolumen größer, dann können weitere Instanzen daneben geschaltet werden, ohne dass sich für die bestehenden User:innen irgendetwas ändert.

Anfang Oktober 2020 war es so weit und neben der bestehenden Instanz wurde eine weitere Instanz etabliert, auf der alle neuen User:innen aufliefen. Nachdem der erste Live-Testbetrieb mit dieser Instanz abgeschlossen war, wurden die Bestandsnutzer:innen 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 Kund:innen 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. 

Dem oder der ein oder anderen Nutzer:in 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ß wie 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 Account 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:in?

Grundsätzlich erstmal keine. Eigentlich sollen Nutzer:innen 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 User:innen -  egal ob per Webinterface oder per API auf Billbee zugegriffen wird - keine Kenntnis darüber erlangen müssen, auf welcher Instanz sie sich befinden.

Notwendig ist es aber für das Billbee-Team zu sehen, auf welcher Instanz sich der Account befindet, denn so kann intern in der richtigen Datenbank auf Fehlersuche gegangen werden. Zusätzlich hat es den großen Vorteil, dass beim Auftreten eines Fehlers auf einer Instanz, nicht sofort alle Nutzer:innen beeinträchtigt sind. Nur die Nutzer:innen, deren Instanz betroffen ist, sind möglicherweise durch den Fehler eingeschränkt, alle anderen Nutzer:innen 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 im Browser gespeichert
  • Ein globaler Server für notwendige Dienste, wie z.B. den Reverse-Proxy und die zentrale Datenbank
  • Acht Server werden pro Instanz betrieben: ein Datenbankserver, drei Webserver, zwei Dienstserver und zwei Server mit Hilfsdiensten.

Titelbild von Sora Shimazaki auf Pexels

20.000+ E-Commerce Brands nutzen Billbee
... und wickeln über 85 Mio. Bestellungen pro Jahr ab
Was kostet das Ganze?
Zu den Preisen