The Kubernetes 1.11 release became generally available on June 27, providing users of the container orchestration with multiple new features and continued performance improvements.
While Kubernetes releases were originally all led by Google staffers, that has changed in the last two years, with a rigorous release management Special Interest Group (SIG) that has mandated a new leader will be selected for each release. For the 1.11 release, the role of release lead was held by Red Hat’s Josh Berkus, who is well known in the open-source community for his work helping to lead PostgreSQL database releases.
“What’s similar is the role of the release lead: marshaling all of the independent teams and contributors required to put out a release, including developers of each feature, documentation, release notes, PR, builds, and bug fixing,” Berkus said. “Being a release lead is like playing pinball with 8 balls, and you’re the flipper. It’s not your job to actually fix anything; rather, it’s your job to keep everything in motion and progressing. There’s a lot of nagging involved.”
There are other similarities between PostgreSQL and Kubernetes as well. Berkus noted that both are infrastructure software projects, and as a result you’re less concerned about releasing directly to users and are instead more concerned about your ecosystem of vendors who will embed your software in something or offer hosting for it.
“What’s different is that Kubernetes is a much bigger project, by an order of magnitude, and is much more organized,” Berkus said.
Berkus explained that with Kubernetes there are systems of required labels and merge approvals. In contrast, he said PostgreSQL still packages a release pretty much the same way they have for 15 years, with a couple of small changes. Additionally, because Kubernetes is a huge project, there are a lot more people involved with a release. Berkus said there are 10 listed positions on the Release Team, in addition to the SIG leads, the testing staff, and a lot of other roles.
The most important aspect of how PostgreSQL and Kubernetes differ in terms of release management has to do with recognizing the release process as being about more than just shipping a collection of bits.
“Kubernetes looks on the Release Team as an opportunity for mentorship,” Berkus said. “Every quarterly release, we change who’s on the team, and each team member tries to select a shadow who is being trained to do the next release.”
“This both avoids burnout on the team and makes the team an ‘engine’ of building up new contributors,” Berkus added.
Sean Michael Kerner is a senior editor at ServerWatch and InternetNews.com. Follow him on Twitter @TechJournalist.