Hello all,

Following our meeting last month, I want to start the discussion on doing a
new major release of Openwhisk and what we need to have done before doing
so. These are exciting times as this work has taken us years to get us to
this point. Work on the new architecture began before Covid and now here we
are in 2023 nearing the finish line. Thank you to all that have made
contributions to the project over the last few years.

The plan is to make Openwhisk 2.0.0 default to the new scheduling
architecture. We will keep the old invoker / controller scheduling code in
the repo for now for existing users that rely on the old architecture and
are not comfortable upgrading.

I believe that the new scheduler is production ready or at least as close
as it's going to get before an initial release and we can continue to sniff
out any remaining bugs.

These are things I would like to see get done before we cut a major release:
1. Max Instance Concurrency for Action Configured by User
<https://github.com/apache/openwhisk/pull/5287>
2. Built In Action Versioning
<https://github.com/apache/openwhisk/pull/4986/>
3. Cutting over to Pekko if we decide that's the path forward from Akka.
This discussion is still sort of pending. The release becomes dependent on
an initial Pekko release if we decide to go with Pekko. If there's any
special migration procedure for an existing cluster, this is why I'd like
to see this included in the major version release so we don't have to do
another.
4. Documentation for upgrading to 2.0.0 w/ the scheduler service and any
behavior changes from 1.0.0 / the latest commit on old architecture.
5. Nice to have would be a public article from the PMC team on the new
architecture and benefits of 2.0.0.
6. Zookeeper removal would be nice to have but I don't think it should be a
blocker since it's such a minor dependency w/ alternatives already as I
removed the requirement to supply the config, I believe it can be removed
later with a minor release.

Now, I would like to open the floor if there's any low hanging fruit that
we would like to take the opportunity to remove by having a new major
release. I.e. are there any deprecated runtimes default bundled in with the
release that we would like to remove entirely from the repo, changing any
defaults, etc?

This is not meant to be the vote on a new release, just discussion as we
start preparations. Part of this discussion can be what kind of timeline we
think is reasonable.

Thanks,
Brendan Doyle

Reply via email to