 Live from Austin, Texas, it's theCUBE. Covering DockerCon 2017, brought to you by Docker and support from its ecosystem partners. Welcome back to theCUBE here in Austin, Texas at DockerCon 2017. I'm Stu Miniman with my co-host for the two days of live broadcast. Jim Kobiela is happy to welcome back to the program John Gosman who is the lead architect with Microsoft Azure. Also part of the keynote this morning. John had the pleasure of interviewing you two years ago. We went through the obligatory wait, Microsoft open source, Linux and Windows and everything, living together. It's like cats and dogs. But thanks so much for joining us again. Yeah, well as I was saying, that's 14 years in cloud years. So it's been a lot of change in that time, but thanks for having me again. Yeah, absolutely. Yeah, right, you said it was three years that you've been working Microsoft and Docker together 21 years in the Docker cloud years, if you will. Even though I think Docker's more whales and turtles as opposed to the dogs. But enough about the cartoons and the animals. Why don't you give our audience just a synopsis of kind of the key messages you were trying to get across in the keynote this morning. Okay, well the very simple message is that what we enabled with this new technology, Hyper-V isolation for Linux containers is the ability to run Linux containers just seamlessly on Windows using the normal Docker experience. It's just Docker run, busy box or Docker run, MySQL or whatever it is and it just works. And of course, if you know a little more technical detail about containers, you realize that one of the reasons that containers are the way they are is that all the containers on the box normally share a kernel. And so you can run, you know, at a canonical Ubuntu on a user space on a Red Hat kernel or vice versa. But Windows and Linux kernels are two different. So if you want to run Windows container, it's not going to run easily on Linux and vice versa. And you can still get this effect if you want it by also using a virtual machine. But then you've got the management overhead of managing the virtual machine, managing the containers, all the complexity that that involves. You have to get a VHD or a AMI or something like that as well, a container image and you lose a lot of that sort of experience. Yeah, so John, first of all, I have to take congratulations to Microsoft. When the announcement was made that Windows containers were going to be developed, I have to say that I and most of my peers were a little bit skeptical as to how fast that would work through the development cycle. Probably because, you know, we have lots of experience and it's always okay. We understand how many man years this usually takes, but you guys hit and we're delivering to the betas. So can you speak to us about where we are with Windows containers? And one of the things people want to kind of understand is compared to like Linux containers, how do you expect the adoption of that now that it's generally available to roll out? Do I have to wait for the next server refresh, the rest, you know, OS refresh, you know, how do you expect your customers to adopt and embrace? Well, we were able to get this to work so quickly because you remember Docker didn't actually invent containers. They took a bunch of kernel primitives that were in Linux and put a really great user experience on it. And I'm not taking anything away from Docker from doing that because oftentimes in the technology industry, it's easy to make something that's complicated, powerful, but not easy to use. And Windows already had a lot of those kernel primitives, same sort of similar kernel kernel primaries built in. They had to think of job dockets. I think when Windows 2000. And so it was kind of the same experience. We took the Docker engine, so we got the API, you know, we were using the open source project so we have complete compatibility and then we just had to write basically a new backend and that's why it was able to come up quite a quickly. And now we're in a mode, you know, Windows server updates the things more incrementally than we did in the past. So this will just keep on improving as time goes on. Okay, one of the other big announcements in the keynote this morning was Linux kit and it was open source project. We actually saw Solomon, you know, move it to open source during the keynote. When they laid out the ecosystem support, there's probably IBM, HPE, you know, Intel and Microsoft. So what does that mean for Microsoft? You are now provider of Linux or, you know, how are we supposed to look at this? Yeah, so we're working with all the Linux vendors. So if you saw our blog about the work we did today, we also have announcements from SUSE and Red Hat and Canonical and the usual people. And one of the things I said in this box is I said, look, the new model is that you can choose both the Linux container that you want and the kernel that you want to run it on. And so we're open to all sorts of things. But we have been working with Docker for a long time on making sure that there was a great experience for running Docker for Linux on Windows. This thing called Docker for Windows, which they developed and we've been helping out. And that's basically an earlier generation of this same Linux technology. So that's, it's just, you know, the next step on that journey. Microsoft's pretty well recognized to have a robust solution for a hybrid cloud. Because of course you've got your Azure stack, you know, that you're putting on premises. There's Azure itself. It's really the cloud first methodology that you've been rolling through and you've software as a service. Containers, really anywhere in your environment, baked in anywhere. How should we be thinking about this going forward? Yeah, absolutely. I mean, one of the points of containers in general, one of the attractive parts of containers is that they run everywhere, including from your laptop to the various clouds, to bare metal, to virtualized environments. And so we have both things. We want Windows containers where we're, we're the vendor of the container. We want those to work everywhere. And we also, as you know, the vendors of Azure and Azure stack and just server, system center and other older enterprise technologies, we want containers to work on all those things. So both directions. I mean, that's kind of the world we're in now where everything works everywhere. Can you square your container strategy as reflected in your partnership with Docker with your serverless computing strategy for Azure functions? I'm trying to get a sense for Microsoft's overall approach to running containers as it relates to the Azure strategy. Yeah, so I mean, in some ways, if you can think of this as a serverless functions move, it's a step even further, you know, used to deploy a hardware machine and install everything on it. Next thing, you have a virtual machine and install everything. You've got your code and all the spendings to the container. And with serverless Azure functions, it's like, well, why do any of that? Just write a function. Now, at the same time, we think there's lots of reasons. I mean, under the covers, all of these past systems going all the way back. That's how Docker started to run a container underneath the covers. And the same place, you know, it's not literally a Docker container, but the same place down in functions has that sort of a capability. And we're certainly thinking about how, you know, Docker containers will work in that serverless model in the future. You're one of my core focus areas for Wikibon as an analyst is looking at developers going more deeply into deep learning and machine learning. To what extent is Microsoft already taking, you know, its core tools in that area and containerizing them and enabling access to that functionality through serverless APIs and functions and so forth in Azure? Yeah, so on the serverless stuff, I'm not on the serverless team. I'm really not qualified to play in everything on there. I do know that the CNT team has a Docker container that they put the bits in. There's the Azure machine learning team who's been working with a lot of these sort of technologies. I'm just not the right guy to answer that question. Okay, so as you talk to your customers, you know, where does this fit into the whole discussion? Do containers just happen in the background? Is it helping them with some of their application modernization? Does it help Microsoft, you know, change the way we architect things? You know, what's kind of the practitioner, you know, your ultimate end user viewpoint on this? Well, you know, cloud adoption is at all points in the curve simultaneously, even inside individual companies. So everybody's in a kind of different place. The two models that I think people have really concentrated on is on one end in the past at least is infrastructure where you just bring your existing applications. And another one would be, you know, Paz, where you rewrite the application for a more modern architecture, more cloud-centric architecture. And containers fit kind of squarely in the middle of that in some respects because in many ways, and primarily, I see Docker containers as a better form of infrastructure. It is an easier, more portable way to get all your dependencies together and run them everywhere. So a lot of lift and shift works just in there. But once you're in containers, it is also easier to break the components apart and put them back together into a more microservice-oriented cloud-native model. Yeah, I think that's a great point, because we've been having this discussion about, okay, there's applications that I'm rewriting, but then I've got this huge amount of applications that I need some way to have the bridge to the future, if you will. Because I don't know, there's one analyst burden that calls it bimodal, but to what customers we talk to in general, we don't segment everything we do. We kind of have, I have applications, I have infrastructure, and I need to be able to live across multiple environments. So, yeah, yeah. Rapping versus refactoring. Yeah, exactly. And they do both, you know. But I always heard, you know, some people come in and they talk about legacy and they're, you know, the developers. I'm a developer, right? Developers, we always, we go on and write everything. And there's a time and place to doing that. But the legacy applications are, well, I refer to those applications that work. And if you don't need to refactor that thing, if you can get it into a container or a virtual machine or however, and get it into that more environment and then work around it, re-architect it, it's a whole different set of approaches. And it's a good conversation to have with a customer to understand. I've seen people go both too slow, and I've seen people refactor their whole thing and then try to figure out how to get it to work again. So, Microsoft has a gigantic user base. What kind of things are you doing to help kind of educate, help the people that had certifications or jobs were, you know, running exchange to move towards this new kind of world and cloud in general and containers specifically maybe? Well, we have a ton of stuff. I'm not familiar with the certification programs myself, but we certainly have our developer evangelism team out going out training people. We've been trying to improve our documentation. We have a bunch of guidance on cloud migration and things like that. There is a real challenge and it's the same problem for our customers and anybody looking at cloud is to re-educate people who've been working in some of their previous mode, which is another reason, again, where, you know, the lift and shift stuff, if you can make it more like it is on premise or more like it is on your laptop, it makes that journey a little easier. But we're definitely in one of those points where the industry's changing so fast. I personally have to spend a lot of time. What's going on? What happened today? What's new today coming to the conference? I learned new things. And you bring up a huge challenge that we see. I kind of like Docker has their two delivery models. They've got the community edition CE and the enterprise edition EE. And EE feels more like traditional software. It's packaged, it's on the regular release cycle, not CE is, and God, Solomon talked this morning about the edge pieces. Can I keep up with every six months or can I have stuff flying at me? People inside of Docker can't keep up with the pace of change that much. What do you see, I mean, I think back to the major Windows operating system releases that we used to, like the Intel TikTok releases, it's the pace of change that's tough for everyone. How are you helping with your product development and customers take advantage of things and try to keep up with this rapidly changing ecosystem? Yeah, so this is a constant challenge with basically software now. We can't afford to only ever shift things every three years. And at the same time, there's stability. So with the major products like Windows, we have these stable branches where things are pretty much the same going along. And then there's an active branch where things are coming down and the changes and the updates are coming. I've seen the one biggest difference I'd see between, I've been in the industry for a long time. So say between the 90s and now is that we have so much, you know, so much of it is actually a service where when something crashes, we get a crash dump and we can debug the thing. And so going out into the field, we have much more capability of debugging what's going on in the customer base than we did 20 years ago. But other than that, it's just a really hard challenge to both satisfy people that can't have anything to change and everything changing. All right, John, you've been watching this for a number of years. What do we still have left to do? We come back to DockerCon next year, you know, but we'll have more people be a bigger event. But what's the progression? What kind of things are you looking forward to the ecosystem and yourself and Docker knocking down and moving customers forward with? Yeah, so the first year was kind of like, what is this thing? Second year was now, you know, the individual Docker container is there. Now how do you orchestrate them? And now the next step is like, how do we network to these things? And there's an initiative now to standardize on storage, on how for storage systems in Docker containers, monitoring, there's a lot of things that are still going on. We have a lot of ways to go. On the other side, I think there's other track which, you know, which we talked about today, which is that virtualization in containers are going to blur in men. And I don't think that seven years from now we're going to be talking about containers or virtual machines. We're just going to be taking some unit of compute. And then there's a bunch of knobs and tweaks that you want it a little more isolated, you want it a little less isolated, you trade off some performance for some, you know, something else. Business capabilities. In other words, the enterprise architecture framework of business capabilities will be paramount in terms of composing applications or microservices from what I understand you're saying, yeah. Yeah, I think the way we're going to get to is a model where people, we get past this basics of storage and networking and start working up the next level. So things like Helm or DCS Universe or store stacks where you can describe more of an application and it just keeps moving up. And so I think in seven years we won't be talking so much about this panel. There'll be some other disruption, right? But there won't be talking about this virtualization layer as much as building apps again. Like visual composition of microservices. What is Microsoft doing? You say that you long ago entered Microsoft through the Visio acquisition. What's Microsoft doing to enable more visual composition across these functions, across, you know, orchestrated, containerized environments going forward? I think there is some work going on. It's not my area again on visual composition, despite the fact that it came from Visio. I kind of got away from that space. Yeah, I'm betraying my age. I remember that period. All right, well, John, always a pleasure catching up with you. Thank you so much for joining us for this segment. Look forward to watching Microsoft going forward. Thanks for having me. We'll be back with lots more coverage here from DockerCon 2017. You're watching theCUBE.