On the future of Akka & Lightbend

After the defacto abandonment of Play! and Lagom and the big highlighting of “Akka Serverless” I’m wondering what the planned future for Akka itself (and all the other akka-* modules/projects except persistence - which seems to be one of the building blocks of akka serverless) is.

The publicity I’m seeing looks like “Akka Serverless” is a last try in gaining traction and if that doesn’t work out Lightbend is going out of business?

I hope I’m just getting the wrong “vibes” here and would appreciate a calming statement from someone in charge. I think I’m not the only one having thoughts like this.

Thanks for clarifications!

2 Likes

It is true that Lightbend is moving away from the Play Framework. I have already talked about this here. The work to push this into full community ownership is well underway and we believe that this creates a better future for Play itself and its users. The Lagom project is different though and while we have seen incredible adoption of the framework in our customer base, the OSS adoption has been tepid at best. We have laid out our plans for Lagom here. In short, for Lagom, we intend to continue investing to ensure we support our customers fully but we are not investing in future enhancements, at least for the next twelve months or so.

The question of what is happening to Akka has a much different answer. I admit to a failing here: we, Lightbend, did not communicate our strategy broadly enough several years ago when we began to question exactly what our core value was and where we should be investing our time and money. And worse, we had a failure in communication about a year ago when we made a more definitive decision to focus on really one technology platform: Akka. For that lack of clear communication to our customers and users, I apologize.

But I can’t let the past ineffective communication block or cloud our future. Akka is the future (and present) for Lightbend. Yes, we have been spending much time on Akka Serverless but it is being done as a “customer”, if you will, of the Akka Platform (which comprises all of the Akka OSS projects/modules). We believed, when we started Akka Serverless, that OSS would benefit hugely by having our company, and our engineers, build and run a production Platform-as-a-Service (PaaS) with active users on it. And we have seen this pay off already:

  1. Akka 2.6 itself, released well over a year and a half ago, contains many enhancements to the core platform that were needed for the foundation of Akka Serverless;
  2. Akka Projections has been improved through feedback from the Akka Serverless product and users;
  3. Akka gRPC performance was dramatically improved through working through Akka Serverless production issues;
  4. Akka Durable State was a recently released feature that ultimately allows users to have queryable Key-Value capabilities as part of the CQRS pattern, a feature that was first developed in Akka Serverless;

And our roadmap for Akka, for things that will be released in the coming months, has been inspired by Akka Serverless requirements:

  1. More Alpakka connectors to additional database offerings, e.g. Yugabyte;
  2. More flexible data passivation strategies for Akka Persistence;
  3. Shard allocation strategies for Akka Cluster, enabling a smoother roll-out of updates and scaling up and down.

Most important though, in all of this, is how central Akka is to our vision for the company and the product:

To make it simple to build distributed data and streaming applications that span from the cloud to the edge and beyond.

Without Akka, for Lightbend, there is no distributed data and distributed streaming. There is none of the greatness that has powered so many great use cases and companies out there today. But we also cannot achieve greater simplicity without pushing into the areas that Akka Serverless is taking us into. I also believe that Akka Serverless is a natural extension to Akka but I also believe that it will not be the only one as we move forward. My vision and appetite are much greater: data continues to power technology solutions but we as developers are forced to do too much and manage too much, too many moving parts and complexity. There have been good steps forward—serverless in general, serverless distributed databases more specifically—but they have been relatively small incremental steps.

I believe that in order to build the next generation of distributed applications, we need to abstract away as much of the unnecessary complexity of managing how data flows to where and when it needs to be while maintaining its integrity and guarantees. Our mission is to enable this through simpler programming interfaces to very powerful distributed data and streaming patterns and technologies and through this, empower many more developers to build cloud-native applications quickly and predictably, while avoiding its inherent complexity. I know that Akka plays a role in this but so do so many other technologies out there—present today or to be born tomorrow.

As you can see, I want to take a big leap forward in how we as application and systems developers build real-time data-driven solutions, with data at the core and always available wherever the need currently is: cloud, edge, or hybrid. I need Akka for this and I believe Akka will become that much better through our investment in this vision.

29 Likes

What other database offerings are you interested in? What makes a database offering compelling in this space?

Welcome @ajwerner !

Databases make a great place to persist data of course. Akka inverts that database world, such that the in-memory Akka system is the source of truth and the db is used to persist, and recover entities as needed. I think that @james did an outstanding job capturing this in a post on Hacker News (specific to Akka Serverless but applicable to the broader Akka story, I think): The best of serverless and state without any of the hassle | Hacker News.

Historically, Akka customers have leveraged Cassandra. We have spent much time investing in non-Cassandra based integrations though (JDBC (Custom, Amazon RDS, GCP Cloud SQL) :: Akka Platform Guide) since we have seen other DB technologies become quite useful to the Akka user ecosystem.

There are many other DB options available to developers these days and we intend to provide flexibility of choice, i.e. you can pick which DB works best for you respective of cost, performance and data storage requirements. Yugabyte, CockroachDB, Couchbase, Fauna, DynamoDB, etc. are all great options and in some cases have different optimized values that might be critical for your applications.

I’d be happy to continue the discussion if the above is interesting but not complete enough for you!
Thanks for the question!

3 Likes