Welcome to the Microsoft Mechanics
Coming up in the show
we'll explore the Azure Container Service
A new way to host and scale your applications in Azure
We'll take a look at the advantages of containers vs virtual machines
and we'll show you how to start using the Azure Container Service
and how it scales dynamically.
Microsoft Mechanics
I'm joined once again by the illustrious Corey Sanders
from the Azure Compute engineering team
It is good to be back
I am surprised you keep having me back
You and me both
So IT developers have been using containers for a while now
What's with all these containers?
Yeah, thanks for air quoting them
It all starts with virtualization
Virtual machines virtualize the physical hardware
Containers are the next evolution
They allow you to virtualize the operating system
thus you can be much more agile
and much more dense
then virtual machines could be
because they borrow from the underlying host operating system
Additionally
one of the really cool things with containers
is that they are super portable
they can spin up an application environment in literally seconds
and they can do it on your dev box
or they can do it in the cloud
or on service that you're hosting on-premises
all of this brought together brings huge advantages
for both developers and IT pros
You're talking a pretty big game here
Just how fast is this?
Ah!
Let me show you
And with that simple command
I've spun up a container that is now hosting a website
and almost instantaneously
that websites up and running
Impressive!
Now you just spun up a whole web server and a web server stack
and I couldn't even boot up a VM in that fast
Yes and in the time that you took to say that
I've spun up 20 more instances of that web server
running on that same site
Now with this model
you can get all your apps and services provisioned
and scaling in seconds
if I wanted to run this in Azure
what would have to do to set up this infrastructure?
It's amazingly simple!
We built the Azure Container Service
to give you a one-click
container orchestrator for your environment
you can spin this up almost immediately
and have automatic failover
networks controls
all sorts of capabilities
that we set up for you automatically
Azure makes it really easy
So how does all this work behind the scenes?
Well there are number of virtual machines running as part of the a container service
these virtual machines are running orchestration software
We support Mesosphere DC/OS or Docker Swarm
And as of today
I'm excited to say we also support Kubernetes
Now because everything is open source with the container service
we make sure that your apps aren't locked in
to what we're deploying in the cloud
You can deploy them anywhere
And once you've deployed this container orchestrator
you then deploy containers based apps using
using instances underneath that orchastrator
based upon the setting you've chosen
So how do we go about deploying this container service?
Let me show you how to deploy this
It's very easy!
If you go into the Azure portal
and hit 'New'
and go down to the container section
there's a few options here
the one that you want to pick as the Azure Container Service
and from here
it's incredibly easy to get started
You go in
of course put your username
and then you do need to supply
an SSH public key
Okay
And then you're going to say
I'm going to 'Create new'
Ok I'll pick West US
and from there
I can pick the orchestrator
as I mentioned we have two options
You can pick Mesosphere DC/OS
or Docker Swarm
In this case let's say I'm going to pick Docker Swarm
and then from there you can pick your agent count
and your master count
and this allows you to say how much you're going to scale this. right?
How big are you going to make this deployment?
And i can pick let's say three
And pick the the DNS prefix here
and away I go
So now you've got that service deployed
what's it actually look like to manage the service?
Yes, I've already got an app up and running
just to show you how easy this is
and this app is running using Mesosphere DC/OS
so the other orchestrator from the one I just showed
And here I've got
in Marathon
a set of containers deployed
What this app is doing
it's a simulation app
and what is basically doing
is pulling from a queue a set of data
and is doing this work on data
so let's say you were buying something from a website
and when you buy something it goes into a queue
this is going to take that and do some work against it
Now what this needs to do is
first I'm going to spin this up and get this started
and so as you can see quickly
I'll just scale this to one
and that's going to start the app up
Okay
and so what the immediate thing it does is
it spins up these consumers
and these consumers are taking this work from this queue
and doing actions on it
right now there's no work on the queue
no one's hitting the site
and so in the meantime
I've got these other remainder containers that are doing analytics in the background
this is something that people struggle with a lot
they've got a bunch of this capacity they need to use
and they want to
be able to respond to traffic
but when the traffic isn't there
they want to be able to do work that's meaningful in the background
and so if i show you this running here
you can see I've got here on this page
this is actually a visual view
of the work that's happening
on my site
and so you can see here
I've got two containers that are dedicated to consuming that off the queue
and I've got eight that remainder traffic
And here the red line
is the work
and it's zero right now right
Ok so now let's say it's a busy time
It's Thanksgiving let's say
and I've got tons of people
let's say eight people hitting my website at once
So I've got these producers
and these are simulated people
hitting my website and putting work into my queue
and also make that into eight
and immediately
you can see the work is picking up on the site
So the red lines going up
and so the work is going into my queue
and once it hits about 75
the system responds
and says 'ah-uh'
we need to get more of these consumers
taking that work off the queue
and you can see it went up from two to three
and you can see immediately
it responds
and this is one of the really powerful benefits of using containers
for a app like this
is the containers respond
almost immediately to the work and the changing work
So you can see it's kind of going up
it's going down
and there you go
we actually produced another consumer
one less remainder
and the work is now actually on its way down
and the website is more responsive
and reactive because of that
all of this happening with the very simple
DC/OS managing and orchestrating this across
all of my infrastructure
Great stuff!
Now you've been able to deploy
a managed service that hosts containers
simply easily within that cloud infrastructure
that gives developers and easy endpoint to deploy their apps and services
and IT admins
a simple infrastructure to go ahead and to use their environment
Yeah absolutely Rick
you can now take advantage of much more of your infrastructure
by utilizing it into these sorts of ways
So where's all this going?
Yeah, you saw me demonstrate
the Azure Container Service for Linux environments
Now
Windows Server 2016 is launching with container support
we will also be adding that container support with Windows Server 2016
to the Azure Container Service
giving you a way to deploy both Windows and Linux apps
all in the same environment
and allow you to go modernize your existing apps very very quickly
You know the next question is
How are folks going to get started trying out this Azure Container Service
You know the best way is to do literally what I did here
Go to the portal
search for Azure Container Service under the container section
and launch
Thanks again Corey
Really appreciate it
Awesome overview
And keep watching Microsoft Mechanics for the latest in technology updates
Bye for now!
Microsoft Mechanics www.microsoft.com/mechanics