 Live from the Mission Bay Conference Center in San Francisco, California. It's theCUBE at Google Cloud Platform Live. Here are your hosts, John Furrier and Jeff Frick. Okay, welcome back, everyone. We are live. This is theCUBE in San Francisco, California for Google Platform Conference Live. They're developer conference for the cloud. I'm John Furrier, the founder of Silicon Island. Jeff Frick, my co-host. We're excited to have CUBE alumni, but also man about town, talking about containers, Kubernetes. We have Craig Mclucky, product manager at Google. Name the product, Kubernetes. Welcome back. Thank you, it's great to be back on theCUBE. As I said, you're the man about town, containers with the hottest thing going on, really enabling a lot of new change, a lot of solidarity in the developer community around bringing cloud together, right? You're seeing people go, wow, containers are not a new concept. Docker has brought together the concept and made huge push. Just the ball gets moved down the field big time. And then Kubernetes kind of tying it all together. And you guys are open sourcing it. So, you know, I want to first talk about, from your perspective, what's changed since VMware, where we had a great conversation around Kubernetes. Obviously that was front and center in VMware show, which is a huge IT enterprise vote of confidence. To now, here at Google, core developers, large scale, backend network interconnect stuff going on. You almost connect the dots, right? Native developers really cranking out the apps, large scale interconnect. There's a lot in the middle there between those bookends. What's changed? So a couple of things I think have changed since I last spoke to theCUBE at VMware. The first is we've seen an amazing amount of velocity around the Kubernetes community. Not just what Google's been doing, but also what our open source community members have been contributing. And we're seeing a very fast acceleration of the overall platform. Moving quickly towards operational maturity, getting closer to production readiness, and introducing a lot of features that are really needed to both run real world applications and to go to new places, to go to a variety of new clouds. So we're seeing the reality of a very highly portable and maturing way to build container based applications. That's been very exciting. I think the other thing that's really interesting here is the way that we at Google have been introducing Kubernetes directly into the Google Cloud Platform. Today we announced a new product called Google Container Engine, which provides the quickest and easiest way to get a Kubernetes cluster up and running and manage for you on Google Cloud Platform. And we're very excited about how easy it's making our, for our customers to access this new way of building applications. Talk about this container engine, because obviously App Engine had huge success, a little bit of learning curve, but you guys have some core front end developers making that easier now, but what is a container engine? Is it a Docker engine? Is it Docker compatible? Is it a whole new animal? What is it? What is it? That's great. I'm glad you asked that question. I would start by saying this. At Google we have Google Compute Engine, which offers powerful, flexible, fast-booting VMs. And at the other end of the spectrum we've had App Engine, which offers a highly managed, very efficient way to get web applications up and running. And what we've encountered with our customers is that there is no natural way to move from one world to the other world. There's no connective tissue that exists in the middle, but let's our customers think about building applications that are running on a cloud computer rather than just running on a virtual machine. And so what Google Container Engine is, is a technology that lets our customers program at the cluster level. So Docker has provided this amazingly productive way to package up an application and deploy it into a node. So Docker has done a great job of taking a lot of technologies that existed and making them incredibly accessible to developers. But the reality and our experience is that at least 80% of our customers' cost of maintaining applications comes out of the operation space. So Kubernetes and Google Container Engine are an operationally viable way to build these distributed applications. And it really moves our customers from thinking about deploying things into individual virtual machines to instead saying, hey, I'm just going to drop this into this cluster and it will all be wired together. So I can take these little Lego building blocks of Docker containers, piece them together in ways that are intuitive and then have a very smart and effective system to run those for me on my behalf. So basically a pool of VMs could be available to a developer if I get this right. So you're saying, I'm a developer, I don't have to worry about the dependencies by VMware. By VMware versus another form factor. I just let the container deal with that. And so what we've done, yes, that's exactly right. We've created this strong separation between infrastructure operations and application operations. And so Docker has created a portable framework to take basically a binary and run it anywhere, which is an amazing capability. But that's not enough. You also need to be able to manage that with a framework that can run anywhere. And so the union of Docker and Kubernetes provides this framework where you're completely abstracted from the underlying infrastructure. You could use VMware, you could use Red Hat OpenStack deployments. You could run on another major cloud provider like Rackspace or IBM. And you can just build this application and deploy it there. And experience is very powerful. Cluster first way of building and managing that app. It's a cluster first, I haven't heard that one. It's not a cluster, you know what? It's a cluster first, it's a cloud. That trumps cloud first from Microsoft. But let's go back to Kubernetes. So you name the product. What does it mean? It's kind of a, you don't look at a tech name. You say, it's not like Alpha one, you know? So Kubernetes is the Greek word for the Helm's leadership. And so I was looking to find a name and turns out there's a lot of cluster management technologies and a lot of the obvious names are taken. And so I had the inspiration of what is this doing? It's actually the thing that's overseeing the whole of your operation and it's planning what goes where and managing it. So Kubernetes is the Helm's leadership cluster. Did you design the algorithm to stay away from icebergs? That's the key thing. You don't want to crash the system. But that's the challenge. I mean, you know, just joking aside, orchestration is really a hard thing. So that's been a cloud phenomenon, automation. Everyone's been talking about, oh, we have managed this software that automates and orchestrates cloud resources. Now, but now in a cloud environment, it's more challenging now. So talk about what Kubernetes does different than older approaches to orchestration. I think this is a very, very important consideration. When I look at the way that orchestration has been done traditionally, you tend to think about your application as being deeply tied to the underlying piece of infrastructure. So your orchestration process is provision me a basic machine, go get the packages I need, deploy my application pieces, wire it in explicitly to all the other pieces of my system. And so you have to kind of build this relatively fragile system where all the pieces are tied together and deeply coupled. What Kubernetes has done is provide a framework where you have a very principled, almost a Lego building block that you can stick together and say I want one of these things, I want it replicated six times, and I want it wired into these other pieces without actually having to know about where those other pieces are deployed, how they relate to one another. And so it really is realizing this highly decoupled, very principled way of thinking about your environment as a cluster where you just drop your packages in and they're all wired together using virtualized networking and using this cluster centric paradigm and it radically, radically reduces the cluster operations. I can just give you an example of that. In the old days of Google, before we had these technologies inside the house, it was all we could do to keep the lights on. Like every day was an adventure, it was very hard because our operations had our application pieces deeply tied into the physical infrastructure. When we introduced a system internally known as Borg, we changed the game. In less than a year, what was it called? Borg, Borg, Borg, internally known as Borg. Like connected to everything, like the Microsoft. Yeah, so it was the, I said Microsoft, but Microsoft has to be called. I don't think they're all sorts of things, but that's all right. You go ahead and continue, I just wanted to make sure we heard that right. We literally doubled the number of production services we were running within a year. It's just so much easier to run things at scale. So provisioning managing, it just makes a smoother operation, smooth sailing. You're really trying to hide provisioning managing, right? You're basically, I have an app and I just, I want to build it easily and then I want to deploy it easily and then I want it to be able to scale easily without having to go back and reconnect it to more stuff. So it's funny because I think most people think that that's what clouds have already always done, right? This basically compute a networking and storage that's just in small units, virtually available, disassembled however I want. But you say, I used to have to still assemble it and disassemble it. Now it's just, it's just plugging in. And that's the challenge. The way we've seen cloud evolving has disappointed us a little bit because it really is just a remanifestation of the same existing first generation where you're thinking about application development, application provisioning. If you challenge a lot of the fundamental assumptions, if you really step back and think about, is there a better way to do this? If I have all this incredibly fungible resource that can turn up and turn down, is there a better way to build applications? And Kubernetes is our invitation to the community to participate in defining that thing. We think it is a better way to build applications. We know it because we've been doing this for 10 years and it works really well. So talk about the open source time angle because one, Kubernetes is open source but we've recorded that live when we last chatted. Docker has huge success with their open source model and that's not well known in the main world how the nuance and developers really are engaged and motivated to play with Docker which has its own flywheel effect which is very viral and network effect. What's your strategy with Kubernetes size as a standard open source blocking and tackling? Is there things you're doing to prime the pump? Is there a magical formula that you guys are really nurturing and fostering? I'm very happy with the way that the project's been run and it's been humbling to see the amount of adoption and success we've had. And I think that this manner of operating where we build Kubernetes as an open source project with the community and then we take it and take exactly that and we turn it into a service and add a lot of high value capabilities to it is a pattern that's working very well for us. It's made us, it's massively increased our velocity because it's not just us that are actually developing the project. We have amazing contributions from people like Red Hat. They're putting a lot of time and effort into making this thing great. Our friends at CoreOS are putting a lot of effort into it and we're able to do more because it's just more people working on it. So the velocity is far higher. The second thing is that we were able to go straight to an open alpha. Normally we do these early adopter programs hidden behind the curtain, try to figure stuff out and do a lot of iteration. We didn't have to do that because the community has built the API with us. Our customers have been working directly with us to shape the API. We know it's going to work for them and that's helped you guys. So your differentiation doesn't really conflict with the community. Absolutely not. And we recognize as we've moved from a cloud that's worked mostly in the startup community and with the internet-facing companies to a cloud that's really engaging mainstream business, our customers want multi-cloud. It's critical to them. They want to be able to run a hybrid cloud. They want to have multi-cloud provider relationships. They don't want to just rely on one provider. And so a framework that works well everywhere but works especially well on Google serves our business very well. Getting some great props on CrowdChat. So thanks for coming on the queue. Always great to chat with you. You're in a hot area. I would love to pick your brain. But I want you to address three things I'm going to say to you, get your thoughts on. Could be your Google perspective. Could be your own geeky perspective. Perimeterless, perimeterless IT, multi-cloud and mobile infrastructure. Three of the hottest areas on the planet right now. In terms of people looking at investments, retooling, trying to figure things out. Perimeterless IT. Obviously perimeter IT, perimeter based security. Kind of goes away with the cloud, right? But you still need security as perimeterless. So what does that mean? How do people understand and rock that concept? So the idea of, so I'm not sure I'm the right person to speak to perimeterless IT. But I can say that, when I think about it, I think there's a couple of things that are happening here that are really interesting. When I look at the idea of perimeterless IT, when I look at the idea of what I consider the democratization of IT, if you will. We've lived in a world where most businesses have been beholden to a specific organization that's controlled their provisioning, the policies and the set of bits they can use. Everything's been controlled. And IT hasn't been well loved by and large. We're moving into a world where it's a much more open ecosystem. Departments are far more empowered. Anyone with a corporate credit card can go and get a machine. And that's creating amazing agility and velocity for businesses. But it's introducing a lot of creativity. But it's introducing a lot of pain as well. And so the hard thing is gonna be creating a smart framework that allows empowered decentralization. Going from this world of highly controlled to decentralized empowerment. And I think that's where we're gonna see a lot of interest from folks that are operating in the enterprise space. Okay, multi-cloud. Just in general, will people move to multiple clouds? Do you see that? Uber clouds, we had Bitnami in earlier. Like, ah, people aren't really going to multiple clouds. Is that interested in moving workloads? Is that a state of the current situation or will it evolve to workloads anywhere? Multi-cloud is the relative of our worlds. There's no serious customer I've spoken to in the last six months that has not been interested in multi-cloud relationships. Sorry, it's not true. There's no enterprise customer I've spoken to in the last six months. That has not been interested in multi-cloud. And the reason is from what resource? There's a couple of reasons. One is a lot of companies want to have just a multi-provider relationship. They don't want to be able to hold into a single cloud provider. And frankly, almost every customer I speak to has a massive investment in on-premise infrastructure. They want to move away from a lot of the pain associated with managing that, but it's not going to happen overnight. And so, hybrid cloud is going to exist for quite a while. This is back to your empowered decentralization theme. And we have to provide them the tools to do that. And we have to create positive pressure that moves them from those clouds to the public. Final concept, and I've heard this a lot, kind of leads into the keynote, not necessarily through the words, but almost reeking of this concept, mobile infrastructure. I mean, mobile first, cluster first kind of enables mobile first, but mobile is obviously a form factor, whether it's an internet thing as a human or a device, it doesn't matter, it's still an endpoint in the network. It's a multitude of millions of devices. So what is mobile infrastructure? Is it different? It's the same? What's your take on it? It's an interesting question. And the reality of our world is it's a mobile world. You know, it's almost folly to do anything but think about mobile as the primary vehicle for customers, consumers, and everyone else to interface with the internet, the web. It certainly introduces an interesting set of challenges to application developers. And I think, you know, one of the things that I'm most sort of interested in cracking from a cloud providers perspective is the world of multiple devices, where you have a large set of devices in different form factors that are ultimately presenting a view of the same set of data, the same set of information, and creating a set of experiences that work well in that multi-device space. So moving away from a world where state is bound to a device to a world where state is based in your cloud, and your device is simply providing a view or a way to interface with that data. And we still have a way to go before that is fully materialized, but I think that's going to be a big sort of anchor point of a lot of mobile development in this space. So Craig, where is the locus of competition moving? If the data center just becomes a resource that's on tap, basically, and I can just get, where do the, how do the cloud providers then differentiate? So basic infrastructure is relatively undifferentiated, but when I look at the way that we run inside Google, we do some really, really scary smart things to make your application run for you. If you think about the way we run our infrastructure, it's almost like the flight controller of a modern airplane. It's going from the old wire-based control system where you move something and move it flat to a world where you have this controller that's taking in millions of signals a second and making incredibly informed decisions that is optimizing the heck out of everything you do and making very fine-grained corrections. And I think that's going to be a huge avenue of differentiation. When you take an application, you package it, and you give it to us, and you trust us to run it for you. And we're able to, it's running at a slightly higher level with the stock, we have a much higher abstraction level. We can do incredibly smart things like machine learning technologies. We can watch how your application's running. We know how it ran last time, so we can tell us who's going wrong because we have the ability to actually watch that. This is how we run our internal workloads. And it's not just about commodity infrastructure, it's going to be about smart systems that run your application for you. And that's going to be hard to run. It's really abstract above the management of the app. It's actually the management of the application and the optimization of the application that's supposed to be. There is so much more value in moving from static, dumb infrastructure to actively managed, precision managed, container-based capabilities. It's quite jarring. This was clear to me very soon after we shipped Google Compute Engine. I was able to see, we never looked inside the end, so we were able to see what level of CPU utilization the customers were getting. And we compared that to what we were able to run on our internal workloads. And our customers were only getting, there were several indigent multiples and less utilization than what they were paying for. And so we knew that something could be done. We could actually move up the abstraction there and just do a better job by actively managing and making smart decisions. And that would be very disruptive. So let's play a game. We played a game with our last guest. We'll play the game of, you and I are going to go into business together and be venture capitalists. Okay. Okay, so what's our investment thesis? Get knowing what we know. I mean, there's a lot of work that, there's a lot of entrepreneurs out there really looking at the enterprise right now. The enterprise is hard. Cloud is kind of like a process for the enterprise, but it's not like your classic enterprise. I'm a tech entrepreneur. I'm a coder. I'm an architect. I'm an OS guy. Systems guy. I could be a creative filmmaker, whatever. But I want to come in and get some white space. Is there white space out there that you see that as an opportunity for developers that could really come in and stay claiming and build a really good business? It could be lifestyle business. It could be a home run. Where do you invest? Yeah, I mean, I think there's so much white space in this domain. We are in the very early days of getting these technologies to market. Obviously there's just bolstering the basic, sort of the fundamentals of the platform. So overlay networking, everyone's talking SDN. Obviously there's a lot of hype around that. But being able to create an abstraction that allows high levels of plugability for different network fabrics as you move between clouds is interesting. Storage and doing a better job of providing virtualized storage that is available to these containers is an area of opportunity. There's a lot of work to be done in the tuning environment. A full-on application lifecycle management continues integration. Lots of opportunity in that space. And then frankly, as we start looking at taking these technologies to market and deploying them into real businesses that are running multi-cloud, there's going to be a lot of the governance, risk management, and compliance overlay capabilities that just don't exist. We have the ability to define policy and enforce it in a very effective way, whether it's security policy, data loss prevention policy, update policy. But it has to be dynamic, right? And it has to be dynamically done and it has to be enforced at the node. And there's so much work to be done there. And there's so many opportunities to either create niche, vertically oriented capabilities that serve as a specific vertical of unique, highly valuable cross-cutting capabilities. I'm very excited about the future. So where would we get started if I was an entrepreneur like, hey, great, I saw your interview, where do I get started? Should I write app engine code? If I want to put the boat in the water and start drifting into this area, and you just mentioned, how should I navigate it? How should I vector in? A lot of it depends on where you're going to be operating in the stack. I would suggest you go and learn Go. Go is rapidly, Go lang, if you want to talk about the development environment, is rapidly emerging as the language for the new cloud. And so we're seeing a lot of work in the Go community. Docker is written in Go, Kubernetes is written in Go. So I'd start there. It's a great platform for systems development. And so I would start looking at some of the existing technologies, Docker, Kubernetes. And I'd start just assessing where the gaps are. And I would probably approach it from a systems development perspective if I was doing it. But there's also going to be a lot of value higher up the chain where you can actually. You can dance on top of the stack and around the stack. Absolutely. All right, so final question. We're going back to the old OS days and we were joking before we came on, conversational even in a way that was pretty relevant. I mean, we're seeing concepts of systems programming of the 80s kind of, but in decentralized way. Comment on that, because I think that's, I think tying a lot of things together. That's an incredibly astute observation. And I think we're moving away from a world, operating system today is a node local thing, right? So I'm operating system and it's providing an environment that abstracts me from the physical details of one piece of hardware, one machine, you know, one set of resources. And what we're starting to see now is the emergence of some of these distributed concepts where you're programming not to a specific piece of, you know, a single piece of infrastructure, so it's hardware, but you're programming to a cluster. And so I think it's very much like that. I think that's a very astute observation. And we're going to see the positive. If no one vendor owns it, it's owned by the world. And no should one. It needs to be a closet-slide ubiquitous framework that lets us get more out of these cluster-centric applications. Very organic. I mean, I love the, what's happening is a very organic development, but yet there's some kind of group dynamics going on around clustering around. Docker's a great example. Came out of the woodwork to become a de facto center. Probably the fastest de facto center that I've ever seen. I've been breathtaking how quickly that technology came out. And that's just the crowd just saying, hey, if we don't like decide, it's on something, we like these guys the best. They didn't piss anyone off or whatever. Whatever the dynamic is, it could be the open source, flywheel, but it's interesting. You know, certainly from Google's perspective, we noticed Docker a lot sooner than most of the world did. And we had technologies that we could have stood up as potentially competing capabilities, but we chose not to because the world is incredibly well-served by a single standard for defining and packaging applications. Now we need to continue that and we need to build the standard for the projects like distributed systems standard that people think about coding to when they're building these modern, next-gen, Cloud V2 applications. Craig, I really appreciate you spending the time. Love the conversation. Love kind of the long, windy road we took there. We knocked out some Kubernetes. We talked about Docker containers. We talked about the future of the industry. Really appreciate it. You're awesome to have on the queue. You're invited anytime. Cube Alumni, Craig McLaughlin, right on theCUBE. We'll be right back here live in San Francisco, broadcasting exclusively from Google's developer conference here, the Cloud Platform Live event from Google. We'll be right back after the short break.