Use serverless technologies to manage your IT resources | BRK3249
So, we're worried at the party alright actually. Managed to wake up that's not. And. You even survived, this, whatever half a mile walk from the launch area I don't, know about you but like 240 you know this room is like it couldn't get better so. You made it to the best and last, session. Of ignite so thank, you so much and I, guess we'll continue, gate. 86, terminal, a see you there alright. So. Now let's get down to business. My. Name is Dave or follow which I represent. The azure computing, with. Me I brought the function master everyone. My name is Amy O'Reilly I work on the extra functions team now and. Together. We'll try to walk, you through how service. Could, help you now. When I say how service, could help you we at Microsoft see, service is one, of those trends which, changes. The, way people think, of software. Writing software maintaining, software. Extending. The the process, their application, their services and one. Of the area's, we've seen. Early, adoption for. Service, technologies, is with. IT. Managing. Your, resources, either, on Prem or in, our cloud or even in other clouds so. Today, we'll, walk you through some of the highlights of what, the functions team managed, to deliver for, ignite mainly, around PowerShell, GA who. Likes PowerShell here, alright. That's your audience and. We'll, walk you through some. Use, cases for. Using, this muscle, of functions. And even PowerShell, running. Function to, better, manage, your IT, our focus, here will be Azure but you can apply, the same way across, on Prem and even other clouds. Anyone. Perfect. So. You saw we're going to go through some of the patterns for event based automation, but. When you think about automation, all up what, you're really trying to accomplish is, all. Of the responsibilities, you have your organization, if it's, on your infrastructure. Or your, applications, when you deploy those into Azure or even into your on-premises, environment. There's really a set of controls. That, most of us are responsible for we actually deploy those infrastructure, and applications, and when.
I Think about automation. You wanna think about how, do I insert automation, into all parts of the lifecycle because. That's the only way that you actually get that robustness, and also the throughput that you need um in, this these days and. So each one of these from how you deploy your resources and. How you manage. Them how you configure, them how you secure, protect. Monitor. Configure, and then, also how do you govern them afterwards, all, of those are probably things you are responsible, for some of them all of them and, you want to start thinking about okay what tools does Microsoft, offer to make it easier for me to actually go and perform those tasks, in an automated way and so, that's really the goal, of this presentation, is just try to think about what, are the new capabilities adjure has how, can you get started using them how can you start to embed automation, into the entire lifecycle that you operate, and, again. This is a cross store infrastructure, and your applications. But. Probably some of you are familiar, with Azure automation, how many here I've used as your automation in the past. Good. So quite a few so as you probably know when we released as your automation back in like early 2014, it, was basically the single, purpose, automation. Solution for everything that was our generic solution and if, you, were willing to do all of the kind, of coding yourself in PowerShell you, could manage all the deployment, of your infrastructure, you could assign policies, and rules you. Could respond to events and you could integrate into other systems and so, we had this goal of trying to give an automation on platform, and it, worked out really well and a lot of people are continue to use it but. Since 2014 we've started to invest in a lot of other services to try to remove a lot of the work that you had to do to kind of code up all of this automation yourself, and try, to embed some native services into Azure that, you could start to use to make your lives easier but also move some of that workload into, the service instead of you and being responsible, for everything and. So. If you kind of fast forward five, years from, when the, beginning of 2014, you've. Actually see we have a lot of new services in Azure that, you should start to think about when, you're doing automation, across your environment, and I, kind of look at this as like your toolbox you. Know the best service to accomplish the best task and so. We think about deployment, now the recommendation, we really have over the last few years is to use as a resource manager, to, kind of define your deployments, and leverage that as the capability and it has a whole set of nice. Things around its idempotent. All the resources are available it's. All very easy to check in and integrate into as your DevOps and so that's as you're doing your deployments, we recommend using that service as you go forward, but. Even as you do respond, how, do you actually have an invent based system that can respond, to, alerts. Events. That are happening across your application and your integration, that's. One of the reasons we built the Azure functions, integration, so that you could start to take advantage of all the native integration that functions has and build, out your arm, event based automation, across your infrastructure and, then. Of course how. Do you integrate into all your existing systems and so. If you're not familiar we, have a service called logic apps and that's. What we're going to talk a little bit about today as well and that allows you to integrate into all your existing systems so, that you can actually not just automate, your as your but if you have approvals, or other ITSM, systems you're responsible for you, can actually using. The event based systems we have inside of azure and the integration of logic apps tie, all these things together so. I. Think as I've mentioned it first of all so one of the critical things to kind of enable, event based automation, was. To really bring the languages, that most of you use into, the service environment, and so. That's what we've been working out over the last year was to bring PowerShell. As a first-class citizen, into. Azure functions, and then, this opens up all the event based automation, that you might be trying to accomplish using, other tools today but, now you can natively support, it inside, of a service platform like Azure functions, and. We. Just announced, general availability so, we have the balloons for. That on Monday, so. If you have has anyone tried PowerShell, and as your functions yet. Awesome. I see a few hands hopefully. After this session you'll be familiar enough you'll go back and try to understand, that the patterns, you can use and how easy it is to get started with it, but. A few things we did when we start, to bring PowerShell, into.
Azure Function was just all the learnings that we've had over the years building, solutions inside of Microsoft our show how could we bring all of that learning into the functions ecosystem, and into the function service so. First of all we want to leverage the latest technology, the PowerShell has so, we worked very closely with the PowerShell team and got PowerShell core to, work seamlessly inside, of as your functions. Things. You may be familiar with like profiles, in PowerShell are also supported, so, if you have common tasks you wanted to you can put those into a profile, file and they'll get launched automatically, as you start. Up your function, app and you want to run your partial scripts. We. Have the ability to bring your own modules very seamlessly, so, you can just put them into modules folder package, up all of your automation upload. It and then all those modules are seamlessly. Available. When you run time and they're included into your PowerShell module path. There's. A whole set of other capabilities we built as well that, makes it a lot easier to bring all that PowerShell, knowledge you have on premises and natively. Support it inside of azure but, we've done a few other things as well so oftentimes it's very difficult to manage your credentials, how do i integrate my other systems a lot, of those challenges you have on-premises we've tried to remove by doing native integration into. The other services, inside, of azure one. Of the ones, were really. Happy when I started to build out the service was application. Insights is a really, powerful, service. Inside of azure but. Typically it was only for developers, it was designed around developers, and writing all your application, stuff in there and yes you could try to use it but it wasn't generally available for operations teams but. We did rip our shows we mapped all of that logging all of the great visualizations, application, insights has into. PowerShell as well so as you do write warnings, and write information write. Output all of that gets captured automatically, into, application, insights so you have all that rich debugging, rich. Visualizations. That you get out of. Application. Insights and the, last thing I mentioned, here one. Of the reasons functions become so powerful you think about event based automation, is, that, you want them when something happens you want to respond, to that event and there's. A really nice programming, model that functions has which. Is allows you to set up triggers, on to these external events, so like maybe someone just create a virtual machine in your environment you want to get notified of that or an, alert happen you want to get notified of that you, don't actually have to write code in order to integrate to those systems there's bill integration called, triggers inside of Azure functions allows you to configuration, to, get notified and also get the content from those services, and.
Then If you need to send that information to somewhere else you can support what we call bindings, and so again through configuration, you, can send that data on to another system because, maybe it needs to get processed in some other way so, all these are natively supported, inside a PowerShell in Azure functions. But. What are the other challenges, that we've kind, of learnt over the last few years is it gets very difficult to manage your modules, um when. You're running the service and typically it's because you've got versioning. Compatibility. Or you're, behind on versions, you're trying to use commandlets that aren't available and, there's, not really a package manager available for you so. What we've introduced, with PowerShell allows your functions is the ability for you to describe. What modules you, want in requirements, that PSD one file and we, will go, and get those for you in the service and make them available at runtime for, your partial scripts and so that becomes very powerful not, only because you can specify the azure ones which we include by default but, anything, that's available in powershell gallery you, can include into this requirements, that PSD one and we will go get it for you but. It wasn't only that problem you're trying to solve, there, was the problem of as maybe, you're familiar with the azure commands, but every two weeks there's, new versions coming out they may have critical and security fixes in them so, how do we take care of kind of making sure you always have the latest modules. And so you're not vulnerable for some issues that might happen inside the service so. We support basically, what we called semantic, versioning where you can put in one dot star. So. If you want to you can put in like to that star and then what that will do is and guarantee every time a new version is available on the PowerShell gallery, for those modules we will go and get them and make them available for you if. You want to fix to a version like sequel server you can put into that 4.6 dot h and you're guaranteed that's there but, depending on your requirements, and depending on the vendor module you're using it's, nice to know you can always be secure using. The manage dependencies feature. Okay. So with that I'm gonna hand it over to Dave and he's going to go through, kind. Of a quick demo just to get you familiar with the service how you can use inside a virtual functions, and show, how can work not just in the cloud but, also in your local environment, as, well. Yeah all right thank you so my. Challenge I have, an azure subscription, and I. Happen, to share it with my teammates and, once. A month I am being kind of asked by my manager you, know hey how come you made it to a five digit, monthly. Statement, you, guys just do demos right and, yes. Because we, don't really kind of click keep you, know a clean house and we, just spawn. New resource, groups and new resources and always forget to come back and clean them up so. My. Goal. And and this is kind of the one-on-one, kind of write your first PowerShell. Function. Was. To, write, a function, which tags, my. Resource. Groups with. Two tags one is the project name and the, other is an expiration date so. If you have not done anything I, will tag the resource group as a project, unknown, and such, set, an expiration date for, 30 days in the future and then. I will iterate, those. Resource, groups and if. You care about this resource you will just change. The, project name otherwise.
When, The time arrives this expression, date I will go and delete the resource group right. Sounds easy which. Is really easy script. To write. So. My starting point is. This. Script. Which. Is. Nothing, more than than you know one, file. And. This script. Query. For my resource groups, iterate. All of my resource groups ask. For the tags if there, is a project, tag. I will print it otherwise I will set a project unknown, and an expiration date to a time which is 30 days in the future and then, if, the expiration date has expired. I will, actually go and remove. The resource group now for the sake of this demo, I. Just, print out time, to delete okay so, just to show you this works actually I'm just gonna copy. Paste. This to a PowerShell. Looks. Ugly right. It's. Not running. You. Have an extra bracket. It. Was actually working. All. Right I just. Ran it from Visual Studio and the. Output, here, is you, can see it iterates, all, of my resource. Groups and, there. Was a new resource group so. Automatically. I set, a project to be unknown and. December. 8 is I guess, 30 days in the future okay so, and, by the way I can switch back to the azure portal and show you that those tags. Actually exist. In, my subscription. Quickly. Going to resource groups you, will see all of those tags and folks. Who actually care about the resources do, tag the resources, okay. And. By the way I'm doing this, is from a different subscription, so doesn't kind of. So. The, first step. Was. To create an empty function as, you function up I. Just. Created its it doesn't it is empty trust me and, the only thing I did, was to enable managed, service identity with. Managed service identity I can, authorize. My, function, just my function, to do specific. To. Have a specific, role, so. I go to platform. Features, I. Go. To identity. And. You can see that I have enabled, my, function. To use managed service identity, next. Step is actually to authorize. This managed service identity so. I will, go to my subscription. Under. Access, control. And. I. Will add a new role assignment. Let's. Peek. Because. This one will actually go and delete resources, so I want to do a contributor, and. Instead. Of user. I will, actually go and pick a function up. And. Then. Here is my function so by, doing so I authorized. Just, this function. With. A contributor. Permission, contribute a role to, my subscription. Next. I, will. Go and build a function up in Visual, Studio.
How. Many of you use vs code for your partial, arena. That's. Good kind of the recommended, way as you know for the last couple years was to try to move into a vs code I think once you get familiar with it do you see a lot of the power that vs, code has and I think what zip is gonna show is our as your functions, integration, into, vs code so, you can do all of your local development test everything out there before you actually publish it into the service. Ok. I'm. Creating, a new project and, let's. Call it. Subscription. Cleanup. Just. Hit Enter. Our, select folder. Select. The runtime will be PowerShell. The. Template. Will. Be let's. Make it a. Timer. Okay this function should run once a day, and. I. Will call it now subscription. The. Default, will, be every 5 minutes that's my timer. Vs. Code create my new project. And. You will. See the same. Function. Dot Jason how's, Jason, and requirements, dot PSD one that, Eamonn, mentioned earlier, my. Runtime will be this funk this file. And. I. Will just. Paste. My. Code my, script here I. Didn't. Do anything I don't really need to do even the connect exists so I just. Commented. Out and. From. Here on I'm, basically, done so. Before I go and debug it locally, I. Would. Like to, bring my as a function, application setting. From the cloud to be used locally one. Of the reasons this will one, of the benefits, is to. To. Bring all the settings like, the storage settings or any other settings. That I managed to set already on the function. App itself. Just. Copy this one. Let's. Do. Now. I didn't, copy this one. This. Looks better. Alright. We'll skip this for now, can. I steal the bug alright, let's, give it a try I. Hit. A five oh. Yeah. I don't trigger, oh so. I do need of the setting. Thank. You. That's, weird. What. Oh. Yeah. We zoom in. Okay. Thank you I, didn't. Expect this, probably. Noticed I switched over to a partial. Core, because. The default there was you're still using, 5.1. Built into Windows but obviously. We support partial, core inside. The console as well. Back. To the application.
Live. Demo zero, all. Right good, so. It picked several settings including. The subscription, the storage, account that I need and, now I. Try. And go and debug it from within this code. Is. This familiar, so that one thing to call out here is that what that's running is the, functions runtime is actually, open source and, you can run it in your own environment, so the exact same thing that's really locally, here runs, the same way in the cloud so. You have the ability to actually do all of your development debugging, knowing that after you've done it here you can push it to cloud and it'll run the exact same way and the, nice thing because it's open source you can also push it into a container all your automation and run, it inside your local maybe Cooper Daddy's platform, and take advantage of all the functions programming, model and all of its capabilities or, you can push it into Azure, kubernetes, servers, or directly into Azure functions, as a container so lots of flexibility, and how you do your automation, Ziff, is kind of showing you a local development but because it's open source it can run anywhere, yep. And, the last thing before, deploying, this to the cloud will. Be to try and invoke. It locally. Again it is a time a function so I'm just asking the, authorities. Already, made, it I just. Continue. And. If I just switch back to the function. Runtime. You. See the same information the, same output so, my function just ran from, within visuals, vs, code as a function, now. I'll, stop, this one and the, last step of course is, just deploy it to Azure. So. I just stopped it and the last step will. Be. From. Within Visual Studio vs. Code sorry I. Just. Call as a function, deploy, to a function up I. Pick. My subscription, and, I go and pick my. Function, up. And. Yes. I want to deploy, and. Within. Just few seconds. I'll have this function deployed and. Actually. Can, look at the output window. So. What we've done we've. Taken a simple PowerShell script created. A function app, granted. Authenticated. This function up with. Managed. Service identity then. Came back to vs code created, a function project, pasted. The script tested. It locally and now deployed. To, the cloud are we done, it's. Still not done we can continue, and yeah we can come back to it and from. There on every 5 minutes I'll have this running from Azure. Also. So. All the steps that they've, just did as well he has in the deck which makes it really nice so when you download the deck afterwards, you can actually follow along there's, a really good tutorial up in the azure functions, doctors as well I'm getting started with PowerShell I. Kind. Of want to go through some. Of the design patterns, that we talked about at the beginning and I'm going to touch on each one of them as we go forward so I kind of pulled out two parts of this one was the deploy and operate and, then how do you do your event based automation, as these, actions are happening so. You can see there's a whole set of scenarios, that you can, um do across. Your applications, and your environment so like maybe we'd a virtual machine it's deleted you want to maybe remove it from the monitoring system to turn off all the noise you might get when, resource groups are created maybe, look up the cost center automatically. And add the cost center onto those resource groups ad. Groups maybe you're deploying sequel servers into Azure and you want to go and give permissions, to groups all that can be done after. The deployment notification. Happens into a, shore functions and the, one thing to call out is there's some nice integration, between event, grades logic. Gaps DevOps. As well as as your monitor that you can just take advantage of as you build out your automation going forward. So. I want to touch on each one of those patterns there's kind of five patterns, we want to touch on and I feel if you learn.
These Five patterns, you'll. Probably be able to do all the event based automation, that you need inside your organization. So. It's only five things you really have to learn and then, everything. Else is basically built on top of those and, so. The first pattern to call out is scheduled tasks so, this is probably one of the more common things a lot of us do is you, know we know something has to happen at night or once a day so how do i schedule my tasks, and be able to do that so. There's, a very nice scheduler, built into Azure functions, unfortunately, you have to learn a new, syntax which, is a crontab, expression, but, the value of that is it goes all the way down to a per second execution, as well so, you're not just at an hour or a minute you could even get to a per second if you needed to, and. It, has native support for daylight savings times as well so, you can specify what, daylight. Saving time region you're in by just using this website time. Zone app setting. But. What are some of the common scenarios you do with scheduled. Tasks there's probably 50 of them you guys are doing I just called out two or three here that seem, to be very common when we talk with a lot of customers which is resource. Allocation, so stop all those expensive, virtual machines at night because they're costing us a fortune we've. Actually seen some customers, perform this against their dev and test, subscriptions. And you can save like 50 percent of your cost straight away by literally writing maybe ten or fifteen Ines of automation that's, kind of the power when you think about what is this automation how do you embed it into your overall. Application. And your infrastructure. Sequel, maintenance fast another very common one as well. As removing resources, aren't even needed anymore. But. With that let me go into a demo so remember, scheduled tasks is the first one you want to be familiar with. Okay. So I'm gonna jump in here and switch over and show. You. What this looks like inside the portal. Okay. So I'm going to zoom in here to one. App that we've deployed, so. This is my cost function. App. In PowerShell. And. There's. A couple of things I want. To call out inside. Of here there's kind of three functions I have. The. First one is. Tagging. Resources, so. Anytime, the. Virtual machine gets created natcher i can automatically, add a tag that says i want to shut this down and that's what i'm doing with that tag resource not talk a little bit about how this integration is done later, on the, other two is how. Do I start. My VM on a timer and then stop my VMs on a timer so. Very simple, code that's, published, into the service library so we have a basically, community gallery where you can get all this code and the link is in there. And. All it does is it literally scans, my, environment, all my virtual machines looking. For ones that have this tag, associated with it and if it falls in the right time then, it will go and stop those machines so. Again just a few lines of code here you, can see I'm pulling out all the virtual machines is the first thing I do and. I just enumerate, them with a simple standard for loops make. Sure they're running and then I'll stop it if. The time is actually specified, in the tag so. That's available up, on the, service, library but there's a few lines of code the. Other thing to call out here is you probably noticed, how, fast it ran so. Again a lot of the, reasons. To event based automation is you needed to happen quickly as your resources are changing, or you want to perform a task so, nice and wise your functions it's very very quick so, it'll run your automation when you need it to exactly. During those times. So. A very simple schedule. Task but there's a whole lot that we can go into ever I wanna just kind of show you how, easy it is to run it and get started and the. Reason is kind of grayed out here you may not be in see the code that well is we, have the ability to kind of package up your app from, your local environment and make it available in the portal and so, if you're going to a DevOps lifecycle, that's the recommended. Path to, actually get all of your automation. Scripts up into, Azure DevOps and then published into, Azure.
Functions, But you can also create them manually in the portal and be able to do all the same work if you need it to. Okay. So let me switch back. Okay. So first, one was, scheduled. Tasks, very. Very powerful, I just touched on a little bit there, you'll be able to do as many scheduled, tasks that you need inside your environment, the. Second date of integration, you need to think about is how, do I build my automation, that we are ax2 events going on inside my environment and. So. One of the recommended services, we have in Azure that you may not be familiar with but it's a really powerful service, allows you to capture, all, the events are happening across your actual resources and then, call another, service like as your functions and that service is called as your event grid any. Of you familiar with this I'll. Show a little bit in the demo but the nice thing about it it automatically, caches, resources, that, are being changed and updated and so, you can just subscribe to that you don't have to worry about how they're capturing the service does that and then you can call your as your function to process it, so. Common things you can do with that is you, know, you saw our lives demo there where he like added, the he wrote a script basically that says well if the tag isn't there then I'm gonna go at it but. He had to write that code and I would have to maintain it knew, who the house is going to change in the future but. You wouldn't have to do that if you got notified, when those resources were there that's. One way where you can just get notified, that a new resource group and you virtual machine a sequel, server or website has, actually gotten created or changed and you want to subscribe to us, but. There's lots of other things you might want to do inside your environment, like grant access when. Somebody creates, a resource group you. Might want to send a team's event if something gets deleted or, you, may even want to forward the. VM maintenance notifications, so, as you could wear when there's a maintenance going on across a sure. So. Again kind of integrate, into event grid because that'll give you, Asians about changes are happening. Let's. Do a quick demo of this. Okay. So I have a resource group here. And. What. I'm going to do is I'm. Going to add a tag to my resource group. And. Basically. The scenario here is this is what we actually have worked it's just a customer, maybe like three or four weeks ago they.
Had, This, standard. In the organization, where they created resource groups for their different dev, teams and then, they could do anything they want inside of those resource groups but they were limited to what they could do they weren't administrators, on the subscription they, could just work inside of those resource groups but. One of the challenges with that is they were constantly getting an email about adding other people for access because. They're not the owners the people they're just contributors. Or users of it and so. The nice thing that we worked through was we could actually set it up so when. The. Person creating that resource group if they add a tag called. Security, group and the name of the security group that they want access to then, we can actually get. That event and go, add that security, group out of ad automatically. Onto that resource, group that got created so. It was actually a very simple process but we just had to work through how to do it so, you just hit save so. This could've been a deployment any, other way it doesn't matter so. The nice thing about this is I'm. Gonna show you how event, grid works now. So. Here's, the vankeuren subscriptions, it's, just another service in Azure and it has this nice thing called as your subscriptions. So. What I've done is I've created a notification, through, native integration with Azure functions, that every. Time. Hopefully. You can see this let me zoom in a bit. Every. Time a resource gets created that matches, Microsoft, our resources subscription, slash resource groups right I want. To get notified, so. I didn't have to write any code and have to do anything I just had to configure, that I'm I'm interested, in that event that's happening in Azure and I, need to do something with that event happens. Dalida Mike sequel server so maybe I need to go and send, a notification. Or, a VM got created, or a resource group got create or something got modified. Any event, that's going to cross your as your resources you can subscribe to those and then do that work do that automation that you need to to, actually complete. The scenario. So. That was straightforward and then if I actually go in to that. So. Here's that little bit of code, I wrote. And. The nice thing about this was I had, some native integration built in so here's I have a Azure ad ad groups or resource groups so. I just built this one in the portal. But. The nice thing it has an event grid subscription coming in a, couple. Other thing I want to call out real quick was, if, you want to get secrets, I recommend a thing is to store them in. Two key Balt so here you can see one line command I have, access to those secrets so, I can actually authenticate against Azure ad and be, able to pull in that security groups object. ID so, again with very seamless. Integration, into other services to perform your end-to-end tests. And. There you can see it actually just ran, so. It took that security, group it's all ready to finish so I just made that change the function caught it and if I were back to that resource group I'll actually see that this. Security. Group now has permissions. Into, that and so whoever is the owner of that research group can now manage it through that security group so, again a very kind of powerful solution with only a few lines of code. Okay. Let me just make sure I can get through the, last couple so as your monitor. So. Again this is a third scenario you, want to think about when you're doing your automation but event-based is, when. Something happens to your resources, they often will send an alert so. Your CPU is high you. Know your disks, IO, is, getting hit you. Know something's going on with your sequel server there's, native integration across, almost all as your services to integrate with as your monitor so, that they will actually send notifications, as your monitor and the good thing is there's a mechanism to subscribe, to those events using.
Action. Groups that is part of as your monitor and then action groups can call a function to go process them very, similar instead, of tracking resources. That, are changing using event grid everything. That's going on with your application, or your infrastructure, can also be captured through a wrapper term as, your monitor and then call us to process that so, lots of scenarios customers, are doing this the, good thing is it's not just at, the resource level you can you can capture stuff that's going on inside a virtual machine. Okay. So let me go back. So. Here's. One. So. There's a snare I have, here where if. A service gets stopped, I can automatically, go and respond. To that and, so, I'm going to basically integrate. Where, say. I had a service, like, my. Print server side which is what I set up for any service you might have run inside a virtual machine or even outside you, can get notifications of that and so. I have the ability to stop a service, and then, what I'm going to do is integrate it all the way through with Azure monitor, into, as your logic apps and be able to show the end-to-end flow so. Let me just touch on as your monitor real quick as the next one then brings in the, combined and in scenarios, and logic gaps. So. If you're interested in how to set this up it's really simple as well you go to as your monitor. You. Click on alerts. Click. On the manage alert rules, and. Then. I'll just type in ignite to filter mice. So. I have one here that. Processes. Failed. This, one's tracking any errors, that are, greater than zero well. Let me see if I can find my other one. There. It is so. This one the spooler service so. Is anyone using log analytics here. So. As, your log analytics basically as your monitor you can send all information, about inside, the virtual machine as well as cross all azure services, into. The service and then, you can create rules inside of here that actually when. Some of these events happen I want to go process them and so, you can just select your action group and it will go and I can see here restart service with, a logic app and I could also call an azure function, so, very seamless, inside of azure monitor I've set up these alerts again.
Okay. So let me go back here. When. You have like four five minutes if so I'll let you go. Talk. With it the HTTP, one real quick and then I they know the last one all right so I skip, the demo maybe. Basically, we. Go and iterate all of the dedicated hosts and find the best host for the VM and we, offer this to, the customer as a function and the way to do it is I'll, skip the demo but we package this as a function, so that the customer can deploy, it in their subscription, and basically. All they say I want, 10 VMs from, this size. In this, region, I need, them isolated, and bam, we do the rest so the trick. Here is and. We wrote this by the way dotnet, C sharp so, capture. The entire orchestration, as a single function. Surfaced. As HTTP. Trigger. Cool. So that was the fourth one I know we didn't mention it there but how, do you trigger automation, on demand and, so as your functions has ability to expose, your, Azure function as HTTP. Trigger basically, a web hook so. Then you can call it from an external system or through your own command lines and it, has native integrations, into, API. Management and Azure so if you actually want to make it a full, API that then you could call on-demand or you could expose to other people inside your organization very. Seamless, to do that inside of azure functions. So. The fifth one is. How. Do you integrate, other systems so this is where you know you may have ServiceNow in your organization, or maybe you're just using teams or github but, you want those systems, are being used to actually track what's going on with your intent automation, or they're been used for approvals, and so. Logic apps has over 300, connectors allows you to get very seamless, into these systems so you don't have to write all the code and then. You can fulfill those requests, using. Azure functions, so you can use it as the orchestration, and integration, system and logic apps and then if you have work you need to do through PowerShell, or any other system it can call into as your, functions. I'll. Go to skip over the demo because we only have couple of minutes left but. All of these demos I'm trying to make available up to the servants library we have about three of them up there already I kind, of wrote these for ignite, I'm hoping to get the other couple, up in the next week or so so you can go to the service library and download, them yourself and, that's available from the portal of Ukraine as your function, okay. So the. Last slide. Well two slides left is. One. Of the kind of takeaways inside of here first, of all when. You think about doing automation, you really do need to use a toolbox of services, because. When you start to take advantage of everything we've built inside of azure you have less code to maintain plus. You gain all the benefits, that's been put into those services, like as your resource manager, as your policy for saving policy blueprints. Functions. All of it is native inside, the service and I think functions, are really opens up this event based automation, that was very difficult to do in the past because, of this native integration to, services. Are already in Azure. Okay. So what are the learnings I think. The main thing to take a beary about this is win, event based automation, you can kind of close the gap between, all the other aged animation, you might be doing across, your environments. And again, if you want to reach, back into your on-premises, there's native integration to actually go through, hybrid connections, or through v-net integration, and manage, your on-premises, resources, as well and we see some customers doing that because maybe they have local Azure, ad they, still need to go in there and look up some users so they could add them into Azure resources, so there's lots of scenarios where it goes across your hybrid environments, and the. Five things to take away are these I would say five patterns you're. Probably doing these already if you're doing automation, but if you think about it most of probably falls in one of these categories and we have a lot of native integration built, into, the azure services and particularly as your functions that, allows you to integrate all these things together so with, that I think we're up to 45 minutes yep, so we'll. Say thank you it's the last session of ignite and I really appreciate all of you guys coming.