 Hi there and welcome to another edition of Tuesdays with Corey. We're back in the vibrant coffee shop. Same Tuesday. Same Tuesday. Different person. Yes. That's me. That's right. I'm still here. Yes. Thank you. Please don't interrupt me again. Thank you. Thank you. What was I saying? We're here. I'm here with Modern. And Modern is our, I don't even know what you work at anymore, our container, our Linux, our open source. I suppose they work on all of this. You do a lot of interesting stuff. It still looks. I mean some of it does. And he is here to show us the latest and greatest on Azure Container Instances or ACI. I am. Okay. So tell us a little bit. So we just gade that we shook this many moons ago. Many moons. Last July. Many fortnights. Last July. Tell us a little bit about what this is and what people are doing with it. Because I know when we originally launched, we were sort of like, we don't know what people are going to do with this thing, right? So tell us what sort of, what sort of played out and then we just gade this, right? Yeah. So ACI stands for Azure Container Instances. And the idea was to make containers as cloud native as possible, right? Basically the lowest compute primitive possible. You don't have to worry about VMs. You don't have to worry about managing clusters or orchestrators. I've got containers. My app is packaged in the container. I just wanted to kind of host an Azure, right? So that's exactly what we did. The command is pretty simple. You've shown this, you know, in your previous episodes, you know, you just say container create, here's my image. If you want a DNS label, if you want a public port open, you can say that. This is like super easy. As simple as VM, except it's containers and immutable you know, infrastructure. So all the ecosystem that works with containers just works, right? When you say immutable infrastructure, explain, act like I don't know what that means. I actually said immutable, which means, you know, typically in a container ecosystem, you know, people are writing code that they package it up. So it's essentially a deployment. Oh, I see what you're saying. Yes. And, and, but it's also, you know, something that you can act as if it's a VM, right? So it's fast, you know, it's fast boot up, very simple to create, not a whole lot of concepts. So, you know, it's really easy for a developer to, you know, essentially kind of fire up a sort of command line and go interact with my containers right there. And when I don't need it, I shred it down. Yes. And it starts up super fast, just sounds super fast. Yes. Got it. And it can be used with other services too, right? Totally. So, and so like, well, what have we seen people sort of deploy it with other services? Yeah, I mean, containers because these are effectively serverless containers, they are essentially becoming an event driven infrastructure. Was this quotes, was that what that was? Yeah, this is serverless, right? That was the quotes, that's it. Serverless. I see, I see. You know, it's basically, you know, it's used without serverless stack, right? So, you know, people are using it functions. In fact, what I'm going to show is basically a fully event driven application using many, many aspects of our serverless stack. Oh, very cool. Cosmos DB, service bus, you know, Azure functions of course, and of course, you know, ACI in the centerpiece, right? So, you know, we see a lot of customers thinking about like, hey, you know, how can we kind of stand up an event driven infrastructure that's composed of many, many, many Azure services and do some very interesting, you know, compute things and then, you know, essentially tear it down when they don't need it. Immediately, yes. And paying just for the seconds. If you remember, ACI when we launched, that was the first time we actually had a per second, you know, compute service. And now people are using it for ETL jobs, bull jobs, some fancy serverless application. And I remember when we originally launched it, we were like trying to figure out how to build for it because no one had ever done anything like it before. So, we were like trying to basically invent how billing should work for something like this. Indeed, indeed. I mean, like we basically- And it's actually, the recent release has reduced the price quite a bit. Indeed, indeed. I mean, in fact, if you look at the number of decimal places that we have to kind of keep a position on, it's like six decimal places and we can actually go more. Yeah, yeah. Cool. Well, so, do you have something to show me? Yeah, yeah. Yeah, it's just, I mean, we can just keep talking. So, this is, as part of the Azure Container Instances, GA, you know, we release this sample. It's all in Azure samples, as you can see. It's an event driven worker queue implementation. So, basically, you will see anything that shows the ACI logo, which is this. Oh, yeah, yeah, cool. We've got a dashboard, a web server, essentially running and hosting, you know, some sort of interactive activity. And then we have a worker. This is spawned on demand. And the way we do it is the website essentially sends a notification to Service Bus to queue a bunch of work. Okay. And then that essentially can trigger some Azure function, which will essentially create an ACI instance on demand, right? And then what we have to do here is essentially, let me ask you a question. Can I ask you a question? Sorry. Service Bus, why Service Bus here versus something like Event Grid? Is it just? It was just a try. It could have worked too. It could have even grid, right? Okay. Totally. Okay. I mean, there's no reason. Okay. I like both servers. I like both servers. Yes. I like both servers. They work well. Service Bus is ordered, right? Yeah. That's a big thing. We just used it for this sample. Yeah. Totally. You know, you can use Event Grid, Logic Apps, you name it. I apologize for my interruption. No, no problem. Very good question. Thank you. We love Event Grid too. Yes. And what do you have here is Cosmos DB essentially keeps track of all the work, the status of the work. Yes. And then, you know, we also have a cleanup. As soon as the work is done, you know, there's essentially, you know, Service Bus again sends a notification to Azure Functions which essentially, you know, cleans up, you know, the containers as they are. So, let me kind of show you how this looks in Portal, right? So, we basically, you know, you can see any resource group here. And, you know, like you mentioned, there's a function app, you know, we have a bunch of containers that are already running, a Cosmos DB, you know, Service Bus, you know, implementation and so on and so forth. And the dashboard is pretty simple. You know, at this point, I have a bunch of containers. I can look at each of the container here, and you'll see the output. It's essentially a simple hash function. You pass in a command or a string. So, I can say hello. Whoa. And you'll see, you know, a function has essentially kind of triggering it. And so it's creating on-demand. Yes. As soon when you need it, now you can see the kind of change. It's basically assigned. Yeah. And then, as soon as the work is done, it will change to green, right? That's fast. You blink and you miss it, Rick. That's the whole point, right? So, and then, you know, we also have integration with Azure Monitor, right? So, you can basically look at kind of the usage here, you know, the output, you know, you can essentially... That's the hash of what you typed in. Yeah, yeah, what I typed. So, you know, you can see at this point. Not really like an incredibly useful job that's running here. Yeah. Look, the work is done. So, you can see the hash now, you know, right there. And so, does that mean the container, we've killed that container now? In this case, it is there because I haven't kind of cleaned up. But essentially, you can go see here, right? Oh, we need a clean database and it would clear it out then. Exactly, right. Yeah. Now, if I go and do a refresh, you will see the container that just popped up, which was Chen something, right? Chen 5S got AWP, that was it. You got it, you got it. That one right there. And I want to show you some things that we did for our general availability. So, same set of information here, like I displayed in the app. But the cool part is, you can look at the container events right in the portal. We've integrated with Azure Monitor. Oh, look at this. So, you've got basically the events of the health, the container, all these aspects here, huh? Exactly. And you can look at the properties, you know, what I used when I created it, basically what port is open, you know, what message is. And the cool thing that I like is the locks, right here. Oh, look at this. Yeah. You thought serial console was awesome. I mean, it is. It is awesome. But you know, this is container world, right? This is okay, but I mean, serial is still much cooler. That's right, that's right. And does every container just have random spew or this is what the, this is the work that it's doing? Yeah, this is the work. So, you know, and every container you could essentially... I didn't mean to call your container ugly. Well, no, to each their own. That's apparently. Yeah. So, that's basically it. You know, it's a pretty simple app. You can go, you know, give it a test drive, all the code is right here. So, you add all the code here and so this includes an arm template to be able to be able to... Yeah, very simple. Very simple. You can do it all from a cloud shell, you know, clone it, you know, run it with it, you know, and basically, you know, make changes, you know, submit to it first. And where you going? Yeah. I wanted to show one other, you know, just so we know. Here we go. Okay. Azure cloud shell is embedded, right? You can just go to shell.aju.com. Yeah. In this case, what I'm going to do is... Oh, this is the shell standalone. Yeah. Okay, shell.aju.com. Write that down, everyone. Yeah. And so, a couple more key features that we made. This basically kind of locks, you know, essentially goes into the container of my choice and actually, you know, prints this out. And prints this out. Right in your, you know, cloud shell. So, again, it's sort of like just like the Docker command directly against a full man in service. Again, serverless. Yes. With an SLA. With an SLA. Yeah, three nines SLA. First time in the public cloud. Wow. Yeah. And you can also do... I told you he knows containers. You can actually... Let me also... You can even do an exec which is typically, you know, what is used for a container... Just to run a command. Yeah. So, if I do az... It feels like you're making up this demo as you go. Is that... Yeah. I mean, we have time so we can keep starting. I mean, you guys don't have anything to do. So... Yeah. So, let's see if I can get the az container exact. I mean, now you've... Yeah, now I'm... Now you've really built this up. You've built this up and you're like scanning through all these previous commands. I'm going to leave through this because I'm going into the balls of, you know, container land. But I wanted to show you some of the examples here. So, you can basically attach a container. Obviously, you can create, delete. There you go. But you can do an exec. Yeah. It's pretty cool. You basically are running into a container and you can spell, you know, essentially, if you want to bash into it, you can do it right there. Yeah. And look, try it. You can run it right here if you wanted to. That's right. You can do that. Yes. And then obviously, you know, you've got the glorious blog from Corey announcing it. And, you know, all the list of things that we've done, we have got a very own... And then the, and then the better show. That's right. The better show from Scott Hanselman. Scott Hanselman. You know what? Let's play this in this show. Inception. And I'll get more views. That's right. Hey, friends. I'm here with Justin Luck and we're going to talk about Azure Container Instances. How are you, sir? I'm doing fantastic, Scott. How are you? Lovely. I'm lovely. I'm like announcements for things that are generally available and Azure Container Instances is ready to go. Yes, exactly. So this is a super exciting time for Azure in general. So as we see containers get adopted by the market, we want to make sure that containers are available and flexible in whatever type of service that you might need on Azure. Anyway, you should give it a try. You should give it a try. Thank you, Manon. Yeah. You're ready for me to end this. That's right. Okay, thank you. Manon, this is great. ACS, great. Thank you. This is a good demo. Yes. You showed some great stuff. One of the things you did not show and you promised to. So maybe we'll come back and maybe you can put a little video up on Twitter. We can do a part too. We'll do a part too. Just that. Yeah. Thank you for being on the show. Sounds good. Thank you for being here and suffering through this great show. Manon did great just to be clear. It was more on the weakness on my side. It's always that. If you've got questions, you've got comments, hit me up on hashtag azuretwc. That's short for Tuesdays with Corey and I'm here again with Manon and we are showing Azure Container Instances and you should get this GitHub. Yes, let's take it back over here and just show people. Make sure you download this and give it a try. And so it's right here. And so take a look at Azure samples and have a great Tuesday. Thanks a lot. Give us a snap. Hi, Rick. How are you? How do you know if it's recording? Because you hit the record button. It's not a test, man. Here we go. You ready, Rick? Yes. All right.