+1 from me too. Thank you for taking this on. From: Rob Allen <[email protected]> Date: Friday, October 17, 2025 at 5:05 AM To: [email protected] <[email protected]> Subject: [EXTERNAL] Re: Apache Pekko Migration
Hi, This sounds like an excellent thing to do. I’m not qualified to review at all, but I’m in full support of the move. Regards, Rob > On 16 Oct 2025, at 20:16, Brendan Doyle <[email protected]> > wrote: > > Hello whiskers, > > It's been a while! I'm reaching out today about migrating Openwhisk off of > Akka to Apache Pekko. Following the license change of Akka back in 2022, > the Apache community created a fork to maintain the open source nature of > the Akak framework within the Apache organization. Three years later, the > project is quite successful and stable such that I feel we are ready to > make the cutover. As far as I know, all other Apache projects that were > taking dependency on Akka have already made the switch. > > Why do this now or at all? > > 1. We have been stuck on Akka 2.6 for over 3 years. The core framework of > the project dictates what other versions of transitive dependencies we can > run. Without being on a version of Akka / Pekko that is actively > maintained, we cannot properly patch dependencies to handle critical bug > and security fixes. > 2. Many of the dependencies we rely on are severely outdated due to the > reliance on the last Apache licensed version of Akka. Taking this > opportunity to cutover to Pekko allows us to do major revisions on > dependencies that are long overdue. > 3. By having the project in this healthy state again, it should motivate > people to make small updates as needed surrounding tooling and running the > project that would be an insurmountable change in the current state. > > I have a PR <https://github.com/apache/openwhisk/pull/5551 > open that is > near ready for review, which is why I'm sending out this email now to get > attention as soon as possible. I just have three failing unit tests > remaining to resolve. I have already tested the change in running clusters > and all looks good. The PR may look daunting at +400 files, but I promise > after doing a self review this morning only about ~25 files require any > look, mainly the dependency and configuration files. I estimate it will > take approximately twenty minutes of your time to review. The rest of the > files are just import name changes. The PR is clean and only updating > dependencies as necessary. The cutover to new clusters should be quite > transparent apart from the changes under the hood from where we were on > Akka to the latest version of Pekko, which in my wide experience with Akka > should be trivial from where we were on 2.6. > > *Here is the important part. Merging this in will be a breaking change so > far as it requires you to start new Openwhisk clusters through blue / green > deployment. Rolling upgrade of existing clusters will not work. While > Apache Pekko supports rolling restart cutovers, our current state does not > leverage this because we are on Akka GRPC 1.x and Akka Kryo serialization > w/ Kryo4. Pekko is forked off of Akka GRPC 2.x and Akka Kryo serialization > w/ Kryo5. Both of these major upgrades would require new clusters even if > remaining on Akka. Now is a good time to get them out of the way so we do > not have to address this again indefinitely since we'll be on the latest > Pekko GRPC major and *Kryo5* serialization is latest.* > > Now on how do we integrate this into the project. Either we merge my PR > directly to master or we open a v3 branch. With the current velocity of the > project such that for a couple years now the only updates have been > dependency and build updates, my opinion is we just go straight to master > especially with the bug and security fixes included. Additionally, we only > ever had one official release of 2.x which was also a breaking change in > similar capacity. Besides getting eyes on the PR, I'd appreciate responses > on if people are okay with merging the PR directly to master and changing > the version to a 3.0.0-SNAPSHOT? > > Lastly, I would like to take this opportunity to discuss with the community > our status and our use of the project for full transparency. We have been > working for a couple of years on our next generation platform and strategy > for internal usage of FaaS and will be winding down our usage of the > project by 2027. When it is all said and done, this project will have > served us well for nearly a decade. I would like to take a moment to > applaud @style95 and his whole team for what they accomplished with the > scheduler. Without this work, we would not have had the stability to > allocate resources to work on the platform that would come next for us for > the last two years. > > For me, I will still be around personally to give feedback on any project > discussion or help keep things healthy with build and dependency updates > after 2026. Following this change, it should be trivial for us to keep the > Apache project stable for a very long time for the open source and research > community to continue on or expand Openwhisk. > > Thanks, > Brendan Doyle > > Brendan Doyle > Staff Software Engineer, Async Platform > > > >
