[Music]
Coming up on the show.
A new way to get up and running with containers
in literally seconds without VMs or orchestration overhead
using the Azure Container Instances.
Whether you're new to containers or if you're a seasoned user,
we're going to show you why you want to take advantage of containers,
how fast it is to get up and running with them whether you're going to be running Linux or Windows.
And how to provide one of the most efficient options
for your burst compute scenarios.
So once again I'm joined by Corey Sanders
on the Azure Compute team.
Thank you!, Welcome back.
It's always good to be back, Rick.
It sounds like you've been doing a lot of yelling, you sound terrible.
Thank you. You're welcome.
You know you look great though.
Azure Container Instances offer a significant advantage for all
those that are interested in container technology
What does it do and how did it come about?
Yeah all the cool kids are using containers,
so Rick are you using containers?
Uh. Exactly, so the real appeal with containers
is the ability to spin up apps
very very quickly.
Service them very quickly and scale them very quickly.
However it can actually be a little bit challenging to get going.
Many of them require you to create a container environment, provision a host VM,
manage that virtual machine
and then you have to go figure out what image you're going to run
and deploy it figure out how to set it all up.
There's a lot you need to learn.
You need to learn orchestration, scheduling containers, enabling,
and all sorts of management and so on.
It can be really really challenging to learn all those aspects.
Now with Azure Container Instances
being able to spin up a container on demand without needing to provision
any host and they just appear as you saw, in this picture.
Zero overhead, that is really the advantage
of Azure container instances.
How about you actually go ahead and show us what's going on?
Okay, I will.
All right so if I open this up and I'm going to go here into the Azure CLI.
And I'm just going to start here because it's the simplest way to get going here.
Okay and so what I'm going to do is I'm going to take an image.
Then I'm gonna pull from Docker Hub.
And I'm going to run this.
You can also pull from your own private Azure registry
or some other registry.
But right now I'm going to pull it here
from docker hub and get it launched.
I'm going to pass in a few parameters here and get it going.
So let me just show you how this is.
So if I just say az container create
I'm going to give it a name, so let's call it nginx2.
Then I'm going to pick an image and let's say library nginx.
Okay and then I'm going to put this in the ACI demo
And then IP address.
I'm going to make public.
And so what i'm doing here is, let's just double check to make sure i got it all right.
I'm making sure that the IP address is public because i do want to reach it.
And it's gonna spin from from docker hub an nginx image.
And you can see here it's got an IP address assigned to it.
That was Linux nginx we're talking about in that situation.
Can I do the exact same thing on Windows?
Yeah, you're absolutely can.
So let me show you how to spin up very similar scenario,
But on Windows using IIS.
So let me do it again here, container create.
Okay and this one I'm going to say call helloWindows.
And let me pick the image here.
microsoft/iis: Nanoserver.
And then I'm going to do
- g ACI - Demo -- ip - address public -- os -type Windows.
That should be all I need to do.
That should go launch.
Now let me go get a list here and kind of take a look at all the containers that I've got deployed.
So lets to az list container -g ACI - Demo - 0 table.
You can see here actually the initial one,
the initial Linux one is actually already created and successful and started.
So let me actually open that up here and just show you what that looks like.
Okay I got it.
That says succeeded here
And the Windows one is still creating, so let's go in and take a look.
Some great news going on here.
So everything is happening so fast.
It''s a very very fast deployment model.
Yes did I pick the right one here and get the right address?
13.92.14
Oops 214, there we go.
The computer can't correct my mistake.
No that was 214, that was right.
I can't see this far sideways.
All right, there we go let's try 13.93.214.145.
Ok, you remember that?
Yeah ok.
13.93.214.195?
Okay, this is literally the worst demo these people have ever seen.
Okay why don't you just keep talking Rick, we'll get this going.
So that was fast.
When they came up in the command line, you saw that one was actually created and started?
Yeah that was still in the process of being created.
How is all this going to be built for folks?
Like how much they're going to be paying for being able to run these individual small containers?
Absolutely.
So, there we go look at this oh we're back up here.
They gave up on me, there it is! okay.
The machine was faster than the human.
Though I swear on that point.
Yes so this is the best part.
The best part about the billing story here is that you pay per second.
Right so this spins up in seconds
Per second?
Per second, yeah.
So this spins up in seconds it takes you a little bit longer to type
the address apparently.
But you pay for a second, it spins up in seconds, you spin down in seconds.
And we were really the first ones to do any sort of per second billing.
And we are starting to see some of the others follow us.
And just to give you a sense of what I mean by per second
this is .000125 dollars per gigabyte per second.
And then point .000125 CPUs per gigabyte.
Excuse me, per second as well.
That's the price tag there.
Now one of the nice things about containers is you can control their sizes as well.
Absolutely, yeah.
Bevery small and be larger.
How do you go ahead and like swap with to the size of the containers?
Yes sir this is one of the greatest parts is that
you know as I talked about the building model is GB and CPU
You can actually put distinct GB and and CPU on each one of these containers.
And so if I go in here and show you.
I'm going to create another one here.
Okay and let's see nginx2,
let's go library.
Actually that was what I called the first one, wasn't it?
Let's go 3.
library/nginx -g ACI - Demo -- ip - address public -- cpu 2 -- memory 3.4
Right and so just with that now I hit go.
Address is spelled wrong.
Oh, is that?
You guys all saw it and you were waiting for it to go.
They should have corrected us on the fly.
Did I spell it wrong?
It's actually going to fail to start.
But it is going to give me the right amount of memory and CPU.
So you can see here I've got CPU2 and memory 3.5.
I'm going to list out the full list here.
So list out the whole list of all the containers that are deployed here.
And this will show me the Linux one and it will show me this one creating.
It'll also show me the Windows one as well.
It looks like the Windows one actually is up as well.
Let's try typing the IP address again.
Yeah, do you guys wan to see this happen?
Everyone remember, what are the odds that this is going to work this time?
I'm going to copy and paste.
I think that's what I did wrong this last time.
Here we go let's try this.
There we go, IIS.
Windows worked.
Linux did not
so there we go.
This is actually very cool
That's not Windows or Linux's fault, just to be clear.
That's Cory Sanders Fault.
So this is this was very cool.
This could be a very good solution for DevOps scenarios
if you want to go off and quickly spin up test environments and everything else on the fly.
That's really what we're seeing it for.
People who are coming in and saying look
I built something and I want to try it out really fast
I'm not going to go and spin it up into these production environments, I just want to get going.
See it work, okay it worked, it didn't work.
And spin back around, right?
So it really allows you to try things out quickly and test things out.
You can do it for production workloads as well.
You can spin these things up and get things going really really fast.
And that's a really really powerful aspect.
So it's because it's on demand and because it's so fast,
it's incredibly easy to have complete control of your infrastructure and all of your costs.
Like I said, charge per second
so you're really only going to pay for what you use.
And the space to use.
So what's going to happen if I want to get more complex?
Because we're just talking about a single container right there.
But what do you do if we want to have them start talking to each other and stuff like that?
So this is a very important point.
We do not recommend using ACI alone
for large large multi container interacted deployments.
It will become a little bit messy.
What we really want to think about there
is that's when you really want to start looking at your container orchestrators
You can look at Azure container services to be able to deploy
let's say something like docker or deploy something like kubernetes as part of that.
You can also of course deploy service fabric and do all of your container management
in all three of these.
And so really ACI is designed for one-time execution,
specialized containers and fast scale out.
That's actually key point.
When you look at something like deploying on top of kubernetes,
you can then do incredibly fast scale out and you can use ACI combined with VMs
to be able to take advantage of the best of both worlds.
Your VMs you stack up, you load up and you make sure you fit perfectly
but then suddenly you need to burst.
You can use ACI and you have the same Kubernetes command sitting on top of both.
So it's a really fantastic burst scenario.
A fantastic ability to handle your spikes in your workload.
So it's fast and powerful like me.
Where is this all going to be going?
No response from the audience, did you notice that?
They're like is that a joke?
Where's this all going? [Laughter]
The goal here which has been the goal with Azure for some time,
you can see this with our recent announcements for Linux containers GA
in app service.
You're seeing this with Azure Container Service and service fabric supporting containers.
It's all about bringing containers to you
in whatever way that you want to.
Being able to deploy containers like this on the fly you can learn,
you can deploy your apps, you can burst,
or you can go into the more complex scenarios
and go up service fabric Azure container servers or app service.
All of these natively support it and should really make your CI CD pipeline just really hum.
You get to pick and choose where you want to deploy.
Perfect so this should be great.
Now where is everyone going to be able to go to get started with this?
Yeah so both ACI for Linux and Windows is in preview today.
So you can launch with these today, the commands that I just run should work.
They'll work better for you then they did for me.
They should work today
and certainly you can check out the link here
Azure CI and be able to dig into it a little bit more.
Yeah, thanks Corey.
And thank you and keep on checking back to Microsoft Mechanics for the latest of updates.
Thank you for watching.
[Music]