Gerüstet für Black Friday: Schritt für Schritt zum reaktiven System

by Roman Fürst
Tags: Open Source , Lightbend , Reactive , Cloud

Zahlreiche Online-Shops werden Jahr für Jahr am Black Friday von Schnäppchenjägern in die Knie gezwungen. Mit einem reaktiven System kann das nicht passieren. Hier erfahren Sie, wie Sie Ihre IT sinnvoll aufrüsten, ohne dass die Kosten durch die Decke gehen.

Schwarze Katze Keine Angst vor dem Schwarzen Freitag: Mit einer reaktiven Applikation hält Ihr Shop dem Ansturm stand. (Photo by Hannah Troupe on Unsplash)

Zahlreiche Online-Shops brachen am Black Friday Ende November 2017 unter dem Ansturm der Besucher regelrecht zusammen. Das passiert, wenn die IT überlastet ist, wenn die technische Infrastruktur nicht ausreicht, um das plötzliche grosse Besucheraufkommen zu bewältigen.

Es ist unsinnig und teuer, an 365 Tagen im Jahr eine Infrastruktur zu betreiben, die nur an wenigen Tagen wirklich beansprucht wird. Wie also können Shop-Betreiber es anstellen, dass sie für plötzliche Anstürme gerüstet sind, die Ressourcen aber in der übrigen Zeit nicht unnötig brach liegen?

Reaktive Systeme bleiben responsiv

Als Lösung bieten sich so genannte «Cloud native»-Applikationen an. Aber was ist das? Und was hat es mit reaktiven Systemen zu tun?

Hinter dem Begriff «Cloud native» verbirgt sich ein weiteres Muster aus der Computerwelt. Es beschreibt die Eigenschaften eines verteilten Systems, das hochgradig skalierbar und verfügbar ist. Diese Eigenschaften sind:

  • «Container packaged»: Applikationen laufen in der Cloud in sogenannten Containern. Diese Technologie bildet die Grundlage dafür, dass wir überhaupt ein so hohes Mass an Skalierbarkeit und Verfügbarkeit erreichen können.
  • «Dynamically managed»: Die Applikation überwacht und verwaltet sich selbst. Bei einem Besucheransturm können beispielsweise innerhalb von Millisekunden zusätzliche Ressourcen hochgefahren werden. Ist der Ansturm vorbei, werden die überflüssigen Rechnerkapazitäten wieder heruntergefahren.
  • «Micro-services oriented»: Die einzelnen Teile der Applikation sind nur lose miteinander gekoppelt. Sie laufen isoliert von einander und kommunizieren nur über klar definierte Schnittstellen.

Regelmässigen Leserinnen und Lesern unseres Blogs werden die Punkte 2 und 3 vielleicht bekannt vorkommen. Es handelt sich dabei nämlich hauptsächlich um die Eigenschaften reaktiver Systeme. «Cloud native» konzentriert sich eher auf die Infrastruktur; «Reactive Systems» beschreibt die eigentliche Applikation etwas detaillierter. Oder anders formuliert: Die beiden Muster ergänzen sich gegenseitig.

Was bedeutet das für unser eingangs erwähntes Shopsystem? Ganz einfach: Es garantiert dem Betreiber die Sicherheit, dass seine Plattform auch unter grossem Ansturm erreichbar bleibt. Gleichzeitig spart der Betreiber Geld, denn das System passt sich automatisch der Arbeitslast an und verbraucht nur gerade so viele Ressourcen wie nötig.

Wir empfehlen unseren Kunden in der Regel, zunächst auf eine monolithische Applikation zu setzen. Erst wenn dieses System an seine Grenzen stösst, ist es Zeit, das monolithische durch ein reaktives System zu ersetzen.

Das klingt alles gut, aber wo ist der Haken?

Diese Vorteile haben natürlich einen Preis, nämlich erhöhte Komplexität. Reaktive Systeme sind komplexer als klassische monolithische Applikationen. Sie erfordern ein hohes Mass an Verständnis der Domäne. Deswegen lohnt es sich nur in den wenigsten Fällen, dass Betreiber von Anfang an ein reaktives System entwickeln lassen.

Wir empfehlen unseren Kunden in der Regel, zunächst auf eine monolithische Applikation zu setzen. Erst wenn dieses System an seine Grenzen stösst, ist es Zeit, das monolithische durch ein reaktives System zu ersetzen. Dabei werden schrittweise einzelne Applikationsteile aus dem Monolithen herausgelöst und in eigenständige Services überführt. Der Übergang ist fliessend.

Schritt für Schritt anstatt alles auf einmal

Für unseren Online-Shop könnte eine solche Schritt-für-Schritt-Lösung so aussehen:

  • Schritt 1: Das Zahlungssystem wird vom Rest der Applikation entkoppelt. Die beiden Applikationsteile skalieren danach unabhängig von einander.
  • Schritt 2: Die Lagerverwaltung wird aus dem Shop herausgelöst. Denn die Lagerverwaltung muss mit weniger Benutzern umgehen können als der eigentliche Shop mit all seinen Besuchern. Warum also unnötig Ressourcen für die Lagerverwaltung verschwenden?

Schritt für Schritt wird so aus dem Monolithen ein reaktives System, das auch dem Besucheransturm am Black Friday standhält.

Möchten Sie mehr darüber wissen, wie Sie Ihre IT modernisieren, ohne dass die Kosten durch die Decke gehen? Wir geben Ihnen gerne Auskunft. Nehmen Sie mit uns Kontakt auf - wir freuen uns darauf.

Mehr dazu:

Wir sind BeCompany

In unserem Hauptquartier im Technopark Zürich entwickeln wir individuelle Internet-of-Things-Projekte für Kunden aus allen Branchen – unglaublich schnell und flexibel. Wir helfen Ihnen, Ihr Produkt durch Vernetzung von Menschen, Prozessen, Daten und Dingen mit einer neuen Welt zu verbinden. Dabei setzen wir auf Cutting-Edge-Technologien, fundierte Methoden, langjährige Branchenkenntnisse und gesunden Menschenverstand. Wir sind offizieller Lightbend-Partner.