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:
- 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;
- Akka Projections has been improved through feedback from the Akka Serverless product and users;
- Akka gRPC performance was dramatically improved through working through Akka Serverless production issues;
- 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:
- More Alpakka connectors to additional database offerings, e.g. Yugabyte;
- More flexible data passivation strategies for Akka Persistence;
- 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.