#1 April 30, 2018

Kubernetes Community, with Paris Pittman

Hosts: Craig Box, Adam Glick

In this first episode your hosts introduce the show, give an update to the news of the week, and interview Kubernetes community manager Paris Pittman.

Do you have something cool to share? Some questions? Let us know:

News of the week

Gimbal

Docker

Kubernetes Best Practices

Certification

ADAM GLICK: Hi, and welcome to the weekly Kubernetes Podcast from Google. We're your hosts, Adam Glick--

CRAIG BOX: And Craig Box.

[MUSIC PLAYING]

We're excited to be kicking off our inaugural show with an interview with Kubernetes community manager Paris Pittman, which is coming up soon.

ADAM GLICK: We also want to talk to you about what's going on in the community, so you can expect to hear in our weekly shows interviews from across the ecosystem, news about what's going on in the Kubernetes world, and we'd also love your feedback to hear about what else to talk about here on the show.

CRAIG BOX: But first, let's have a look at some of what's been happening in the Kubernetes community this week.

ADAM GLICK: The Kubernetes startup Heptio, founded in 2016 by Kubernetes veterans Craig McLuckie and Joe Beda, have been working on projects that complement the core Kubernetes environment for their customers. Last November, they released an open source project called Contour, which lets you use Envoy proxy server, which you might be familiar with from Istio as Kubernetes Ingress.

They're now launching another early-stage project in this space called Gimbal. Gimbal was developed with their customer Actapio, which is part of Yahoo Japan, to help them integrate their open stack in Kubernetes environments. It builds on Contour and Envoy and provides service discovery, integration with both Kubernetes and open stack backends. In later episodes, we'll do a deep dive into the changing face of Kubernetes Ingress, as well as service platforms on top of Envoy, such as STO Service Mesh.

CRAIG BOX: My colleague Sandeep Dinesh has just launched a video series about Kubernetes' best practices. And so for the next seven weeks, there will be a weekly video helping explain a best practice for production-ready Kubernetes deployments. The first video tells you how to build smaller, more secure container images using Alpine Linux and the Docker builder pattern. Each video comes with a full tutorial blog post, so the best place to find these videos is at CloudPlatform.googleblog.com.

ADAM GLICK: Last October, Docker announced Kubernetes support in the Docker commercial platform. They have this week released version 2.0 of Docker Enterprise Edition, which brings Kubernetes support to general availability. You can now use the same tools to manage a Swarm as well as a Kubernetes cluster. They've also released new features for image caching and mirroring for people who want to run private registries.

Docker Enterprise Edition has joined Mesosphere's DCOS with first-class general availability support for Kubernetes. So if you're using Swarm or Mesos, you may find that it's an easy way to migrate to Kubernetes or run them parallel with these new tools. Feel free to check them out.

CRAIG BOX: AWS recently joined the Kubernetes community with their Elastic Container Service for Kubernetes, which is currently in private preview. No word on when it will be open to the public yet, but a promising announcement this week that they have joined the Kubernetes conformance program. The certified Kubernetes badge is available for distributions that certify their implementation of Kubernetes, and then also promises upgrades to new versions published in the hosted service at regular intervals. With EKS joining, we now have universal coverage with the conformance program of the top 60 distributions and platforms for running Kubernetes. This makes sure you can take a workload on any one environment and run it on any other.

Our guest today is Kubernetes community manager Paris Pittman, co-chair of the Contributor Experience Special Interest Group, or SIG, and leader of the world's largest Kubernetes meetup in the Bay Area. Paris, thank you very much for joining us today.

PARIS PITTMAN: Thank you so much for having me, Craig. And hi, Adam.

ADAM GLICK: Hi, Paris. Great to have you here. What's a day in the life of a community manager look like?

PARIS PITTMAN: Oh, it's definitely different by day. We do take a lot of transactional requests from the community. I do moderate a large variety of our communication platforms. So sometimes, I could be creating new groups for people to talk in Slack. It could be making sure that the mailing lists are working appropriately and communications are just flowing through.

And then most recently, preparing for KubeCon, so creating different events, making sure that special interest groups and working groups and things like that have time at the events to give updates. It could be handling disputes. It could be just a wide variety of things.

ADAM GLICK: And how long have you been working with the Kubernetes community?

PARIS PITTMAN: Since last August. Feels still Noogler status in Google, and very Noogler status in Kubernetes.

ADAM GLICK: There are lots of subgroups in the Kubernetes community, special interest groups, working groups, committees, et cetera. Can you tell me how they relate to each other?

PARIS PITTMAN: Sure, yeah. A special interest group is a group that owns a particular part of the code base or a particular part of a function of the code base, and they advocate on behalf of that and do feature work. And working groups are spread across the ecosystem of special interest groups. And working groups are intended to have a temporary nature or a temporary purpose, or they are producing some kind of product at the end of that time.

We're actually even talking about now spinning up maybe a possibility of another group, possibly even something like a birds of a feather, where people can talk about certain issues that don't necessarily have an end date or aren't necessarily a part of a code base. So there's definitely lots of opportunities for people to get involved in the project within the ecosystem, for sure, in how it's structured and laid out now.

CRAIG BOX: How many groups are there now in the community?

PARIS PITTMAN: We have 40 special interest groups and working groups right now.

CRAIG BOX: By some measures, Kubernetes is now the number two open source project of all time. What sort of programs do we have as a community to make it possible for new contributors to get involved?

PARIS PITTMAN: A ton, actually. We have recently spun up about seven different angles that someone could come in and accept mentorship with. So we are building a very robust mentoring ecosystem within the project. But then there's the very traditional ways, as well.

So first, I'll just tackle the traditional stuff. So traditional people typically jump into Slack or the mailing lists and ask questions directly right there and receive positive feedback and meet people that way, and just kick off conversations. Or they jump into some of the mentoring initiatives that we're working on. I'll go through some of those.

So first thing's first, we have group mentoring. That is sort of a SIG need type of activity, where, say, if a SIG needs a certain level of contributor, say they need more reviewers, for instance, we could spin up a group of people who are current members interested in that group and going to reviewers and train them up in a very semi-structured, self-paced environment over the course of three months.

Then we also have a one-on-one hour, which is very similar to what you hear in other projects. It's like a buddy program, if you will. But this is a one time, one hour activity where they get paired up with someone that just has maybe a little bit more experience in the project than they do, not necessarily somebody that's like a maintainer. I mean, that might work out, but not necessarily a maintainer, for instance. And then they can get a tour of the code base. They can do pair programming, and they can do really any activity that they'd like.

The third one is Outreachy, and Outreachy is a service that is great, because it gives underrepresented folks in open source a chance to get paid for their contributions, which is something that doesn't necessarily happen in open source. It's actually something that's probably a highly contested thing in the industry right now. But it gives underrepresented folks a chance to get paid for their project and start contributing to large projects like ours.

Then we also have Google Summer of Code, which I'm sure most folks that are listening will definitely be familiar with. And then we also have Meet Our Contributors, and that's a monthly live streaming event that happens where folks can ask direct questions on either the Slack channel or on Twitter. And these questions can be, how did you get into open source, all the way to am I doing this right, why are my tests failing, what's your favorite color, really anything that you'd like to ask a contributor about. And that's sort of a mentor's on-demand feature.

CRAIG BOX: What is your favorite color?

PARIS PITTMAN: I would say blue and be brownnosing for Kubernetes blue, but--

CRAIG BOX: Well-chosen.

PARIS PITTMAN: --probably black.

CRAIG BOX: What lessons have we taken from other communities, and what are we giving back to other groups to help them jumpstart their communities?

PARIS PITTMAN: Probably the Node.js community. We do take a lot from there, as far as our governance structure is concerned, how they handle disputes, their committees. Well, we actually take code of conduct from the Cloud Native Compute Foundation, but that was actually taken from the combination of several other open source projects.

There's definitely a lot that we learn, even on a daily basis. And when we're researching new things, like for instance if we decided to go to another messaging platform, we'd look at how other open source projects do it, especially with a scale like ours.

And as far as giving back, we do work very closely with other rising open source projects who look to us, especially in the infrastructure world, for guidance, like for instance, Istio. I work closely with April here, who's the community manager for Istio, and the messaging platform thing again. But they were just looking for messaging service providers as well, and came to us about Slack questions and what would work there, and what wouldn't work for them.

So it's really cool to be around this environment where we can really affect other open source projects, but then also really gain knowledge from other large scale projects like Linux and things like that.

ADAM GLICK: You mentioned messaging, and I know that can sometimes be a hot topic in the community. What are some of the other hot topics that are going on in the community discussion right now?

PARIS PITTMAN: Yeah. Messaging is definitely a hot topic. I think any time you're not using open source infrastructure to manage a project, it's definitely a hot topic.

Kind of what I was talking about initially with the special interest groups and the working groups, that's a very hot topic right now. Now that we are evolving and saying, wow, 40 special interest groups and working groups, is that a large number? And how can we maybe make this more consolidated? More and more proposals for these working groups and special interest groups are popping up.

And the question really is, do we need this proposed topic, and how is this proposed topic going to influence the rest of the ecosystem? Should it be within Kubernetes? Should it be Kubernetes' responsibility to do some of these things?

A very specific example would be developer tools. That's a very recent conversation that's been brought up. And the proposal is for a working group. Some folks think that's a very opinionated space, too opinionated, actually, for the ecosystem, and one that we necessarily shouldn't be in, while others think that, yes, we should definitely start to help people out and alleviate some of those pain points that they're feeling with developers tools, and maybe even open up the place for research in those areas.

CRAIG BOX: Could you give me some idea of the scale of the Kubernetes community?

PARIS PITTMAN: Yeah, I guess that would just depend on how you define the word community and what exactly you're looking to measure from the word community. I mean, we could take a look at people who are pushing PRs and making direct impacts to the code base, or we could look at people who are filing issues who are more user types, and letting us know where there's gaps or security concerns or anything along those lines. And all of those people we would consider a part of the community.

So as it stands right now, I think we have somewhere over 13,000 contributors. And that would be people who are filing issues as well as pushing PRs and commenting on things and doing code reviews. So it's definitely a very, very large community.

CRAIG BOX: What's the minimum useful thing someone can do to be part of that?

PARIS PITTMAN: Wow, that's actually a good way to put that question. Filing issues is one. I mean, that's something that I think our developers are probably cringing listening to, like no more issues, please. But if there are bugs, if there are major bugs, then yes, we want to know about it. We're still at the stage in this game where, yes, we need to know about major flaws in our product. So yes, filing issues is one.

Docs is another huge thing. I think it's huge for any open source project. You hear docs all of the time when people talk about how you can contribute. Docs is usually the number one way to come up. It is still the number one way here. We've had a ton of co-contributors actually rise from docs by seeing kind of the movers and shakers and going on behind the scenes by the means of docs. So I think that's a very valuable contribution where people can kind of hit the ground running and see just firsthand what's going on.

Also contributor experience. Clearly, I'm biased. But it's actually a great way to also jump in and figure out what's going on with the project. People have made their first contributions by poking holes at our contributor guide. As they're getting set up, they can say--

CRAIG BOX: That's very meta.

PARIS PITTMAN: Yeah. As they're getting set up, they can say, hey, this kind of stinks. I think this process could be a little bit easier here. And then we say, thank you so much. That's an idea or a hole that we never even thought of before. And we really appreciate that.

ADAM GLICK: Awesome. Docs are one way that people can get their questions answered. What are other ways that people can get engaged and kind of learn more about it as they want to be part of Kubernetes or just learn more?

PARIS PITTMAN: I think any of our communication platforms would suffice as a support line, at this point. I even see Twitter as an awesome way for people to get support. But Stack Overflow is still probably the best place for actual real-time support. But there are tons of tutorials out there, tons of blog posts, tons of lists of Twitter influencers who are teaching Kubernetes topics.

We actually even have a Kubernetes teachers Slack channel. But the Kubernetes users Slack channel has 35,000 people in it, all asking questions on a real-time basis. And it's really cool to see what questions are being asked.

We actually did run a Slack-approved bot in there recently to kind of see if we could pull out any trends and see if we could get those trends better addressed in docs. But luckily, all of those trends were things that were already being prioritized, like CRDs and things along those lines. So there's a lot of ways to gain support and to gain entrance into either the user or the contributor elements.

ADAM GLICK: Paris, I know that you've worked with other open source communities in the past, especially with your work when you were in the Baltimore coding scene. What's different about the Kubernetes community?

PARIS PITTMAN: Yay, Baltimore. Oh, lots. The scale, just the sheer magnitude of both users and contributors. But of course, things like our testing infrastructure, I think, is definitely different than a lot of other open source communities.

We have a powerhouse team, a special interest group that works specifically on that. And yes, containers in Kubernetes are running the testing infra, of course. But things that they work on, like the bot commands, are really helpful to our contributors in keeping the issues down and manageable and really organized. And Prowl, which is validating our human-approved pull requests and making sure that the health of the branches are OK. And

Then, of course, I think the chopping water and carrying wood roles, I like to call those glue roles. I think Craig may have said something that I've heard before, like herding cats. We have tons of people in those roles. Not many communities have that luxury, I think.

And I think that's the differential between our community and others, is that we do have people in those roles with major companies that are contributing. But we each help out in our own ways, whether its with the release team or with events or with just contributor health. We all kind of take an area and really help those areas grow. And like I said, other open source projects, unfortunately, don't have that. They have a lot of engineers who are working on engineering things. And so its very helpful.

CRAIG BOX: Can we loan them some?

PARIS PITTMAN: Yeah. I don't think so, because I think we're all very tired and busy. But we will absolutely loan advice and best practices.

CRAIG BOX: How do you communicate with 13,000 people across all the time zones of the world?

PARIS PITTMAN: Communication is definitely a challenge with that many contributors. But then when you're adding in users, too, then it makes it even more crazy. I mean, just with Slack alone, Slack is a major player in our communication and messaging platform strategy. And we have almost 35,000 people on Slack alone. So Slack plays a big part in that.

Our mailing lists also play a big part in that, because that's where a lot of decisions are made. Between mailing lists and GitHub, that's where you see the decisions play out. But no matter what mailing list you're on, there are different decisions being made in different time zones.

There's also Twitter. There's also Discourse, which we're actually spinning up right now. That's a very new thing for us. We're going to give it a whirl and see how that plays out. And then, of course, Zoom Meetings.

We have special interest groups that meet mostly weekly, if not biweekly, to do updates with their members. So there's all types of face-to-face meetings that are going on, as well. So definitely a huge platform, a variety of communication and messaging services.

CRAIG BOX: And finally, what would you like a new member to the community or a new contributor to know before they get involved?

PARIS PITTMAN: Sign the CLA. No, I mean, I feel like that, again, is any open source project. But we see, still, so many people who make that contribution or attempt to make that first contribution, and then they get caught by the bot, and the bot's like, warning, and this person has not signed the CLA. So no, CLA is definitely important. If you know you're going to contribute, just go ahead and sign the CLA. That's the easiest piece.

The next easy, in my eyes, is just to use the product. We have a lot of very enthusiastic open source folks who come to us and say, yes, let me help you take this to the next level. How can we help?

Or Go enthusiasts, because Kubernetes is written in Go. And for us, it's first, why don't you get the product down and really understand it from a user perspective, because that's the best place for you to start adding value is by poking holes within it and seeing the contribution that way.

CRAIG BOX: All right. Paris Pittman, thank you very much for your time today.

PARIS PITTMAN: Thank you.

CRAIG BOX: If you want to get in touch with Paris, you can find her on the Kubernetes Slack at slack.kubernetes.io with the handle Paris, on Twitter @ParisInBmore, B-M-O-R-E, and you can check out our show notes for links.

ADAM GLICK: That's all we have time for today. If you enjoyed the show, please tell a friend. And if you'd like to get in touch with us, you can email us at kubernetespodcast@google.com. You can also find the show notes on our website, kubernetespodcast.com, and you can follow us on Twitter @KubernetesPod. Until next week.

CRAIG BOX: See you next time.

ADAM GLICK: Have a great day.

[MUSIC PLAYING]