 Live from San Francisco, California, extracting the signal from the noise, it's The Cube, covering DockerCon 2015, brought to you by SiliconANGLE Media with special thanks to Docker. Now your hosts, Stu Miniman and Jeff Frick. Hey welcome back everybody. Jeff Frick here with The Cube. We're at DockerCon 2015 with 2,000 t-shirt clad and t-shirt grabbing techies that are really celebrating kind of the latest and greatest of what's going on in enterprise tech. We're excited to be here. It's our first time here. I think it's the third DockerCon. Second. I know somebody said there was a third. That's you're right. There's the U.S. show and then there's the European show. Okay there we go. It's the second year of the show. And I'm joined by my guest Stu Miniman, not my guest, my co-host who has a t-shirt from DockerCon 2014 which he says is one of the favorite in his collection. So he's got the goods, get your 2015 what it could be a collector item someday. But we're joined here in this next segment by Patrick Shandazon, a member of the technical staff at Docker, working directly with the big brain. So welcome to The Cube. Hey thanks Jeff Frick, glad to be here. Yeah so we were talking a little bit about off camera and you've been at Google, you've been at VMware, you even go back to Netscape so you've been in the business for a long time. You said you've been here for about three months. What was it about Docker that got you excited to jump on board? Yeah when I started using Docker more than a year ago, the project was one year old. I was at Microsoft at that time and when I moved from VMware to Microsoft it was really to help Microsoft adopt open source. And so one of my roles there was to bring Linux and Java developers on Azure. So I started playing with Docker to develop new applications and I really had the kind of aha moment I had when I used the Netscape navigator back in 96. Thinking this is really the kind of tool that will help us build our apps in a different way. In 96 I was building client server applications and I thought wow with a browser we could build web applications with HTML, something on the server side and then I spent the next 20 years building that kind of apps. When I started playing with Docker I had exactly the same feeling like this will change the way we're building applications. And so at Microsoft the last six months I spent there my role was to take all the Docker ecosystem, most of the people you're going to talk to at that conference and bring them on Azure. And after a while I started discussing with Solomon and we hit it off together and he proposed me a role working directly with him on the future of the platform. And I'm a platform guy I spent 10 years in my life building platforms and then 10 years evangelizing them so I just couldn't resist it. Terrific. Patrick, talk a little bit about that because we've definitely been on board with the whole platform discussion. We said we got out of talking about products, move up to platforms, open APIs, build those ecosystems. So why is that so critically important when you're building what you build? So what we build at Docker or building platforms in general? Why is platforms in general so important? So the reason I'm passionate about platform is that it's really a super leverage for the code that you're working on when you're an engineer and you're working on code. If you're working on code for a very specific application that will be used by 50 users or maybe a thousand users in your company it's really different that if you're building infrastructure software platforms that is going to be used by millions of developers out there. That's one reason. Another reason is I see software as just building layers upon layers. In his keynote Solomon talked about the fact that we're building on top of the shoulders of the giants. I think that's really the way software makes progress by getting higher and higher in the level of abstraction. I used to introduce most of my talks by saying that I don't know about you but I'm really disappointed by the technology we have today. When I was a kid I used to read Isaac Asimov's science fiction books and I thought, hey, when I'm 40, when I'm old, there'll be flying cars and smart robots and all that and what do we do? We have phones that can barely understand what we're talking about. So there's still lots of progress to be made in terms of the software we're building. Unfortunately the limit today is in the developer productivity. If you look at Moore's Law in the past 40 years, the chips we're using are one billion times more powerful than 40 years ago but the developer productivity is like nine times. The factor is nine, it's not one billion. So anything that enhances developer productivity will really change things. I think Docker is one of these technologies that's why I'm interested in being there. Can you help unpack that for us? How do you measure the developer productivity? How do you supercharge that because absolutely I think we agree with that gap that's out there today. Yeah, so I can tell you about what I noticed in the past three or four jobs that I held. When I was at Google, I was doing Google App Engine. I was doing evangelism for that and I started the evangelism team there. App Engine was really about let the developer focus on his code, push it to Google and Google will scale it for you. So that definitely enhances productivity. However, that limits the kind of things that developers can do. Before that, Amazon invented the infrastructure as a service market but then you still have to manage your VMs and patch them and there's lots of what we call yak shaving like preparing the work instead of just doing the work. I think Docker strikes the right balance of abstraction where as a developer you're free to put whatever you want in your application, you package it up and then it's portable and you can move it anywhere. So that really helps like working faster. Yes, Patrick, I was looking at some data that was released by one of the ecosystem partners today talking about how long containers live and it seems like most of them live really, really short periods of time but then there are some that live a little longer, very different from VMs. Some people, I saw an article a few months back that was like, do you have mayflies or dinosaurs? And even I think the announcement today was actually a new relic that put out the data. There's bacteria in different lifestyles. I'll maybe talk a little bit about how different that is and how that impacts the developer. Yeah, I think that's a really interesting thing that new relics ship all these data because containers are different beasts than VMs and typically they can live for a much shorter duration because they're faster to start. And one of the things that you'll remark when you look at the history of computing is that when you have a 10 times increase in either power or a 10 times decrease in time, the nature of what you're doing with the machine changes. Right. And I think that's really what's happening with containers versus VM because containers start in millisecond. You can start them for something that will last a second or two as opposed to a VM where it takes 30 seconds to a minute to start it and then you're going to keep only long term workloads in there. And so what we're seeing right now is that developers because of that capability are decomposing their apps into smaller and smaller units and some of them have a different time period. And what's really interesting that this leads to a need for better orchestration tools and that's where all the competition is right now. If you look at the ecosystem, you have some people who are like complementing Docker in networking or volumes, but then you also have lots of people who are trying to orchestrate containers like Kubernetes from Google, there's Swarm from us, from Docker, there's Mezos, and there's at least eight or nine of them. And I have a whole talk on that and I try to explain people what the various options are and how they can find their way in that zoo of different container orchestration tools. Wow. One of the big announcements at the show today was the OCPD open container piece to standardize on the lowest level literally the runtime, right? Management and orchestration, I mean, it's even earlier in the game than it was, than it is with Docker. So maybe can you walk us through a little bit about that, give us a little insight if you say there's eight or more out there. How do we choose, how do you see that maturing over the next couple of years? I mean, you've got big players like Google and Mezos and you guys and others there. So maybe you can help unpack that landscape a little bit for us. Yeah, so one of the reasons we created the OCPD is that there's a lot of innovation in the Docker ecosystem and one of the things that really helps innovation is to standardize the pieces that everybody can agree on. And what we realized by looking at the apc spec and at the Docker spec for images and runtime is that under there was some common aspects and common values that we could standardize on how to lay out the file system for running a container and how to specify how you're going to build a container for the processes you want to run in there. And so we just went to talk to all the industry partners and all of them agreed to join the Linux foundation and that open container project. And with that we'll have a solid basis for innovating at the upper layer which are at the orchestration layer. And now when you're talking about orchestration, so there are various point of views and various approaches to that. I summarize it like taking just the big three, Docker swarm is very simple, it gives you, it uses the same API as Docker itself, so it's a very uniform architecture, pretty elegant, it scales really well, it doesn't do everything like for example it doesn't do load balancing but there are some plugins that allow you to do that, but it's super simple to set up. So that's swarm. Then you have Mezos that has been around for a while that was created at Twitter that's using production at Netflix and lots of different places and that's really designed to scale like clusters of tens of thousands of machines. It's pretty mature and what we've been doing that we've been working with Mezos to do that integration between swarm and Mezos and so now there's a swarm framework for Mezos where the Mezos master can send some offers to swarm as if it was one of the frameworks that it manages. And then the last one is Kubernetes from Google so that's Kubernetes is designed to be like Borg, the internal system that runs all the workloads at Google and Kubernetes I'd say has slightly different concepts, for example they have the concept of pods where you gather several containers together the way the namespaces and the isolation is slightly different within these and then they have this notion of service so they provide you load balancing and replication controller for managing how your various workloads go around. And I'd say I lied to that there's also Cloud Foundry which is part of that which was a platform as a service that's trying to reinvent itself as a container orchestration tool. So we're seeing lots of different activities in that space with lots of slightly different point of views and that's what's great about our market there's lots of innovation. Yeah thank you Patrick I really appreciate you walking through that because what's tough when you look on the outside is they're not you know it's not a binary decision as you said you know Swarm and Mezos how they can actually fit together you know from kind of Solomon yourself and your team you know how do you sort out how much do you just kind of let oh we'll let the ecosystem handle that versus we want to have a core Docker project that handles that you know we've been having this discussion with like OpenStack for the last couple of years is what goes in the core what gets built out what gets built on time and maybe that'll probably lead into the plugins that you worked on you know yeah exactly that's a pretty good transition to that plugins project where you cannot do it all by yourself when you're building a platform so it's really super important to take good care of defining the extension points for your platform where the ecosystem can take over on the other hand you want your system to be useful by default so we have this philosophy of Docker of batteries included but swappable and one of the things that Solomon announced in the keynote today is that we're going to have Docker networking so we have native multi-host networking in Docker now and it's pretty powerful but we also spend some time defining extension points for networking so that you can swap other swap our networking with other providers so we developed the plugin with a weave but there's six different plugin providers who already are creating plug-in including I think there's VMware in there and Cisco and a few others and for volumes we define one for flocker to be able to move your stateful containers around in a cluster and that could be automated via the orchestration player that's orchestrating all that now that said we're trying to make the Docker platform solve the needs of the user which means we have a tool for provisioning machines we have a tool for provisioning machines that belong to a cluster we have a tool for clustering which is swarm we have a tool for assembling your application that's called compose and then we have Docker engine itself and we even have a UI called chit-matic and there's a Windows version that shipped I think today so how do you decide what you guys are going to work on what's really core to the platform versus the things you want to lean on the ecosystem for I love that batters included but swappable and because most people to really be successful around a platform usually start as an application and then you move to a platform because people generally don't buy platforms right but it sounds like with darker the productivity improvement for the engineers was so instantly recognizable that they're jumping it with both feet but how will you define the platform that's going to be your core piece versus the open-source piece versus the ecosystem piece I'd say we're looking at how do we define the what should be in the platform I'd say we look at the end game like what kind of applications are people building our developers building developers our customers and how how can we help them build these and these days what developers need to build these distributed applications there's another aspect one of the main success of Docker to me is tied to the right timing Docker appeared right at the time when enterprises were adopting cloud and when enterprises adopted public cloud they wanted hybrid architecture so they wanted portability they wanted to be able to run workloads internally behind the firewall but also go to Amazon Google and Microsoft and probably two or three of these providers and Docker with a portability just allows for that kind of hybrid architecture so I think this hybrid architecture plus building distributed applications and making that super easy to do that's kind of what Docker is about and that's what someone presented this morning it's really about treating a layer to help people program the internet leverage the internet as a substrate of machines to program all right so I actually got a question came in through our cloud crowd chat engagement platform we said we actually containerized the conversation from all the social feeds that are out there very good who manages the containers you know I think back you know when we went from just you know server managers to when it was the VM it kind of changed that role and we've got the container maybe you could talk about you know how that how that changes things so that's a super interesting question because to me that's one of the area for containers containers Linux containers with Docker only two years old they started really taking off two years ago and to me while on the developer side there are lots of tools on the orchestration side we start to have lots of tools but the jury is still out about which one should we use on the management side there's a big a big set of things to invent and to create and so right now you see people who are building monitoring tools New Relic is a good example Sysdig is another project that's pretty good at that Rancher has an option in there there's a flurry of people who are doing monitoring and for management of containers for one example we've was building that overlay network and the network plug-in recently they they released something called we've scope that lets you introspect all your containers and look at the network how it looks like there's lots of management tools to be invented still that's an area which to me I think is still underdeveloped and that will probably explode in the next year and I'd say the the existing providers of management tool will probably all have some offering in there I think VMware is starting to that they made an announcement this morning they already have something around identity management for containers or yeah I think it's about identity management lightwave and they're probably going to this morning what they announced with Project Bonneville and the other project I forgot the name I think it's about making containers like first-class citizen into this year so they really want to manage containers all the other players are going to probably do the same but I expect with all the innovation there will be some new entrants and new players in in a Docker container management it's laying out the roadmap for the entrepreneurs out there yeah I mean if you're in software today there's a whole open wild west yeah so Patrick you know you said you get to work directly with Solomon lay out that roadmap you know give us a little direction what kind of area should we be looking for what kind of milestones or you know a high level thing should we be looking for by the time we come back to DockerCon 2016 yeah 2016 is a long time away yeah yeah you guys think in two month increments not six month or year increments right so so right now all the things I can talk about is like for example the plugin model we need to enhance it that was a first draft we need to make it better maybe create some new extension points for plugins one of the things that one of the big work item that Solomon talked about about the plumbing I don't know if you remember we we released something called RunC that is and all the code of lip container to the open container project so that's one of the first plumbing layer that we're giving out we're going to output more and more pieces of Docker as plumbing pieces so that that's a big big set of work and then on the Docker side enhancing the developer workflow and on the hub side enhancing all the developer workflow online for helping developer collaborate and developers and operations collaborating to creating and operating these applications yeah so without even having to tell me any kind of specifics I'm curious though you know I worked for a lot of big enterprise tech companies and you have the people that work on stuff that are 12 to 18 months out there and people work on stuff three to five years out there I mean you started three months ago and worked on all these plugins the you know OCP stuff happened in three weeks you know is there a three-year plan or you know you know what are kind of the timeframes that you guys plan in when you look at you know Docker I guess you should ask the question directly to Solomon yeah we'll have them on tomorrow all right all right so Patrick before we let you go get I love that you've got such a great historical perspective and I love your enthusiasm and you know you've been in the business a long time and you're clearly you know really excited as we let you go kind of what are your thoughts of why this is such an important moment in time what's happening here on the ground that people that aren't here really need to know if you're a developer today to me Docker is like what the night skate browser was when it came out in 95 so you saw how client server applications gave way to web applications for the past 20 years pure developer today you should get started with Docker and with containers because that's probably the kind of technology you're going to use for the next 20 years right and be a lot more productive right yeah we were talking about when public cloud first came out it created what we called you know stealth IT yeah and really what Docker is doing is it's almost creating dev IT it's you know putting you know IT so that the developers can just go do it you know without having to think of the rest of that there's it's I mean there's a name for that it's called DevOps infrastructure as code and and to me DevOps is really about dev and apps working together more than like fighting each other and I think that movement is happening in the industry I don't know if you saw the ING the talk that the ING IT manager gave at docker con EU in December it's online I highly advise you to watch it basically what this guy was explaining is they reorg completely their IT they fired a lot of people in the way and then all their IT people are developers people who are doing operations and developers they're all developers and everything is code infrastructure is code and your application is code I think Docker just helps that really that new reality to happen but on the DevOps side there's also like it's not only about products it's about culture people and organizations and there's lots of work to do in this area yeah exactly we always find that the people in the process are the hard part right compared to the technology yeah yeah well Patrick Shanazon thanks for stopping by from the member of the technical staff working with Solomon right in the right in the right in the engine room if you will so thanks for stopping by Jeff Rick here with Stu Miniman we're Dockercon 2015 we're having a ball hope you are too we'll be right back with our next segment of this short break thanks for watching