Hosting and scaling your apps with Azure Container Service
Articles,  Blog

Hosting and scaling your apps with Azure Container Service


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

Leave a Reply

Your email address will not be published. Required fields are marked *