 Hello, Kubernetes community. Welcome back to OpenShift Commons. I'm Chris Short, Principal Technical Marketing Manager at Red Hat and Cloud Native Computing Ambassador. I'm honored to be your host today. Today we're joined by someone who I look up to as a guide for how to act with dignity and respect. Also, I have sought out career advice from our guests today, and so far they haven't stirred me wrong, so thank you for that. I'm happy to be joined by the one and only staff developer advocate at Google, Kelsey Hightower. How you doing today, buddy? I'm happy to be here, but I'm even more happy that I didn't steer you in the wrong direction with your career because that would be bad. Well, you're here, so, I mean, that's a good indication, right? Yes. Tell the audience about you, what you do at Google, what you do for the broader tech community as a whole kind of deal. I have to keep it short. I'm a technologist at heart. I have various HR titles. You know, I've done really well at Google. I've been working with the technologies, and when you think about Kelsey the whole person, there's this minimalist behind the keyboard, there's this vegetarian, there's this person who really believes a lot in financial independence, and I really like meeting new people and helping them be a better person and hoping that they help me do the same. So that's wonderful. That's good advice, I think, for everyone in this industry, so that's why I often listen to Kelsey. So you do a lot of work to actually help others in the community, and you put it out there for everyone to use, and I think one of the larger pieces of work I discovered early on was Kubernetes the hard way, and yeah, that's the hard way, all right. What inspires you to build and maintain things like that? Because you also have another great project called NoCode, which has tens of thousands of stars on GitHub, too. Yeah, it's funny, the NoCode GitHub repository has 3x more stars, and we're talking like 30,000 stars on that repository, and there's literally nothing there. Versus one that takes me like hours to maintain and keep updated that in some cases... Every quarter. Every quarter, every time there's a new Kubernetes, at least I have to go re-evaluate with the guide. But the premise behind Kubernetes the hard way was really trying to do my part to return the favor to all the other people who've written blog posts and books. I consider myself self-taught, self-taught programming, self-taught system administrator, and even though we use self-taught to get started, it's the people we work with, the people throughout our careers that help us be better, and along the way, you have an opportunity to share what you know, and I do that through various mechanisms, whether that's a keynote stage or podcasts like this one, but Kubernetes the hard way is where I said, let me just sit down and try to take everything that I know about Kubernetes and put it in a guide that's so tedious, I mean, so laborious that when you're finished, you feel like you've accomplished something, and in truth, that level of education that you get through that guide, I think will live with you forever. Yeah, I mean, to be honest, if I have a problem with a core Kubernetes thing, I'm gonna look at that guide and how would it be set up, how is this different kind of thing, that is always very helpful, but I think you mentioned in your intro that giving back and the receiving back, I'm sure when you sat down and created it for the first time on whatever the first version was of Kubernetes, there's a lot of missing pieces from your brain that were missing from that repository as well. Did you see a lot of people immediately giving back or did it take some time? I mean, what was that like for you? I love the way you phrase that, like giving back, because what people tend to do in open source is they'll open these issues and be like, what the hell are you talking about? That's not how you do that part, but for the majority, I would say, the far majority, there are people saying, hey, I understand that this is just a tutorial, but you could really tighten up security here instead of using one SSL certificate for all the components, how about you generate one certificate per component so we can show people that's not necessarily the best practice, even though it could lead in that direction, but security is a big trade-off so that they can learn to value all the hard work that goes into the tools that try to do the right thing. Yeah, that is a weird, like, as a teaching instrument, I know that over the years, like various, you know, I consider myself self-taught too, but over the years I've taken, like, you know, like, like, certification classes and stuff like that, and it's always interesting to me to find that very thin line between teaching people the right amount of security so they don't hurt themselves or, you know, whatever they're building versus teaching them how to actually use the product, and, like, there's that, or project, there's that problem nowadays where they're kind of both just as important. Yeah, I learned a lot about Kubernetes writing that guide, right? So as I'm writing this guide, I often had to ask myself a question, is this still the best way to do this piece? Maybe something's changed since I've learned it. Right. I often find that problem with, like, Ansible as a project that I've worked on extensively, right? Like, from version to version, it is a different, and I just discovered some old, I found an old Raspberry Pi in my house yesterday that had been running for 400 days and there had been automation for it and everything, and I could have been running it, but I had forgotten about it for 400 days, at least. So, yeah, like, going back and having to figure out, like, why did I do that? Why did I do this? Is there something new in Ansible that could help me with this? That's going to be challenging. And it would be, like, you know, going back two years in time and knowing that amount of Kubernetes and then stepping forward now to, you know, 117 today and saying, okay, where do I, you know, fix what and where kind of deal? So, yeah, it's got to be challenging to maintain not just the continuous skillset but the continuous learning. Like, how do you keep up to date with all this stuff? Well, people will help you, right? So, a big part of learning, part of the learning process is putting out there what you already know and allowing people to kind of pick at it, maybe highlight areas where you have gaps, and a lot of times their feedback will help you fill those gaps or putting you into a direction, like, for example, on Kubernetes the hard way, people may get to the networking component and say, I don't really understand this whole, like, how are you making networking work without having weave or calico in the mix? And then what I have to do is, like, remind myself, okay, L3 networking, how do I get this down into one and two sentences where I could, you know, maybe answer the question for this person, but then it also says, wow, yeah, I am not answering that question in this guide. Maybe I should, or there are some cases where I say, man, I can't answer this question. Let me go do some research to figure out why this is actually working, right? I know how it works in concept, but I need to really get a concrete answer here. And this is how I just kind of stay on top of things, and I just love to keep tinkering. Hmm. Yeah, you do have to kind of be a, not a blunt for punishment, but like one that likes to turn every screw and adjust every, you know, bolt to see what it does kind of feel. You know, did you, you know, were you one of those kids that grew up and like took things apart and put them back together? I mean, was that the Kelsey Hightower of Olden Day? Just out of curiosity. No, if you knew the old Kelsey Hightower, right, the guy growing up through middle school, I mean, I would consider myself a cool person. You know, I cared about how I dressed and I played sports. I played three sports. I was more into athletics and just like the social aspects of life. And I really enjoyed that part of my life. I didn't touch really a computer until like the 10th grade. I didn't even think about any of this stuff. So I would probably say, yeah, I probably would help put together some furniture here and there. I probably cared about video games like Nintendo was my thing. I can remember playing Tetroid without any help, right, without a GamePro magazine. So I'm showing my age here. That was cool stuff when I was a kid, so you're not showing your age that badly. Right, you remember like GamePro, you would get an article and you would look at it and you could actually fold out to various levels and it would show you the whole world about how you go. And I remember just playing Metroid, I was like, you know what, I'm not going to use any of those. I just want to explore the entire space. And I think that thought process, that willingness to kind of complete something is what I find very useful and tech today. Yeah, that would be super useful, especially like at that, you know, scale, right, like putting a guide together versus, you know, what, 8-bit or 16-bit video game completing that I feel like is similar levels of effort, especially if that video game is having a new series in its franchise frequently. Let's shift gears here. Let's not talk about old school games. Let's talk about current, you know, Kubernetes fun stuff. And I'm going to be selfish and ask, you know, it's great. It's awesome as far as teaching people Kubernetes internals. What is your opinion of things like OKD4 or some of the other tools that are out of the box, these full-fledged cloud-native experiences or Kubernetes distributions for lack of a better term? How do you balance the two, right, as far as effectiveness and teaching them versus productivity, right, like where on the Kelsey Hightower spectrum do you see both sets of skills being, you know, useful? I would probably say most technology in my life I don't know how it works 100%. Right, like, I have a good idea how microwaves work, but I am not really interested in studying them. I can put things in there. I don't blow up microwaves, so I assume I'm pretty good at it. And I think for the things that are core to me, like I work at Google Cloud and Kubernetes is a core technology for me. It had my personal interest before joining Google, so I find it necessary to understand how it actually works. But I don't expect that to be true for everyone else. I expect everyone else who largely looks at just consuming a Kubernetes cluster. Like, when I think about the cloud, for example, we don't ask you to set up a hypervisor first before you can get your first VM. No. That's not the contract. That's not the expectation. No. It's just so early in the Kubernetes journey that you have the option of setting up your own cluster from scratch. I also like the idea of distributions. I can remember when I first got into Linux I used to use tools like Slackware or Gen2 because I wanted to earn my stripes. I wanted to be like, yo, I spent 10 days recompiling OpenOffice before I used it. And I had to add four modules to Linux kernel to do it. Yeah, exactly. And I think when I looked at distros, like Red Hat is where I remember I was a Red Hat certified engineer. And I was like, you know what? I'm done with this recompiling thing. Yum install OpenOffice. I'm done with that. So I think it's always worth as a technologist especially when it's in your field of responsibility. You probably want to know how it works even if you plan to use a tool out of convenience because you're going to be responsible for ultimately troubleshooting that thing in production. So using an automation tool doesn't absolve you from the ultimate responsibility of your applications running on top of that. No, I don't disagree with that. And I think that's smart, but I think we've also hit this weird and kind of like little advancement point of needing not growth but like feature change at a velocity that I don't think everyone can fully embrace the entire technological stack and that's why we've got specializations. So, but even something like load balancing. Just look at the OSI reference model. If you learned all the IP protocols in and out, that would be a lifetime of knowledge. So it's eventually I feel like Kubernetes is going to get to the size where that's not going to be possible anymore. And what do we do then? I don't think it's possible now for most people. Right. Even for me, like it's just overwhelming. For example, I haven't gotten a chance to touch any of the Windows stuff. That's just a That's like a whole dark box to me right now. Yeah, you're right. So we're already in that world and this is where we kind of rely on distributions to bring in the right components and pieces we need. So, yes, I am very happy that these various tools for installing Kubernetes exist because you got to remember the way I consume Kubernetes these days is I click a button and the cluster comes up in about five minutes and then off I go. Yeah. I mean, there's value in that. But you understand like underneath the hood, right? Like if something goes wrong, how to fix it. There's power in that too. And I think you can do both, right? Like you can have that distro out of the box and have it kind of help you along the way and learn how it's done but make sure that you learn the things that are going to break in your application for the way you're using it and learn those things before you deploy that and then grow as you go kind of thing. When it comes to open source in general, the thing I appreciate the most is not whether you should or you shouldn't. It's the fact that you can. If you want to learn how Kubernetes works, you can do it. You can go to GitHub. You can ask questions. You can look at the implementation. That's the real power. I think not necessarily here on this show, but in general people tend to get very defensive about whether you should be learning these low level details or not. But that's not how education works. Right. Education is kind of this thing that when you get the opportunity to learn and you're not prohibited from doing it. That's the power of education and every individual has to decide what things they should spend their time getting educated on. And traditionally the more education you have tends to work out in your favor. It's true. When I think of some of the great historians of time, they were always a historian and something, something, something like Mark Troyin was all these things before he wrote all these books kind of deal. That's a very good point. But what do you see in that kind of sense, right? How do you see organizations like I think you've mentioned this before. You don't want to see people lose all their data or whatever. How do you see organizations using Kubernetes right now in a way that maybe isn't the most beneficial and what is the most common one of those? Throwing everything in Kubernetes I know is something that I personally steer people away from doing. If you have stuff that works, use that as kind of your true north and make sure you move new things in there first and then figure out how to get sure. Money paying things in Kubernetes, organizational importance things in Kubernetes as necessary, not like immediately kind of thing. What do you think organizations are doing wrong? Like out of the gate with Kubernetes? What I see people doing with Kubernetes is probably not necessarily wrong. Or just not optimal. Yeah, it's more about a lot of people refuse to be patient with the system. Like a lot of people have spent like years with Linux before they're able to do some of the things they're doing today and people still struggle with Linux. When it comes to Kubernetes, I see enterprises say, oh, I heard Kubernetes is working for all these other people. Let's just do it too and while we're at it, let's refactor all of our apps into microservices and while we're at that let's go ahead and bring in this Prometheus thing we keep hearing about while we're at that. Let's rub some service mesh on it and you know what, just for kicks let's move that stable database into it as well and now we're off to it. That's the next initiative and you're sitting back like why would you try to take on all of that at one time when you just got done telling me that it's hard for you to adopt new technologies. It's hard for you to patch the existing systems you have. Why do you believe now that you're going to suddenly find all of this extra time bandwidth and skill to take on all of these things that you've never done before? Like I encourage the fact that people are open to new ideas. That's what we need but I think a little bit of patience and pragmatism is going to allow you to bring in those things as necessary put them to use finish the mission and get them into production. Yeah, I mean what and it's interesting because there's all these new technologies now. Like I remember in the 90s it was like you were a Microsoft shop, you were Atlantic shop, maybe you were both if you were lucky but if someone were to tell me back then like you're going to adopt seven new technologies at once I would laugh them out of my office or wherever I was working at the time because there was no way even back then like you could do that. I don't know why people think we could do it now with more stuff. I don't know why there's this high need to just embrace everything now. That's what I'm trying to figure out. I think just as my view I don't really see it as more stuff because all the stuff that I see right now really rhymes with the past. So maybe people aren't repeating themselves by building a new version of Apache. But there's definitely some rhythm in the fact that Envoy does a lot of things that Nginx or Apache used to do with a different configuration language or the different assumption that everything can be API driven versus a config file. So what I'm seeing is basically technology has gotten to the point where almost anyone can start remixing the things before. It's just like music right? I remember a time where if you wanted to record an album you would have to go to a big studio, a major production studio, get a sound engineer to make a song. Now you can go to a store buy equipment at your desk, mix it at your desk and upload it to something like Spotify for less than $500. So then what you end up with is an explosion of music. And it's funny because what you'll hear sometimes is that people will recreate melodies or patterns because there is previous music that they've never heard before and they just kind of remix it in some ways kind of by accident. And I think that's what we're seeing today. That's interesting. The API versus the config file and how all the new things that are coming out are just evolutions based off the time they're created. It makes me wonder though how long that can keep going before we've just got this House of Cards of abstraction layers. I'm hopeful that that doesn't get too flaky too fast. The same thing about music. There's too much music. So then what happens is you give the rise to the curation. So now curators start to really play a prominent role in helping people make decisions. And the nice thing about that is you may make decisions based on sovereignty what country you're located in you may make decisions based on how compatible a thing is with your thing that you currently have. And just like in music those platforms start to rise up and say hey, you know like Red Hat will say this is the way you should run a Kubernetes. This is the Red Hat remix. This is the Red Hat remix. We're gonna bring in the low balancer. And then what you do is you start to say you know what I gotta just trust the DJ. I mean I listened to this radio station because the DJ is gonna make sure that I stay up to date on the right music. And when I'm interested in another drama you may go over to another DJ that can help with that curation. That is interesting and I think it Kubernetes kind of creates that you know standard kind of $500 DJ box set that you mentioned you can go buy at the store now and set up on your desk as far as the standard set of APIs that people can build towards for sure. That's interesting. But now you're gonna see the creativity blow up because we were only getting creativity from a very small set of people who understood all of this stuff. But now we're saying to the average person like yo you know what you can actually start with the Kubernetes API and build any system that you can imagine. And some people are now spitting out workflow engines various CICD solutions so much to the point that the existing incumbents like Jenkins right to kind of for many people is considered like the gold standard in CICD now you got people building these things on top of Kubernetes giving hints on how Jenkins should improve and Jenkins has improved by learning what people have been doing because now people don't have to start from scratch they can actually leverage a system like Kubernetes and innovate in ways that's hard to do when you have to start from ground zero. 100% agree right like the idea of creating an API from a few lines of code is amazing to me right and you can just do that in Kubernetes and you know that to me back when I first was getting into tech you know like hardcore it was oh everything is going to be API driven and now it's just API out of the box kind of deal so that's pretty fun the the the speaking tour kind of thing that you're on right now you want to tell people about that like why you kind of jumped into this and why we're talking right now in general Oh so the back story there for those listening I would just you know every once in a while on Twitter I like to just kind of give my thoughts and ideas about various things that are going on in a technology landscape a lot of times that's associated with things like Kubernetes and I've been throwing out some ideas and concepts around configuration as data or that the evolution of Kubernetes is if it's going to be successful like like mobile devices or the internet it's going to have to disappear and give rise to higher level platforms that people can use and at some point you're like you know what that's enough tweets and if anyone has a dope podcast hit me up I'll love to come on your show and you forget that Twitter is like broadcasting you know to the world roughly and you end up checking my DMs and I was like wow there's like 20 podcasts I've already done 10 of them and I got about 10 more to go but what's been really nice about this is that each host brings something new to the conversation and I'm finding new ways to explain similar concepts with different words and different analogies but I think the variety has been really helpful for me to really crystallize these ideas in my own head. That's good to hear. The idea of like these these complex you know systems being explained in simple phrases like that is something that I've continually struggled with and I've always had to relate you know something someone has known with the thing I'm trying to teach to them and that I think is going to get harder and harder the faster we build on some of these things and those subtractions keep going and to be honest with you it was easy you know when the Windows computer was basically the first computer with the UI that was graphical kind of deal that was the first OS kind of deal but now it's everything has APIs everything's going to have containers so I think it's super interesting to like kind of have to flavorize the way you talk to certain people based off their experiences or what they know or you know how to explain these things so what's like the coolest you know what's the coolest analogy you've come up with than the 10 shows you've done so far I actually don't remember them and even better about recording. Yeah yeah so I'm going to go listen back and collect them because I think there's a few I used today that I think would be helpful in a written format or using another context and I think you also highlight something that's also important a lot of the good analogies come from experience so the more people we have with different types of experiences in the world are going to be able to produce analogies that no one else could think of and I think that is the key to helping us all explain these complex technologies we need more stories and in order to get more stories we're going to need more people 100% agree and that's the beauty of it that's why I appreciate open sources because I remember it when it was just X and you use that and the amount of creativity that was possible was somewhat limited and now it's skies a limit almost right like it's what human capacity is capable of so that's why I'm super hopeful for the future at the very least. So Kelsey what other fun things are you working on is there any cool projects you want to shout out that people find you? The coolest things I think I'm working on are there's the tech side and there's this idea that we can make more and more things have this serverless feel to them meaning they're easy to operate, the infrastructure disappears and gives way to some UI that's purpose built for the task at hand. There's a whole collection of those things and then there's the applied things that I'm doing in the real world that I really really enjoy a lot for example the latest example this weekend my wife she's a vice principal at the middle school my daughter goes to and this time of year is when the kids get awards for all of their achievements. Oh that's cool and I was watching how they were doing this they go to this database where all the grades are kept and they export it to a spreadsheet so now you have hundreds and hundreds and hundreds of kids in their grades and the spreadsheet and then they open up Google slides and they create a kind of a base slide and then they type in the name for each child with their name their GPA and you know the name of the event or the semester that they're receiving this award and I'm like how many of those are you about to do wow and and it's like five or six hundred and I'm like oh no. So then I said you know let's step back for a second and I started researching the you know G Suite API I can actually pull data from a sheet and then turn those slides into a template with place holders and then just kind of create one on the fly and I was like hey let's just do that together. So me and my wife kind of sat down and got the data right and we wrote a few helper functions inside of the spreadsheet so we can you know format the kids names correctly and then we just built this little bit of glue code and go-laying and then we ran it and she just watched all of the things that could create it one by one and she was just shaking her head like and I was like that's what technology is for it's to automate things like that and in this case for a good cause. Right and like that's so much so true right like technology is here to help people not to like make people's lives harder so yeah like that's kind of why I got into it in the beginning with and like that right there is a perfect example I remember doing stuff like that like for my dad right when I was growing up so yeah that's cool man anything else cool like that going on I mean I need to use some G-suite automation that reminds me of a few things I mean there's so much going on but you know I think the gist of it is that there's an opportunity all over all around you to take all of these skills that we geek out on that we've been investing in for the years and you can just go apply it to new and interesting problem domains outside of the little bubble that you live in that's a great point and with that I think you know there's no better way to end the show thanks for coming on today Kelsey I really appreciate your time I really enjoy being here yeah follow Kelsey on Twitter at Kelsey Hightower and look for him around your favorite podcast on a day near you