JVM-Toolkit Akka 3: Weniger komplex, mehr Cloud-Optionen und neuer Firmenname
Lightbend krempelt die Implementierung des Aktorenmodells Akka in Version 3 vollständig um und integriert dabei Projekte wie Lagom und das Play Framework.
Das Unternehmen Lightbend hat eine neue Hauptversion von Akka angekĂĽndigt. Mit dem Release steigt das JVM-Toolkit zu einer umfangreichen Plattform auf, um Anwendungen zu erstellen und auf unterschiedlichen Cloud-Plattformen auszufĂĽhren.
Die Akka-Libraries bleiben im Kern erhalten, zusätzlich fließen die Inhalte der Lightbend-Projekte Lagom, Play Framework, Cloudstate, Cloudflow, Akka Streams und Kalix in die Plattform ein. Anwendungen, die auf die 2.x-Libraries von Akka setzen, sollen weiterhin reibungslos funktionieren.
Parallel zur neuen Hauptversion hat Lightbend eine Namensänderung angekündigt: Das Unternehmen heißt ab sofort ebenfalls Akka.
Akka ist ein Toolkit mit zugehöriger Laufzeitumgebung für die JVM (Java Virtual Machine). Es bietet Modelle, die das Entwickeln nebenläufiger, verteilter Anwendungen vereinfachen sollen. Als Kernkonzept setzt es auf das Aktorenmodell, das in den Siebzigerjahren entwickelt wurde. Die nebenläufigen Einheiten fungieren dabei als Aktoren, und die Kommunikation erfolgt über Nachrichtenaustausch. Die Programmiersprache Erlang bietet ebenfalls ein Aktorenmodell.
Akka ist in Scala geschrieben. Ursprünglich war eine Aktorenimplementierung in der Sprache selbst vorgesehen. Jonas Bonér entwickelte schließlich Akka und orientierte sich dabei am Stil des Aktorenmodells von Erlang. Im Januar 2010 stellte er das Projekt der Öffentlichkeit vor. Akka lässt sich sowohl mit Scala als auch mit Java verwenden.
Im September 2022 hat Lightbend für Akka das Lizenzmodell von der Apache-2.0-Lizenz auf die Business Source License (BSL) geändert.
Seit sechs Jahren in Arbeit
Laut dem Blogbeitrag zum Release kamen die ersten Ăśberlegungen fĂĽr Akka 3 bereits vor ĂĽber acht Jahren, und 2018 begann die Entwicklung der neuen Hauptversion parallel zum 2.x-Strang des Toolkits.
Akka 3 befindet sich laut dem Beitrag bereits "bei Unternehmen, die noch nicht bereit sind, öffentlich genannt zu werden" im produktiven Einsatz, unter anderem bei einem globalen SaaS-Anbieter mit 2 Millionen Usern und einem Online-Einzelhändler, der über eine Million schreibende IOPS (Input/Output Operations Per Second) mit geringer Latenz benötigt.
Erweitertes SDK
Akka 3 soll im Vergleich zu den Vorversionen die Komplexität deutlich verringern und bringt dazu ein neues SDK (Software Development Kit) und eine lokale Entwicklungsumgebung mit Developer-Sandboxes und einem Event-Debugger mit.
Lesen Sie auch
Scala: Microservices mit dem Actor-Modell serialisieren
Das SDK ermöglicht es, passende Komponenten für die Programmierung mit Akka zu erstellen: Endpoints, Entities, Views, Streaming Consumers, Workflows, und Timer. Laut dem Blogbeitrag reduziert sich die Lernkurve damit von einigen Wochen auf einige Stunden.
Freie Cloud-Wahl und Serverless-Anwendungen
Akka-Anwendungen können mit Version 3 auf unterschiedlichen Cloud-Plattformen (Bring Your Own Cloud, BYOC) auch als Serverless-Anwendungen laufen. Ab 2025 soll zudem der Betrieb im eigenen Rechenzentrum oder einer hybriden Cloud-Infrastruktur möglich sein. Laut Akka ist die Migration von einem Cloud-Provider zu einem anderen oder von einem Cloud-Plattform- zu einem Serverless-Modell nahtlos möglich.
AuĂźerdem bietet Akka 3 Multimaster-Replikation: Ein Dienst kann ĂĽber mehrere Instanzen in mehreren Clouds oder Regionen laufen. Akka 3 setzt dafĂĽr auf repliziertes Event-Logging und die Kommunikation ĂĽber gRPC.
Weitere Details lassen sich dem Akka-Blog und dem Beitrag auf Hacker News entnehmen. Am 20. November veranstaltet Akka ein kostenfreies Webinar zur neuen Hauptversion.
(rme)