>> Announcer: 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 cohost
for the two days of live broadcast, Jim Kobielus.
Happy to welcome back to the program, John Gossman,
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 though 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. You said it was three years
that you've been working Microsoft and Docker together.
21 years in it, dog or cloud years, if you will.
I think Docker is 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 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, BusyBox 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 the containers are the way there are
is that all the containers on a box normally share a kernel.
And so you can run a Canonical, Ubuntu on user space,
on a Red Hat kernel or vice versa.
But Windows and Linux kernels are too 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 AMI or something like that,
as well a container image
and you lose a lot of that sort of experience.
>> John, first of all,
I have to say 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;
the development cycle.
Probably because we have lots of experience
and it's always okay,
we understand how many man years this usually takes,
but you guys hit and were delivering,
got through 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, OS refresh,
how do you expect your customers to adopt and embrace?
>> Well we were able to get this to work so quickly
because if 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 by doing that,
because oftentimes in the technology industry,
it's easy to make something that was complicated,
powerful, but not easy to use.
And Windows already had a lot of those kernel primitives,
same sort of similar kind of kernel primitives built-in.
They had to take out Java javax, I think when Windows 2000.
And so it was kind of the same experience.
We took the Docker engine,
so we got the API,
we were using the open source project,
so we have complete compatibility.
And then we just had to write a basically
a new back-end,
and that's why it was able to come up rather quickly.
And now we're in a mode you know,
Windows server updates 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 LinuxKit.
And it was open source project,
we actually saw Solomon
move it to open source during the keynote,
when they laid out the ecosystems for it like
IBM, HPE, INTEL and Microsoft.
So what does that mean for Microsoft?
You are now a provider of Linux?
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,
I said look there's the new model is that you could
choose both the Linux container that you want
and the kernel that you want to run it on.
And 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 have been helping out.
And that's basically an earlier generation
of this same Linux technology.
So it's just the next step on that journey.
>> Microsoft's pretty well recognized to have a
robust solution for a hybrid cloud.
Cause of course you go your Azure stack,
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 offer 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 the vendor of the container.
We want those to work everywhere.
And we also, as 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 you container strategy as
reflected in your partnership with Docker,
With your serverless computer 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.
>> In some ways, you can think of this
as a serverless functions mode as a step even further.
You just deploy a hardware machine
and install everything on it.
Next thing, you'd have a virtual machine
and you install everything.
And then you put your code
and all its affinities to the container.
And with serverless with 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.
Under the covers,
all of these past systems,
going all the way back, that's how Docker started.
Run a container underneath the covers.
in the same place, 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 Docker can handle for work
in that serverless model in the future.
>> See 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 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?
On the serverless stuff, I'm not on the serverless team.
I'm not really qualified to explain everything on their end.
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 a lot of these sort of technologies.
I'm just not the right guy to answer that question.
>> As you talk to your customers,
where does this fit in to the whole discussion?
Do containers just happen in the background?
Is it helping them
with some of their application modernization?
Does it help Microsoft change the way we architect things?
What's kind of the practitioner,
your ultimate end user viewpoint on this?
Well cloud adoption is at all points
on the curve simultaneously.
Even the inside of individual companies.
So everybody's in it,
in a kind of different place.
The two models that I think people have really
concentrated on, is on one end,
the path at least is infrastructure
where you just bring your existing applications
and another one would be PADS,
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 dependency together
and run them everywhere.
So a lot of lift-and-shift works is 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.
>> 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 firm
that calls it bimodal,
but to customers we talked to in general,
we don't segment everything we do.
I have application type infrastructure and I need
to be able to live across multiple environments.
Wrapping versus refactoring.
>> And they do both.
But I always prefer to, you know
some people come in and they talk
about legacy and they're developers.
I'm a developer, right?
Developers we always want to rewrite everything.
And there's a time and place to doing that.
But the legacy applications are required for those
applications to work.
And if you don't need to refactor that thing,
if you can get it into a container or 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.
It's a good conversation
to have with a customer to understand.
I've seen people go both too slow, and I see 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 educate
and help the people that had certification or jobs
were 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.
And 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 have been working in
some of their previous moment.
Which is another reason again, where the lift and shift
stuff is, 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 indefinitely in one of those points
where the industry is changing so fast,
I personally have to spend a lot of time, What's going on?
What happened this day?
What's new today coming to the conference,
I learn new things.
>> 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.
An EE feels more like traditional software.
It's packaged, it's on the regular release cycle.
CE is, 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 tick-tock on releases.
It's the pace of change is tough for everyone,
how are you helping, you know with you product
development and customers, you know, take advantage
of things and try to keep up
with this rapidly changing ecosystem?
>> This is a constant challenge with physically software now.
We can't afford to only ever ship 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 inactive branch Where
things are coming down and the changes and the updates
are coming.
I'd say the one biggest difference I'd say, but you know
I've been in this industry for a long time.
So say between the '90s and now, is that we have
so much of it is actually off servers.
Where when something crashes, we get a crash dump
and we can debug the thing and so going out in the field
we have much more capability in finding 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.
>> 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, we'll have more people, it'll be a bigger
event, but you know, 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?
>> The first year was kind of like, what is this thing?
Second year was now, the individual Docker container
is there now how do you orchestrate them and
next step is how do we network these things.
And there's an initiative now to standardize on storage,
for storage systems and docker containers.
Monitoring. There's a lot of things that are still
to do. We have a long ways to go.
On the other side, I think this other track,
which we talked about today, which is that virtualization
and containers are going to blur and mend,
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 saying it's
some unit of compute and then there's so much
in knobs and tweaks that you want it a little
more isolated, you want it a little less isolated,
you trade off some performance for something else.
>> Business capability, 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 saying.
>> Yeah, I think where we're really going to get to
is a model where people we get past this basics of storage
of networking and start working up the next level
So things like Helm or DCS Universe, or Storm Stacks,
where you can describe more of an application,
it just keeps moving up.
And so I think in seven years, we won't be talking
so much about this, it'll some other disruption, right?
But there won't be talking about this virtualization
layer as much as building apps again.
>> On a visual composition of microservices,
what is Microsoft doing, you say that you long
ago entered Microsoft during the Vizio acquisition,
what's Microsoft doing to enable more visual composition
across these functions, across orchestrated
team-like environments going forward?
>> I think there is some work going on.
It's not my area again, on visual composition,
despite the fact that I came from Vizio.
I kind of got away from that space
>> Well I'm betraying my age.
I remember that period.
>> All right. Well John, always a pleasure catching
up with you and thank you so much for joining
us for this segment.
Look forward to watching Microsoft going forward.
>> Thanks. Thank you for having me.
We'll be back with lots more coverage here
from DockerCon 2017. You're watching theCUBE.