How would you like the ability to start up a new container on a
new node but not have to wait for the image pull and
decompression? With Project Teleport, your containers are now
ready in mere seconds. Steve Lasker is here to show us how it
works, today on Azure Friday.
Oh, Steve nice of you to join.
I'm here to get started with our little teleportation.
That sounds great. It sounds like today, we're going to talk
about Project Teleport, yeah, So what we love about containers is
their ability to bring their whole environment with them
right right. I got the whole environment. They get the OS I
get my configuration that I can inject and that's awesome. The
price of admission is that first time you pull you have to wait
for all the layers to come down and then wait for decompression
so that can take quite a while. In fact, it becomes the
inhibitor to a number of scenarios like in server this
kind of scenarios, so we've always felt that having images
as close to the deployment as possible is really important. So
2 years ago, we released the Geo replicationm feature. Yep. So if
I'm in 2 different regions, I'm always pulling locally and we do
the replication behind. With Project Teleport what we want to
do is make it inside a region also be just as fast. OK. If you
think about the way the Docker flow works and we've got a
little animation here for this. When I have a Docker Pull or a
Docker Run right. It's asks for something at the client. It goes
to a registry and it says. Hey, I want this thing there's a
manifest that comes back that has a set of layer ID's and the
client looks at those cash and says do I have anything?
I have some but maybe not all, so it goes, "Hey, Registry. Can I
have some blobs that represent this?" For the Internet, it's
Great 'cause? You want 'em compressed right because the
Internet is kind of slow you're sharing that with a lot of other
things, yeah, exactly I call your Netflix videos and
everything and I have to wait for all these layers to come
down and decompress so it's great for the Internet, but
inside of data center. That's not the most optimal.
So if we look and I've got nothing up my sleeve here, so
will just run this again. So now you've got some context to it
right. We're pulling those layers down. It's decompressing
am your labeling. Traction Yep and waiting and waiting yeah,
and eventually you will get the image. Now, the second time it
runs fast 'cause. It's there in serverless scenarios. I don't
really have a second time because everything is new, so
that's the piece that we want
to improve. And it's almost there. And it's just going to get worse and
worse depending on how many layers. You have in the size of
each right right. Yeah, the bigger the image. The more it's
going to take so here it took 36 seconds. For this image to get
started and for the sake of consistency. I'm just saying
Hello in it. With teleport what we do is the startup is the same
right. I want to run that job it asks for the layers. It looks
locally. But now, what we do is say Alright, we're in Azure. We
know we got this optimal network. The compute disk speed
and memory is the bottleneck not the network So what if we ask
for layer amounts and then just do SMB mounts, so that we're
only going to pull the content across that we actually need so
turns out that can actually make things a lot faster just grab my
other snippet here. We're skipping all of the
decompression and you're just bringing that layer of straight
over. Correct so we've enabled this in preview with ACR tasks.
It's just a very optimized container build and runtime
environment, so that's what you're seeing here is we
basically run ACR task and you'll see. It says Orca run and
if we look while we had the startup of the serverless
environment for ACR tasks. We see the actual image time was
four seconds. That's quite a bit. I mean, I didn't look at
the final number before, but it was much more than four seconds.36 or
something and this is.
A relatively small image so we can make some pretty significant
changes deltas here. I mean, especially like that was a
dedicated VM, yeah right. I'm like working directly with it in
comparison, if we think of things like here's some ACI
comparisons. The numbers get pretty dramatic and even with
spark notebooks with machine learning. These jobs can get
pretty big. Yes because that image and says you can see that
34 layers and the dedicated VM
is. Significantly, higher than what we're seeing in yeah, yeah,
I mean? What you're actually seeing is the numbers are really
related to the layer count and that's actually one of the
optimizations. We're working on as well. So just a little bit
more. How does some of the magic work right in the Top one we
have a Docker client on both sides, it darker push their
compressed blogs and the Docker Client asks only knows to ask
for compressed blobs in our bottom. One we have a Docker
client, but then we have a teleport enabled we called Orca
just look. Project work is just the way we've from this together
for now, and when it does it says. Hey, I'm going to work
with client? I'm going to same region? Don't waste my time with
this Internet Protocol stuff just let me get to the layers OK
and you can kind of see the different permutations like we'll
eventually have tasks that can push expanded layers. So pretty
cool, yeah, so that's really it. We our goal is we currently
having preview in Linux with ACR tasks. It's a constrained
environment. So we can do things really quick and really
efficient and get feedback.
And then based on that feedback we're going to kind of roll it
out to every service in Azure that runs containers can run
Teleport both Linux and Windows that was going to be my next
question so you said. Today we have Linux and we will be
supporting Windows, so that will be a great addition to this and
I see that you have a number of services that you'd like to also
like this up with you pretty much anything anything that runs
containers in Azure. We can do this right 'cause. It's the
whole idea is we're leveraging that inside the Azure network.
Leveraging Premium Files from Azure Storage machine learning
and your serverless. All of these scenarios are just going
to be that much better in Azure, yeah, yeah, you have to wait for
the start-up time. So it will just unlock a bunch of
scenarios. That's great, so we're definitely looking for
people to give us a try. So, please sign up. Let us know what
you're doing, and we'd love to get your feedback 'cause. The
more feedback. We get the faster we can roll it out to all these
other services in Azure Fantastic. Is there anything
more. I think that's it. That's it. For now well. Thank you so
much for joining today. It was great to see Project Teleport.
I'm excited to see this become available in more and more
services, yeah, so we've been learning all about Project
Teleport, today on Azure Friday.