Skalierbar, ausfallsicher, performant: Warum wir reaktive Applikationen mit Akka bauen

by Andreas Hartmann
Tags: Open Source , Akka , Scala , Reactive

Sie sind stark, belastbar und ausfallsicher: Mit Akka bauen wir reaktive Applikationen, die hohe Anforderungen an Skalierbarkeit, Verfügbarkeit und Performanz erfüllen. Was unsere Kunden davon haben, erfahren Sie hier.

Geschätzte Lesedauer: 3 Minuten

Fader Mixing Console Bei mehr Last kommt mehr Leistung: Reaktive Applikationen zeichnen sich unter anderem durch hohe Skalierbarkeit aus. (Foto: https://unsplash.com/@drewpatrickmiller)

Akka ist ein Toolkit (eine Sammlung von Werkzeugen), eine Laufzeitumgebung und ein Framework (Programmiergerüst). Es kann in den Sprachen Java oder Scala programmiert werden.

Überzeugend: Reaktive Applikationen mit Akka

Wir verwenden Akka, weil sich damit reaktive Applikationen besonders gut umsetzen lassen. Diese überzeugen vor allem mit zwei Stärken:

  • Sie reagieren auf geänderte Business-Anforderungen im Sinne von Continuous Delivery.
  • Sie reagieren auf geänderte Nutzung, gerade in Bezug auf Volumen und das Abfangen von Lastspitzen.

Beispiele für geänderte Nutzung sind Ausverkäufe im E-Commerce oder Breaking News auf Nachrichtenplattformen, wenn gleichzeitig sehr viele Nutzer auf eine Plattform zugreifen. Die Skalierbarkeit erfolgt, indem neue Server dynamisch dazu kommen. Das gibt dem Betreiber die Sicherheit, dass die Plattform auch unter grossem Ansturm erreichbar bleibt und dass er neue Anforderungen schnell umsetzen kann.

Für Web-Plattformen mit grossem Publikum

Besonders wichtig ist Reaktivität für Web-Plattformen mit sehr grossem Publikum oder hohem Anspruch an die Servicequalität, zum Beispiel:

  • Finance und Banking. Ausfälle von Banking- oder Börsenplattformen führen schnell zu empfindlichen Einbussen.
  • Medien. Social-Media-, Streaming- und andere Entertainment-Plattformen setzen sehr oft solche Frameworks ein.
  • E-Commerce
  • Telekommunikation
  • IoT-Lösungen
  • Cloud-Anwender

Die Applikation muss sicherstellen, dass sehr viele Geräte gleichzeitig kommunizieren können. Ein Beispiel: Samsung setzt Akka ein für IoT-Applikationen im Zusammenhang mit Fernsehen. Wenn abends sehr viele Nutzer auf die Plattform zugreifen, muss diese den Ansturm verkraften und responsiv bleiben. Früh morgens, wenn weniger los ist, steht die Serverlandschaft für andere Applikationen zur Verfügung.

Robust: Kleine Module auf verschiedenen Servern

Ein Grundprinzip von Akka ist die Verwendung sehr kleiner Module, die über Nachrichten kommunizieren. Diese Module können auf verschiedenen Servern laufen gelassen werden. Der hohe Grad an Isolation ermöglicht die Skalierbarkeit und sorgt für Verfügbarkeit: Wenn etwas ausfällt, fällt nicht alles aus. Anders als bei althergebrachten monolithischen Systemen: Dort sind die Teile der Applikation eng miteinander verwoben. Änderungen und Anpassungen werden erschwert, weil das Risiko sehr hoch ist, dass andere Applikationskomponenten betroffen sind. Skalierbarkeit ist nur beschränkt möglich.

Akka ist eine Open-Source-Lösung und kostet nichts. Was der Kunde zahlt, ist unsere Arbeit für das Bauen der Applikation – und der Preis dafür bleibt gleich, unabhängig von der Technologie.

Haben Sie Fragen zu Akka, individueller Software oder ein spezifisches Anliegen? Wir freuen uns auf Ihre Nachricht: andreas.hartmann@becompany.ch

Weiterlesen

Wir sind BeCompany

Wir sind BeCompany. Wir entwickeln individuelle Software für Kunden aus allen Branchen – unglaublich schnell und flexibel. Dabei setzen wir auf Cutting-Edge-Technologien, gesunden Menschenverstand und den Standort Zürich. Als Entwickler und Projektmanager haben wir mehr als 100 anspruchsvolle IT-Projekte realisiert - und wir freuen uns auf weitere. Fragen? Kostet nichts: info@becompany.ch.