We’d like to take a moment to welcome and introduce (or reintroduce) Bob Killen, CNCF’s new Senior Technical Program Manager! Bob has been a member of the cloud native community for some time now and is probably familiar to many of you for his work on Kubernetes and SIG Contributor Experience. We’re excited that he’s bringing that experience to CNCF to focus on improving project governance processes and finding engaging ways to bring end users and maintainers together.
For those who aren’t already familiar, or those who are and want to hear it again, we’ve asked Bob to share his story and what he is most looking forward to in his new role within the cloud native community.
Can you give us a quick background of your work with Kubernetes and beyond?
Sure! It’s uhh… a bit of a long story though heh. It began in late 2013 when Jeefy (Jeff Sica, also a CNCF employee) and I were developing our own container scheduler using LXC, a sort of precursor to Docker, for our own use at the University of Michigan Hospital. We were attracted to it for all the same reasons folks are now, making it easy to package up and ship applications with a vetted stack, GREAT for both healthcare and research purposes.
Docker came along, and we quickly pivoted to that. Then, not too long after things started to pick up with Mesos and Kubernetes. The container orchestration system we built was quite rudimentary compared to those two and we were ready to ditch our homegrown system for one of those.
We liked Kubernetes, jumped into the google-containers irc channel and started to give it a go. BUT as you can imagine, Kubernetes in the early days was not really ready for production use. So, we went with Mesos, and it worked well for us until we both left the hospital in 2016 for ARC, the Advanced Research Computing side of the University. It was there that we both dove back into Kubernetes HARD.
We spun up and hosted several K8s clusters, all for Researcher self-service. ARC was traditionally a big HPC shop, but in 2017, more and more users were asking for apps, or like Jupyter Notebooks and K8s really lended itself for that. We built an entire research-oriented self-service platform where our users could spin up a catalog of research apps. They were happy, we were happy, and we got to do all sorts of fun experimental stuff like building science DMZs to filter 100gb traffic with eBPF, or running K8s on bare metal and attaching infiniband adapters to containers directly so they could do MPI. We were also encouraged to get out and give talks and, more importantly, TEACH people about this stuff. This is when I started to get more involved in the CNCF, and we convinced ARC to join as a Higher Ed institution, as well as trying to get others in Higher Ed engaged.
It was also during this that a local cloud native meetup started up, and at the first meeting, we knew we had found our people *laughs*. Jorge Castro, yet another current CNCF employee, was there, and he basically pushed us over the edge from being engaged users consuming Kubernetes, to actually getting much more involved upstream…and things kind of took off from there.
I still remember attending KubeCon North America 2017 and Jorge dragging me to the Kubernetes Contributor Summit. I didn’t think I should be there because I wasn’t an org member yet, but he basically handed me a contributor t-shirt and started introducing me to folks – Paris Pittman, Josh Berkus, Aaron Crickenberger, Tim Hockin, Paul Morie, and a whole slew of others.
It wasn’t long before I started regularly contributing in SIG Contributor Experience, and getting much more involved in K8s and the greater ecosystem. Since Jeff and I were both heavily on the research side, we wound up chatting with Ricardo Rocha from CERN and going out there to talk about what we can do to advance the field, bring High Throughput Computing (HTC) and batch more to the cloud native world. This was around the same time that I helped kick off the CNCF Research User Group to tackle these same issues.
Fast forward to the end of 2019, a bunch of releases and contributor summits later, Paris nominated me to take her place as chair of ContribEx. I was nervous & flattered and happily accepted…BUT…didn’t think I’d be starting off in hard mode with COVID right around the corner. Jorge stepped up as co-chair to help, but man, it was still difficult. I actually have some stats from that time that I shared in a 2021 KubeCon EU Keynote. COVID caused a 15% drop in maintainer activity across all the K8s orgs and a 24% drop in the main Kubernetes repo.
COVID was a blur – it felt both extremely long and short at the same time. I was elected to Kubernetes Steering, joined Google’s OSPO as a Senior OSS Program Manager, and made the transition from a part time hobby contributor to actually paid to work in OSS. It’s the dream right? I got to work with a LOT more projects outside of K8s helping build their strategies. It was great and stressful at the same time.
During all this I helped K8s navigate several big challenges, like dockershim, launching kubernetes.dev, and the registry redirect. Helped push through several governance changes aimed at making the project more sustainable. There’s a lot more, but those are probably the big ones in terms of “events”. HOWEVER, the thing I am most proud of is the people I helped mentor who have grown into their own leadership positions.
Kaslin and Nabarun were both part of our ContribEx leads mentor cohort aimed at essentially mentoring our replacements (Chairs & Tech Leads), and I’m proud to say they have both become excellent leaders.
Here we are now, they’re both successful leads, and I serve alongside Nabarun on Steering. I think thats the real legacy 🙂 The people legacy is the thing I’m proud of.
Soo..uhh, sorry that wound up being much longer than I thought it would be – but that’s kinda the TL;DR backstory of how I got to where I am now.
What made you want to join CNCF, and why now?
I’ve worked closely with CNCF in one capacity or another since 2017 so it hasn’t felt like a huge transition. *laughs* That is the wonderful thing about open source – jobs change, but the people are still around. I wanted to join CNCF to honestly help the friends I’ve made and the greater community at large be sustainable. I know far too many people who have burned out because they’re willing to put in more hours than they should to keep what they care about going.
The root of it is there is A LOT of unrealized value in these projects. It’s just not surfaced or communicated well enough to get the attention it needs from both vendors and end users. I can rant on on this subject for quite a while, but if you don’t mind a shameless plug – I talk about it at length in a talk I did at KubeCon Paris: Why is this so HARD?! Conveying the Business Value of Open Source
Also…it’s great to get the team back together again—or, as Jorge so lovingly calls it, the “Pod.”
What are you most looking forward to achieving with the cloud native community? Any challenges you foresee?
Creating ways to surface that unrealized value in the projects. I have a variety of ideas that could help create better incentives for participating and actually being able to track the impact of individuals’ & companies’ work.
I’m also a crazy process optimization person that loves to help simplify and streamline things. Thinking especially around projects changing levels. A good example is all the work going into DTR (Domain Technical Reviews) being led by Karena Angel. It SHOULD dramatically reduce the tasks that are blocking on a TOC or TAG member.
As far as challenges go…mostly time. *laughs* there’s ALWAYS more to do and not enough time. Sorry, that’s kind of a cop-out answer.
What are some of the most exciting trends in cloud native that you see taking off over the next few years?
AI!..joking…sort of. There are less “exciting” or directly noticeable things being developed to enable AI that I think will have a FAR reaching impact beyond AI workloads. We are seeing additional scheduling options with things like Kueue & Volcano. There’s more work going into the underlying K8s to make it more scalable and performant, not to mention DRA (Dynamic Resource Allocation), which opens the door to A LOT more possibilities with hardware.
We’re also seeing more development for multi-cluster management & scheduling, mostly for AI/ML type workloads to burst where there’s hardware available like Karmada, BUT that same functionality makes it dramatically easier for users to manage general workloads across clusters.
So yeah, I think the efforts being put into enabling better AI/ML workloads will actually have a greater long term impact on the general usage patterns of K8s.
Anything else you want to share with the community?
How bout my best tips for getting started with contributing? I had a tweet thread last year that explored this a bit.
- People are much more willing to help you if you demonstrate that you’ve spent time looking at the project first; show you’ve made SOME investment first..like did you look at the contributor guide and the other basics. Maintainers are already strapped for time and There’s a big difference between “Hey, I want to contribute” vs. “I’ve read the contributor guide and got my environment setup. I’ve found an <issue>, but have a few questions about how <thing> works, can anyone help?” That sort of dovetails into my 2nd tip.
- Start with a thing you KNOW, or have a good idea you can do. If you can, pick something you’re passionate about. Flex your experience. I have had dozens of people reach out to me about taking on an issue or getting involved in the most complex and difficult parts of the project without understanding the fundamentals of the project. It just leads to a lot of frustration from both you and the maintainer(s) that you engage.
- Take the time to learn the basics of git. You will have a MUCH better time if you are familiar with general PR based workflow, branching, squashing and rebasing. You don’t have to be able to do them without looking up a reference, but know what they are and when they should be used.
- If you open a PR, give it a little time before asking for reviews. Some projects have weekly triage meetings where they go through all open PRs. MANY projects are global and span multiple time zones, not to mention there’s still a good chunk of folk that don’t or can’t work on it during working hours. Now, it shouldn’t linger open forever, but take a look at some of the other PRs and get an idea of the general time it takes folks to respond before you start pinging people. The maintainers will appreciate it.
There are a few others in that tweet thread, but it really boils down to being intentional. If you show that you are invested and committed and do your research before getting engaged, you will have a much better time.
Trust me, maintainers WANT new people to come in and start contributing, and most importantly grow into maintainers. Maintainers will SERIOUSLY bend over backward to help or mentor those who show that kind of intentionality and commitment.
##
Please help us extend a big thank you and welcome to Bob!
If you’d like to reach out to him to say hello, share ideas for improving the contributor experience, or just have a chat, you can find him on:
- X: @MrBobbyTables
- Email: bkillen@linuxfoundation.org
- GitHub: mrbobbytables
- LinkedIn: @mrbobbytables
- Or CNCF Slack