Lightbend Unfurls Distributed Akka Platform for Asynchronous Apps
Lightbend today launched a distributed cluster environment for deploying asynchronous Java applications based on its Akka toolkit.
James Townley, senior product manager for Akka at Lightbend, said the Akka Distributed Cluster makes it possible to process data in isolation from the rest of the application environment. Updates can be made later once those applications are reconnected to the Akka distributed computing environment.
That approach makes it possible to reduce the amount of network bandwidth and storage that would otherwise be consumed by a distributed computing environment that is always synchronously connected, noted Townley.
An Akka Distributed Cluster is based on a brokerless Publish-Subscribe service accessed via the gRPC protocol that enables a distributed application environment to stretch from the cloud to the network edge. On top of that, Akka Distributed Cluster adds an event filtering capability to both the producer and consumer side of a service to prevent sending and processing unnecessary data.
In addition, the platform employs active-active event sourcing using distributed event journal replication that is conflict-free to reduce latency, noted Townley.
Finally, there is a durable state queries capability that makes it possible to search for data on multiple fields without additional read models, reducing the cost and time spent storing and interacting with duplicate data.
Townley said most Lightbend customers that have adopted Akka Distributed Cluster thus far are running it on Kubernetes clusters that provide a set of consistent interfaces for provisioning underlying infrastructure. However, IT teams can deploy Akka on multiple classes of platforms, noted Townley. The core Akka toolkit itself has been around since 2010. Lightbend, formally known as Typesafe, previously created a platform-as-a-service environment (PaaS), dubbed Kalix, for building and deploying microservices-based applications that generate and consume large amounts of data.
It’s not clear how many asynchronous applications IT organizations are building and deploying. Townley noted that everything from software-defined vehicles to embedded military systems need to run asynchronously from, for example, a cloud service that is augmenting an application that is creating and storing data locally. Regardless of the use case, however, an Akka Distributed Cluster will significantly reduce the total cost of cloud services by reducing the amount of network bandwidth consumed and the volume of data that needs to be stored, said Townley.
A need for a different approach to building these types of applications is emerging as it becomes apparent more data is being processed and analyzed at the point where it is created and consumed. The challenge is that data eventually needs to be synchronized with some type of central repository that typically resides on the cloud.
Regardless of whether IT teams adopt a publish-subscribe approach to building these types of applications or some other type of event-driven programming model, these applications are more challenging to build and maintain than traditional batch-oriented applications. As such, they will no doubt require a level of DevOps expertise that is hard to find and retain. Nevertheless, the expectation is that IT teams will be able to build and deploy applications that efficiently process data across a highly distributed computing environment.