 What I'd like to do next is my great honor to introduce Clayton Coleman. He is the core contributor to Kubernetes out of Red Hat He is our Kubernetes expert and as a matter of fact, he is a unicorn. You might hear about unicorns in his session So at this point, let me turn over to Clayton Coleman Clayton. You're next on stage Welcome to the stage Clayton. Thank you very much for fantastic. It's good to see you here So this one you can screen share claims hanging out the beach by the way If anyone's wondering what's going on here, he's hanging out the beach gonna be live streaming to us from there But go ahead and get started go ahead and do the screen share and you're right in there. Great. Thank you very much for all right so Okay So good morning, everybody. This is the first Conference talk I've ever given from a couch. I am not wearing my pajamas right now But maybe if this goes well enough well enough the next time I'll do this in my pajamas so You know this I was really Excited to give this talk. I love giving exciting talks about boring things I know it's pretty weird. You know, if you hear me say Kubernetes is boring It sounds kind of crazy or like no no Kubernetes is the coolest thing in the world I'm gonna tell you what I mean by When I say I want Kubernetes to be boring and I'll talk about what What we want to be exciting and just you know, it's a useful way of thinking about You know, how we build Kubernetes and and what's coming next and what's out there in the ecosystem for people So, all right So I know that this is a pretty diverse audience. We got folks from all over the world I'll do a quick run through you know a little bit of you know, what is Kubernetes just so we we're all on the same page So Kubernetes is a really fancy word in Greek for helmsman We're very clever about that, you know Every project in the Kubernetes ecosystem has also felt that they need to have a really clever name And we're starting to actually run out of Greek words So I think at this point we're ready to move on from that. So if y'all want to do Latin next Or if we want to try a more exotic language, I think that'd be a great idea Kubernetes is a container orchestrator. It is really just a fancy way of saying it runs little tiny Linux and Windows processes on multiple machines It runs everywhere the project was started and inspired by some work that have been going on at Google and at other companies as well, right? You know Google doesn't have a monopoly on all the world software and we'll talk about that later And it runs in a lot of different places as Burr showed so That's kind of what it is but what does it do and You know, I'm gonna try and really quickly to explain it in a way that even these consultants can understand it and You know, if you think about Kubernetes, you know, why do we do Kubernetes? What was the point? I? Would probably say it's we're trying to make it really simple to run your apps and Unfortunately, the world is a really complex place and I'll get to that in a little bit You know, so I say simple and a bunch of you out there like Kubernetes is hard. It's crazy. It's so complex And we'll talk about you know some of the details of where that complexity comes from and why but you know You want to be able to scale your apps up and down So, you know, if you're you start small you're running as a developer, but then you want to go Google scale, right? You want to you want to take on the entire world You know your startup hits it big or you're you get a big load of traffic You want to be able to go from one to five to ten just like Burr was showing us But it's not not it's not enough just to scale up or down, right? You need to roll out new software You know, nothing ever stays the same if you just do one version of software. What's the point? So we are definitely in a world where you know changes constant Software is getting developed and things go wrong and when things go wrong you want something to to fix that Right, so I want to be able to design my application so that if it fails Something fixes it and Kubernetes can help do that You know, we talk about you know having multiple machines You know very few of us actually run software on a single machine today Maybe we do when we're testing or developing it and we push it out to the world, right? You know, there's there's more machines than there ever were I might have one under my desk and my laptop But then I push it to the cloud or I've got a data center and somebody set up the machines for me or maybe I've got some machines racked and a colo and When you run all these applications, you kind of want to share the resources and this you know, I talk about apps You know, I've heard people say well, you know We could do this with virtualization and you're right You could do it with virtualization and containers are just a little bit smaller a little bit faster a little bit easier to run on your laptop if you if you've developed in Linux like I do or even if you're running on Windows or Mac and You can get a little bit more efficiency. Everything's a little bit faster and you know as developers You know, I say this myself is I love fast things like I want to be able to quickly iterate I want to be able to fix things and keep going and so, you know a lot of a lot of where we're moving forward is you know Kubernetes isn't perfect and it's certainly not something that's brand new and novel, right? Because you know the things I've described people been doing this for years You know, you could do this with a bash script You could do this with Ansible or chef or puppet and you can build your application and your operations team could push it out to the world You can write lambdas you could use cloud foundry We've done this a lot of ways before I think the goal of kubernetes to summarizes It's not novel what it's trying to do is say when you get to the point where you're tired of reinventing all these things And some people are and some people aren't you can use kubernetes and it'll handle it for you Which allows us to move on and focus on our applications So, uh, you know another question I get all the time is kubernetes for me And this is a hard one, right? If you go to certain forums out there if you go to hacker news You're going to get a lot of discussions that say no, don't use kubernetes or I tried kubernetes and I failed And I think there's some some truth in that right? We have to think about, you know What is the purpose of kubernetes? Who does it help? What are we trying to get done? So, um, I've kind of boiled it down to these three groups Um, if you're a team and you want to run a lot of services and services is just another way of saying applications, right? You know, sometimes your applications Um, are only used by internal people, um at your team or sometimes they're used by people outside Uh, oh look, we got a little bit of sun. Look at that. Um Sometimes those applications only run inside your environment and sometimes they go out to the world So when you run these services and applications, um, you want to share stuff you as a team You know, maybe there's a few people on your team that are your dev ops engineers or they're your admins And they want to they want to have the standardization And share it with you or if you want to put in place these tools because you've got you know, you're coming up with some challenges And you want to have these you want to have this automatic stuff going on? You're ready for kubernetes Just like that, um, you know a similar problem is uh when you scale that up So enterprises have been doing this for a long time. I said kubernetes isn't new There's people out there that have been running hundreds of thousands of applications for 20 or 30 or 40 years And in those scenarios those teams they've got a bunch of old stuff and they've got people building new stuff Right that that new team they may be thinking they may be starting out They're building something awesome and exciting and in java script And that enterprise infrastructure team might have something written by somebody 20 years ago, uh in java 40 or something like that or java 1.2 that You know, they don't want to update and so You know kubernetes can help appeal to both these audiences Because it's trying to put in place that you know, I don't want to reinvent that particular wheel I want to share it and then the third category and this is my favorite group And I hope some of you are in this category as people who are excited about anything You're going to take kubernetes and you're going to run it on your phone You're going to run it on a sprinkler head. You're going to run it on your refrigerator I respect that and that's awesome generally those are people doing it for the love of the game as it were and We're going to stay focused mostly on this first these first two groups because enthusiasts will do anything So the answer is yes kubernetes might be useful for you, but like any technology You really have to think about it before you go in which is There is no magic, right? This is kubernetes is a tool It's a complex tool because it does some interesting and important things Use it when you're ready to use it. Don't just jump into it and don't just expect It's going to make your world easy and magic no matter what bird tells you so Kubernetes isn't magic. It's got no unicorns It probably isn't going to make you into a unicorn So why is it boring? What do I mean by boring? I like to think of This in terms of an analogy of What do we mean when we say boring? Because the flip side of boring is exciting. So I think about all the things when I fly And I haven't flown recently right the rest of us We've been stuck in our houses for six months or so in the u.s And flying is this distant thing that I vaguely remember But I'm going to try and I'm going to try and reach back into my memories and see if I can draw an example here So there's there's one part of flying which is you get to where you're going You see your family you see a friend that you haven't seen you go you go out to a Museum or you go see some awesome scenery you take pictures That's the kind of exciting that I think about when I want a trip The kind of exciting that I don't want is I don't want to fly through storms I hate flying through storms every time that plane drops I panic And so the kind of exciting and boring that we're talking about here is we want the flying itself to be boring No storms no crazy stuff And we want the destination to be exciting right because at the end of the day You know kubernetes is a simple model for building and running applications I don't want too much excitement right because I got to get the stuff running I got more important things to do The enthusiasts right they're excited about the journey and they're ready to take on find new problems and go fix stuff so As always we got to break the world into two things There's what you're trying to get done and then how you do it and sometimes you know We we get really excited about our tools, but it's not the most important part for most people So i'm going to stop I've gone in about 10 minutes and i'm going to introduce myself If you don't if you haven't seen one of my talks before My name is Clayton Coleman. I've been working in kubernetes Since very nearly the beginning Before that I actually worked at red hat on open shift Which has changed over the years before it was built on top of kubernetes It was just what we call platform as a service and to be honest platform as a service is just a fancy way of saying a simple App model that keeps my stuff running So the goals have been the same and the technology has changed I like to take You know if anything great happened in kubernetes It was because of all the awesome people who contributed if it was bad It's definitely my fault blame me and i'm sorry in advance Um, you know, I've been talking about kubernetes being boring. You might have seen a kubecon talk that I did a few years ago and to me Boring is very personal because you know as someone working on kubernetes working at red hat You know we take kubernetes and we give it to those big crazy enterprises that run hundreds of thousands of applications And many of them have been running on kubernetes for a lot longer. You think uh than you think they run pretty critical applications on it And um, you know just as a rule of visual here You can see my picture before kubernetes And then uh, you know after six years of working on kubernetes This is what I ended up looking like and I don't sleep much at night anymore because The act of developing kubernetes right like these big complex environments. Um, they're very exciting and exciting has given me some gray hairs so um part of my goal the entire time that i've been working on kubernetes and other folks at red hat has been How do we simplify it? We've got these great ideas. Um, but you know as we all know We're as developers as builders as creators. Uh, we have great ideas. They don't always work out like we anticipated So the process of making kubernetes boring has taken a while. Um, you know, I'd say Right now six years in We're mostly boring, right? We're not we're not completely boring. Um, I just the other day I was reading someone's three years with kubernetes journey and they had some exciting things that they hit But you know after 20 releases, um, I think almost a hundred thousand commits in kubernetes Something or over a hundred thousand issues in kubernetes. I don't even know how many commits We've built something that's mostly predictable mostly stable It's extensible and there's a thriving community of users and contributors and companies and individuals And passionate enthusiasts that supports that community um, but what's really clear is you know While the journey of getting kubernetes from super exciting inside kubernetes into people running it to boring inside kubernetes It's still exciting for a lot of people out there in the community is done Or is mostly done. Um, I don't think the kubernetes mission is finished at this point And so, um, this is the exciting part for me. Um, and You'll have to excuse me. I get really passionate about this and um, it's kind of an it's kind of a how I say this like an esoteric concept Right, which is what are the things that why did we do kubernetes? What's the point of all of this? Like why are you here today? You know, you want to make your your lives better? Um, how does kubernetes fit into that? So, um, we'll draw a box on screen kubernetes Um, we spent a lot of time talking about kubernetes. You're gonna hear a ton about kubernetes I bet you you've seen Breastless articles and panicked articles and I talked about all those people out there who love to hate on kubernetes At the end of the day kubernetes It's just a tool um We use kubernetes everybody Looking into this camera right now You're the people that kubernetes is for and not just kubernetes, right kubernetes isn't the be all and end all of the universe You're using languages frameworks Other tools, uh, maybe you don't want to use kubernetes because kubernetes is too hard Maybe you love kubernetes and you spend all of your time improving it um The point of kubernetes is to make your lives easier And one of the things that I try to think about a lot is are we succeeding at that? And this is where we have a superpower all of us. Um, I pointed out to everybody in the audience and i'm gonna look directly at you uh you And we you know as a group is what is actually building kubernetes And those tools and those languages, um, you know when I started at red hat 10 years ago I'd have conversation with people they'd be like tell me about this crazy open source thing They didn't quite believe but I think as the builders out there in the ecosystem We know That everything that we do is dependent on open source The cloud providers depend on it the giant corporations depend on it and every day somewhere you're using open source tools and technologies It is the Is the foundation of our modern world is open source and open source really does have a superpower because open source Um, it makes everything better. It's free. Those are great. Um, you know, there's a bunch of people who love talking about how exciting open source Is and how much it does for the world But the superpower and open source actually I think is is our secret so, um There's this concept and you've probably heard this in the news, you know of um, and we talk about this a lot um the technological singularity and it's this idea that um, you know We're getting better and better at writing machines and someday we're going to make machines that think And then those machines are going to get smarter and smarter And then at some point those machines are going to get so smart that they can start building new machines And then us humans depending on whether you're a cynic or an optimist aren't useful anymore That's the terminator scary version of the world Or it's going to lead to a technological utopia where magic happens and we do actually all become unicorns I'm a little bit more of a realist which is probably pretty far away But I will say that um, if you think about what we do as open source developers That singularity is actually happening today, and it's not some fancy crazy topic. It's Us as people when we build tools and we share those with other people and those people use those tools File bugs on those tools improve those tools that loops back and the end result is Um, our tools get better But when we improve the tools that we use to make the tools We get better faster So maybe it's a little bit slower and probably a little bit less scary than the Division of machines improving machines We as people in open source are improving our lives And so, you know, it's really important that we think about how we're doing that and how do we do that better? so I Don't have a whiteboard, you know, i'm sitting on my couch in this in this beach You know, it's been a can't get into my office. It's been a crazy year I tried to sketch out really quickly a bunch of concepts around kubernetes that are relevant for development and These are all things I think about Kubernetes doesn't magically solve these problems in fact Some of these problems might not be solved by any project by itself But they're concepts that you have to know if you're running applications and there's definitely concepts that Are important, right? Like I'll just pick one. Um, data privacy Data privacy is a huge issue, right? All of us are thinking more about how the data that we take To make Yeah, you are users lives better or our own lives better. Um, how that gets stored. Are we responsibly handling that? There's no magic bullet for data privacy And so, you know, if you think about kubernetes, um, it's trying to do some things to make running your apps easier But it doesn't do anything for data privacy um Open source as a group a lot of these you know, if I think about these topics, I think We need to do better at encoding in our tools And encoding in how we build our tools the concepts that actually make Everything about app development easier, right? That's what's going to make us more productive if I have to train Someone about data privacy they might get it wrong And so the more that we can encode in our tools actually the more productive we are building applications and some really concrete examples You know if kubernetes is just a tool if the point is to make us all better at running applications We want it to be easy to go from development to production We want it to be easier to debug your running applications If you're in a big enterprise You have to think about this. Maybe you don't think about this as independent developers Or in small companies, but you want self-service, right? You know, you you got a you got a credit card that's going to a big cloud provider or a purchase order And you got a budget and you got to work within that budget How do you give your developers and your admins the flexibility to get their job done? Without being unreasonable about it and you want to track the security of all the open source software you have These are all problems. We all have Kubernetes doesn't magically solve these today, but it kind of moves the needle forward A lot of us have these tools already, but they're different tools And I think one of the things that's really important to think about kubernetes and where we're going is kubernetes is about taking the common ideas Of developing applications And every day going a little bit further making it easier For you to standardize Some are all of these tools right and you don't have to use kubernetes But the exciting part is if we can do our jobs well in the open source ecosystem We make ourselves more productive, but then we get that little bit of extra that superpower. I talked about an open source So i'll give a few examples kubernetes When you deploy your app, you know your application version an example of this you can run multiple instances of your app And you do that for resiliency or for for scale out And then kubernetes has a concept called a service where you group all those together One of the awesome things that happened as kubernetes evolved was You could bring in new concepts, right? So as a developer, I set up, you know, kubernetes They're called deployments and replica sets In k native, they're called services And I set up these instances and I recorded that in kubernetes And then a curious thing happened So prometheus is an open source tool for monitoring software It makes it really easy to do ad hoc scraping up metrics Super great tool. We love working with it But prometheus instead of you having to go write out the rules for each of your instances With kubernetes prometheus could actually just ask kubernetes where all your instances are And this doesn't seem like it'd be that much of a superpower But what actually happened was I did something that benefited me for kubernetes right kubernetes get my app running And then someone else came along and made prometheus able to read from kubernetes So now I don't have to do anything extra if I add metrics to my application Prometheus could just start scraping it and you know, this is there's only so much magic out there But I think the real magic of kubernetes is how I did something that benefited me And the open source ecosystem was able to build around that to use the abstraction I used And as a good abstraction, it meant there's more power available As I go and this actually shows up in other concepts in kubernetes as well You know burr mentioned istio istio as a service mesh and service message Just a fancy way of saying hey, we're going to stick a proxy in the middle and run all the traffic over it But when you do that you can have a richer experience around your inter application traffic So service meshes in kubernetes, there's like six of them these days They actually use kubernetes to inject that proxy So that things can talk your application didn't need to know about it And that's actually a superpower too because if you come along all of a sudden Because it's just another kubernetes component. We injected that service mesh proxy But the prometheus instance we had said it before it doesn't care. It just sees that new kubernetes component. So If I wanted to scrape metrics from both my instances and my service mesh Prometheus can do that and I didn't really have to do that myself So this idea that we can build abstractions that make all of us more powerful Is I think the key of kubernetes I think we're going to see more of it and it gets me really excited because everybody in the ecosystem who's building You know these hundreds of technologies that are out there in the landscape Everybody's out there trying to make something that helps them Um, there's a real opportunity for us with kubernetes an open source a red hat among the folks on this Presentation is building these concepts that benefit all of us together Is part of what makes open source powerful And um, you know, I felt like if I was just going to show that landscape diagram I wasn't going to talk about any examples Um, it'd be kind of a of a tease. So I just picked out four random ones that things I think about a day-to-day things that red hat It's kind of thinking about And I'll just give a quick example of each, you know What if when you designed your kubernetes application and you ran it on a local cluster or you ran it on a production cluster Maybe do some yaml. You might use helm. You might use get-ups. There's hundreds of tools you can use What if there was a higher level that lets you um Pretend like you were talking to a kubernetes cluster, but under the covers All of that stuff Got handled for you. So instead of if you're talking to a real cluster you talk to some Abstractions that oh i'm a real cluster. I'm not really a real cluster And it does the scheduling it figures out where you want to run if that cluster failed or for instance If you wanted to move from amazon to google or you wanted to go from the east coast of the u.s To uh western africa you could do that transformation simply by saying Oh, I don't really care where this runs and the system can manage it for you So this is a new concept right people have been trying this in the kubernetes and open source ecosystems for years That abstraction we don't quite have it yet But if we can make it work if we can as a community come up with a few of these ideas and join them together You could get magic and that's the magic in its most exciting form You could have applications that automatically move around the world To where it's lowest cost or where things are still running And maybe your local development environment. I talked about that for a story You know, I want to go from a laptop to production and have nothing break I think we can get a lot better at making it easy to develop applications locally and moving them to production And abstractions like that can help us do it Um describing your service dependencies, right, you know, we depend on databases and we depend on caches and object storage 100 other technologies Today, we don't really have a great abstraction that says, yeah, I want to go talk to sequel But what if there was one that working well with kubernetes could kind of bridge that gap? And we've tried this a couple times They've been somewhat successful and that's the beauty of open source is we don't have to be right the first time We just have to keep trying So those service dependencies were not quite there yet But I could see a point in the future where you say I need to talk to a postgres compatible sequel database And in production you're talking to the one that your services team set up Maybe as a cloud provider service And in your staging environment, that's a separate copy that has a subset of your data But in test and development or on your local laptop, maybe it's a slimmed down version of your tables And we haven't really put that abstraction into place. So kind of just make them stuff up But that's what gets me out of bed every morning is thinking about How can we take some of the abstractions for stuff all of us do every day? And build it into our tools so that we all benefit and we make everybody else able to benefit too so In closing And this isn't this isn't really a closing because there's a ton of work left to go do We have more tools more power than ever before you the builders are able to To do things that 30 years ago Everybody would say that you're crazy Kubernetes it's a great tool. It's boring. It's a foundation But there's so much more that we have to do and the key point is As these things get more complex How do we as developers as open source members as creators as thinkers and dreamers? How do we build things that make us more powerful? And help us build our software for the future because if everything's getting more complex, we need a lot of help so This has been a phenomenal opportunity. I want to thank everybody here for showing up today There's a bunch of great demos coming and you know at its heart Red Hat is just another open source company You and us together We're going to build the future. Thank you