Build the right solution for your business by continuous DevOps monitoring and - BRK3346
All right while we're getting, the slide deck up here I'm, Steve McCroskey I'm a cloud, apps advocate, at Microsoft. Focused. On DevOps. Scenarios, psyche reliability engineering cloud, native all sorts, of fun stuff and. My. Partner. In crime here hey, folks I'm Rahul Bogoria, I am a product manager in Azure monitor, which is our end-to-end. Monitoring, solution, for applications, and infrastructure. Okay. Thank you very much okay all, right. So. We're, gonna start out just a little quick level set and, cover. A little bit of what, is DevOps why. We're. Here talking about continuous. Monitoring, and that kind of thing so. Just. To get us all on the same page. DevOps. Is a union. Of people, processing, products to enable continuous, delivery of, value to your end-users, in other. Words it's plain, ice and work, fast. That. That's. A little that's a little glib but it's, kind of true right it's be nice to each other work well together, and in. It if we do that we're. Gonna have good results, what kind of results. We're. Gonna see things like faster. Deployments. Way. Quicker time to realizing, and, going, from when, somebody comes up with an idea to, being. Able to be published, out in front of folks and being, used. We. See that our changes are much more successful. Right. We have a lower change failure, rate so as we're, making smaller, changes, more frequently because. They're smaller we. Have a better idea of what's going on so there's less chances things are gonna go wrong and when, they do. Because. We can make changes, that much faster we. Can get the change to fix the problem. Which. Leads to a faster mean time to recovery. What. Are these things translate, to. Faster. Time-to-market and. Increased revenue right. And for. Most most, businesses, most companies that tends to be a good thing. And it also tends to be the thing that helps you, know get. You bonuses, or promoted, or helps, improve your career and capabilities. So. What, technologies. Do we need to support DevOps right, or what capabilities. Well. We first usually see the. Inclusion of continuous, integration right. Who. Here is more, of a developer. Identify. Itself identify developer. All. Right IT. Operations. All. Right DBAs. Marketing. Hey. Every you never know right. DevOps, brings, in all people need. To be welcoming, of our marketing brethren our sales brethren. So. Continuous. Integration if it's not something that you've used before it's, the concept of when we stick something in a source control. We. Have a tool, that pulls it out, does. Some stuff with it to make sure it's in a good state and then. Packages. Up and gets it ready to do something with whether we deploy that into a production environment whether, we deploy it into a test environment but. We get it ready to go somewhere. Yeah. That's super simple there's, whole books on the topic and, I'm not gonna be able to sum it up in like two minutes but, that's a short, version of continuous, integration continuous. Integration. We, can build on and go. For the concepts of continuous, delivery. Continuous. Delivery kind. Of posits a handful of things but, one of them is that whatever, is living in our main or trunk or master, branch, should. Be shippable, at any point in time. Now. That's different than continuous, deployment and, very. Often we'll hear continuous deployment continuous, deployment kind, of depends, on continuous, delivery, continuous. Deployments, things are always rolling out but. Continuous delivery is we are always in a shippable state and. There's a handful of other things around it like you, have scriptable, environments. And you, and that you have a strong test suite and things like that. But. This. The essence of it is whatever. Is in master shiftable and we have a high degree of confidence that, it's the good thing to have. They. Were introducing, another. Aspect, of continuous. Monitoring, right. If, you any one Phoenix, project has. Read Phoenix project sorry.
About Half half the room, in. The Phoenix project gene Kim George Spafford, and and. Kevin, bear introduced, the idea of the three ways, the. First way is. Systems. Thinking, that's. Our seat that's our CI process, that's, how do we go from idea and get, it into a state where we can deploy it somewhere. That. We extend into CD the second, way is, getting. Some feedback is, creating a feedback loop and that's. What we're gonna be talking about today is starting with that continuous monitoring and then. The third way is just. Doing that third that that feedback loop a lot and, continual. Experimentation. And so. Having. Our CI process, integrated, with the continuous, monitoring, capabilities. Sets. Us up to advance, our way, down. Those three ways. Was. Continuous, monitoring look like. Well. We're. Gonna be focusing on Azure monitor, Azure. Monitor is the collection, of monitoring. Capabilities. And that Rahul will be introducing, us to, relatively. Shortly here. And. We're, gonna tie it into our workflow and for, our purposes today we're gonna focus on visual studio and as. Your DevOps the. Daftar devops platform, when we're gonna look at as your boards, you. Know as. Your test plan as your pipelines, and just kind of get a little sense of each of those things but. That's the collection of services, that help us follow, the. Right pattern in practice, for. Creating, that C ICD, workflow, and integrating. Our continuous, monitoring and. Down. Below we just kind of see how, the. Flow of work might, look. Right we're, gonna plant we're gonna plan out our sprint or we're going to get, our Kanban, board with our backlog and get ready to rock and roll. Then. We start working on our development. Build. It ship. It, run. It right. You, know hey my IP ops folks right we got to run that software so we need to have some we need to have some metrics and to monitoring, around that so we know how its behaving and. Then. Over time we're gonna take advantage both, operations. And development can take advantage. Of the metrics, and monitoring. That we have in place, to. Both operate, it better and. To. Develop better for it to find those parts that are unstable and, add, some stability to, find, the features that are being used and, reinforce. And expand them and, to, find the things that aren't and maybe refactor, them change. Them or remove them. So. With. That I'm just gonna give us a little quick little overview of. The. Azure DevOps platform. The. Azure devops platform, is. Basically. V. STS if you're familiar with it if you're not. We. Have a certain, set of capabilities we. Have as your boards for workflow tracking, we. Have Azure pipelines for your build and release, as. Your repos for your source control. We. Have the test plans for building out a, structured. Structured. Methodology for, how you want to test and validate your environments, and and the faster, you want to go the. More important, your testing, infrastructure, becomes. The. Tests, are what gives you the confidence to move fast, and. Keep. Things stable and. Then. As your artifacts, is an, artifact repository so. The results of our builds can, go into Azure artifacts, now. What. Makes this a little bit different than what we've experienced. With VST s in the past Visual Studio Team Services in the past is, that. Each of these things can be used independently, you. Use what you need. You already have some of these capabilities and other tools. That's. Fine this, stuff all works well together if, you're doing source control, and work item tracking in github great. Use. Azure pipelines, and get. Some bill get build with build agents and Mac Windows and Linux. We. Want to be able to play well with, everybody, now. With. That I'm gonna hand over to my, partner in crime here rahul and a little. Bit about, continuous, monitoring definitely, thanks David so, I start with continuous, monitoring but before that I had a couple of questions how. Many of you use the same monitoring, solution, between your development, and IT teams. Almost. Five. To ten percent of the room and that's, exactly what we are trying to solve today with continuous, monitoring the, core idea behind this concept, is, between. Your development and IT teams throughout, your DevOps process, you're, using the same platform for, monitoring, you are using the same metrics, and logs you are using the same telemetry, so, if you have an issue that, your IT team surfaces. Your, development team can go into the same monitoring, solution, diagnose. The problem and fix, it give it back to the IT team redeploy, it and make. Your customers happy so. How many of you have used as your monitor in the past. Great. Application. Insights log analytics. Awesome. Almost, 3/4, of the room great, so let me introduce you, to as your monitor which. Is our new. Unified, full stack monitoring, solution, that we launched it or rebranded. At ignite if you, have used application, insights or login analytics in the past all, of, them are now, combined.
And Unified, with as your monitor as your, monitor is now one single, unified solution for monitoring your applications. And infrastructure. Layer be it your VMs containers. Databases. Network, any, component. That you are monitoring either on Azure on-premises. Or any, third. Party cloud provider basically, in your hybrid environment, you are using one. Single monitoring, solution, as your monitor. With a standard, consistent, set of metrics, and logs so any data you are collecting from any number of your applications, or infrastructure, all reside. In the same place, then. We provide, data-driven, insights, on top of all of this data that we are collecting so. Capabilities. Like application insights, or container. Monitoring, or VM monitoring, they, are capabilities, of azure monitor, so. From one single place you, can jump on to your application, layer or your VM layer or container layer whatever, you want to drill down into. Thirdly. We have workflow, integrations, which is the heart of how continuous, monitoring actually. Enables, your DevOps workflow, to be continuous. Right. So you have dev, tools like Visual Studio you have DevOps tools like as your dev ops you have maybe, ITSM, tools or CM tools that you are using to manage. Your issues and events, or incidents, as. Your monitor connects with all of these tools and workflows so you. Are open and you are flexible, on whatever tools you want to use and use the same monitoring, solution, throughout, your processes. Now. How, does a show monitor work basically. As I said you are able to collect data from your applications, operating, systems on Azure. On-premises. Hybrid, anywhere, and you, can send any custom. Metrics custom, logs any kind of custom data that you're collecting, previously. You were only able to do that from within application, insights if you, would have used it before you, remember there is a track metric, API, with, which you can send custom metrics now. That same capability is available throughout as your monitor so for any resource, you can send custom metrics and custom, logs and collect, it into our centralized. Repository, which. Could either be in a metrics, format or a logs format. Once. Your data is available on. The right-hand side there are a bunch of things you can do with that there. Are insights, like application insights. Or solutions, for virtual machines containers. Or any, other technology. Are using maybe sequel or storage and so on then. There are visualization. Aspects, so you can pin your charts or tables to your dashboards, you can export your data to power bi maybe. You can create some workbooks which our troubleshooting. Guides, or. A dynamic reports, that you can share between your development and operations teams. There. Are analytics. Tools which are one, of the most powerful capabilities. Of our monitor, so, with metrics Explorer you, can create your own custom. Multi-dimensional. Charts filter, and segment across all of your resources and log. In Aleks those of you who have used it in the past it's, a state of the art big, data analytics engine, and some. Of you might have heard it in Scotts keynote about as your data Explorer right. So, login oolitic is based, on as, your data exploded, in the backend so, you will see lightning, fast queries, on top of billions. Of data points terabytes, of data and that's. Basically, what parts all of our insights, and analytics capabilities. I. Notice, has come up in a couple of other sessions, but, a. Lot. Of the teams within, as your folks who are running services on Azure have made reference to using, cousteau.
Queries, And, and, a certain back-end that they'd search against, it, what's what's different, from what they're using to what is of publicly available so. Gusto, is an internal, code name for Azure data Explorer that we had been using internally. In Microsoft, for, quite some time and that, is the same technology, that we are surfacing, as log analytics, for application. Monitoring or infrastructure, monitoring so, whatever queries, you are writing in log analytics those are the same powerful cousteau, queries or Azure data Explorer queries, that you'll be using for those purposes like what the azure devops team uses to run the, azure devops service you, have those same capabilities. To build that same type of insights, and can. Many. Of these big. Products, within Microsoft, Azure DevOps, or even. The whole azure as well office. 365 Xbox. Everybody. Uses the same cousteau, queries or the log analytics, queries to, run all of the business processes and business reviews, so, if any of you have read any of the VST. Esteemed blogs or I should have ops team blogs they usually refer to some, of the cousteau queries they ran to diagnose a particular, issue and fix the problem that's, the same experience, you are going to get when you're using log analytics, and application, insights. For great, thanks, for the questions even now. You, have analytics, tool and then you have remediation. Tools now it's great to figure out what's going on but what can you do about it the, first thing is you set up alerts now, it could be a, basic, threshold based, alert you know your CPU should not be more than 80% you can set up an alert on top of that you, could maybe. Set up some dynamic baselining so there is seasonality, in your data you, can use our machine learning capability, to automatically, detect those seasonality, and. Adjust. The thresholds, accordingly, then. There are remediation, options so there are automation, scripts or auto scaling that, you can enable on top of your alerts to, take actions, whenever something goes wrong and.
At. The end there are integrations, available, so if you have all. Of your data collected, in Azure monitor you want to export, that to your cm tool like, sumo logic or Splunk or whatever you are using you. Can route it through event, hubs there are REST API is available with which you can query your data and, you, can of course connect, it with as your functions or logic apps or ITSM. Tools like ServiceNow, sure well Provence anything, that you are using, great. Now. Let's look at some of these concepts, that we recently launched. This week so, unified, monitoring, one, of the big things you'll notice about the new unified. Azure monitor which now includes, app insights, and log in analytics is the. One metrics one logs one, alerts platform, throughout, the, azure portal so, you no longer have to go to separate. Places to do app insights, alerts or as your monitor alerts or create. Charts differently, one, single place you go and you, access, all of your data together. We. Are natively, integrated, into some. Of the biggest Azure services so if you go to your app service, directly, if you go to your VM blade if you go to your humanity service. Monitoring. Or as your monitor is natively. Integrated, into, each of those resources you, don't have to go somewhere, specifically. To as your monitor blade or something different, you, can go to the resource that you are troubleshooting. Or diagnosing, and see, all your data contextually. Right there. This. Is another new capability, we launched, on Monday full-stack, visibility, for your resource groups now, this is a feature many of you have asked us in the past we. Are giving you insights for your individual, applications, or individual, beams and containers, but, what, about that mythical single, piece single, pane of glass now. Many of you use resource, groups to kind, of bucket eyes all of your resources relevant, resources, into, manageable. Chunks so you could have applications, or VMs or containers, that attribute, to a particular, solution in one, particular resource group so, with this capability you. Can get a resource group level view or insights, and figure, out what's, the health status how many alerts are firing what, are the different components into your entire solution stack and from, there drill. Down deeper into that application map, for. The resource group level or the virtual machine map or just, the failures, or performance, experience that, you have used in application, insights in the past. Then. We come to application. Insights now, that's our primary, APM. Offering, or application, performance monitoring offering, from, a sure that you can use for, any app, any, developer, any platform, so, you are a.net developer Java. Developer, no developer, we. Have all the open source SDKs, available, on github which, you can go, there use, it for your own purposes maybe, even, contribute, to the community, great. So. Dotnet. Many of you might have used in the past that's our hero solution, but lately we. Have invested, heavily in our java capability, as well so, this week spring, one conference is going on as well and we. Have launched, our support. For the spring boot starter, so, those of you who are Java developers, might be using the spring framework so, you can now use our spring boot starter pack there are micro metered metrics, there is local forwarder capability, so you can get your adaptive, sampling live metrics, everything that you used to get from dotnet a, Java, solution. Is now almost, at par with, a dotnet capabilities. Now. Application. Map I touched upon that that's your end-to-end, topology, view so, if. Some. Of you have started, to modernize your applications, you, have microservices, deployed on containers, multiple.
Provisioning, Experiences, how, do you enable all of these monitoring, solutions, for, your systems, and then, I'll touch base on. Looking. At a fully monitored application, and figuring, out subproblems, and diagnosing, some of these issues, sounds. Good, okay. Duplication. Is not. Happening. Oh. Yeah. I picked, you it, helps when you press the right part C, this, is one of those manual, things that, I keep talking about we want to eliminate from, the process. Right. And. Yeah. Okay. There we go okay. So. So. I'm in Visual Studio and I. Have just a really basic sample, app like, something you get out of yo. Team which is a little, generator which will generate a project, for you, and C. Icd pipeline or DevOps. Projects. Just. A really or pretty, much you know what you get from a basic. New web template, right, so. It's got a it's got an asp.net. MVC, application. With. A couple of a, couple, of control a couple, of routes, in the controller and. Yeah. This is not going well all, right. I. Just. To give, you a little heads-up that the. Fine gentlemen, from the AV, company mentioned, that. This. HDMI connector has not been going well. Let's. Let's. See if we can. Yeah. All, right let's see if let's see if we let's see if we can get through the visual studio part, of this here if I need to jump over the portal, I can, probably jump over onto Rahul's, machine here. So. We're gonna start out with. This. Application, has, no no. Configuration into application, insights or anything yet and. Especially. How, we can start onboarding, our applications, that, we may have well. I can't show you if there's nothing, on the screen. I. Don't. Have I, don't, have that port, I only. Have HDMI. All. Right we're back. So. Thank. You for bearing with us with, the little, display challenge. All. Right so the first thing we're going to go do is just write off the project. We. Have. And. Application. Add application. In the project menu that's where I need, to go add application. Inside telemetry oh. When. You touch the trackpad it, moves oh. And. It unloaded my project, I am. Doing tremendous. This morning. Y'all. Ever have a morning like that. Yeah. That's alright, here we go, application. Insights add, application. Insights telemetry. So. Now get. Started ok. So. It's gonna point me to I'm. Signed into Visual Studio so, it knows, about my it, knows about my account and it, can point to the subscriptions. That I have, and. It's. Gonna ask me if I, want to create a new resource a. New. Resource for for. App insights for this so, I'll just kind of go with that and.
Register. And. It's gonna go out and talk to Asher and set up all the application, insights it's gonna add the references, I need to the project, it. Does, not change. My. Application, code at all. Right. This is just it's adding some additional it's, adding some additional stuff, to, to. My references. So there are more more bits that are gonna get deployed with it it's adding some configuration. So. Then. Comes back in reports to me and it says hey guess what I added your SDK, I. Registered. You with a pin sites we're. Gonna start collecting. Exceptions. And. This. Publish. Annotation. Configured. That's. A pretty handy little feature because when you publish new versions of your application there. Will be a, notation. In app insight so you can see, hey. Is this thing happening after I published a new version right. You don't have to kind of remember time windows you can use that as a filtering metric. So. Now that I have a pin sites configured, for my my, web app here I. Can, fire. It up f5 debugging, as Rahul. Mentioned and now, it's telling me there's build errors no I don't want to I want to know my build error is. So. Build. Solution please. No. Build errors there are. You lying to me. Yeah. There. Are build errors you want to run last successful build no I don't I want, to run missed a successful, build. We'll. Give it one more try we'll try building it a little harder we'll do a clean and build. If. It doesn't build and. Run. You. Gotta clean. All. Right clean failed clean faded. I. Don't. Know. Maybe. Let's, uh I think. I'm gonna do what was suggested by the audience and restart Visual Studio. Will. Do it's. Awesome having developers, and apps folks in the audience because, you. Have just, this wealth of solutions, right at my fingertips. And. We. Are going to our solution. And. Preparing. There's. A reason I use Visual Studio code, a lot cuz it starts up super fast but, the capabilities. Inside Visual Studio are definitely worth waiting for sometimes. All. Right here, we go again. Yay. All, right and. We didn't change anything so I not. Really sure what was going on there but. We. Now have our website spinning, up. And. The content of the website really, doesn't matter super, much it's just a little standard, asp.net template. But. Let's. Navigate. Around just a little bit so. We can see that hey. We're. Getting we're, gonna connect to some some. End points and let's, throw. An error - I threw, in a nice little route to generate. Errors. All. Right a exception. Cool let's continue on. But. You may see now, in. My code view there's, a capability in Visual Studio called. Code lens and, let's see source, control commit you know who did it when, references. To, that particular.
Function Or variable across across, your projects. But. It it also shows us. Information. From. From. App insights. So. I can see that I had an exception, here and, I. Can take a look and. Inside. Visual, Studio we have insights, panel. Explorer panel where. We can go in. Dig. Into the exception. We. Can track, the duration now in this case I'm my, my. Little throw is like right out front and so it's easy to find but. Sometimes that bear down a couple layers maybe it's in your business logic maybe, it's in. Base. Access layer right and so. Inside. Of this track operation, we can find out where the source of that error was and. Go jump over to it. Now. This, capability is all nice and available, from my local debugging. Experience I also. Can get at production, data. Now. Let's, open up our solution. Now. I've got another app, that's. Running out in. Azure. And. I've. Thrown some traffic at it this morning and. We. Should be able to see. Some. Of the live metrics, from app insights, in visual, studio. So. If I jump over here. To. My controller, and. I. Wait for a little moment for the for, it to. Kind. Of start catching up. Start. Seeing the code lens information starting, to come in. And. I'll. Scroll, over here we. Can start seeing I. 236. Times. That somebody reached out and touched the contact, method in a particular, environment, I had. 350, times the, about method was called right, no exceptions, and those in those particular areas. Now. This. Is this, can be really, handy information if, I've deployed to a dev environment and, I'm trying to rapidly iterate and I want to see where the exceptions, are coming up that I wasn't seeing in my local environment because, now I know, something, is different from, how is testing locally, to. Where I'm testing in my, dev, environment. Or. Shared. QA environment right, we can repoint, this depending, on where where. We want it to happen, here. Where I have exceptions, I can, get. All of that rich information and, dive. Into. The. Exceptions, that have had, have occurred in the live, environment. So. It's. A pretty easy way just. Kind of walking through. Setting. That all up inside, of you. Know, just adding the SDK, pointing. It to my hazard subscription. And letting, it go do some magic. There's. Another way and I. Can I can enable my. App inside. Oh. That's. Screaming, uh rigmarole. I, had. Bounced bounced, me out I can. Go in in my ashore portal let's bump, that font size up a little bit. And. I can go into my app service. And. Find. Application, insights. Find, application, inside so should be a little on board Oh. Gotcha. Yay. For changing, you eyes. Alright. Let, this thing load up again here. So. I can onboard my application, through, the azure. Portal. Which. We'll do here in just a moment it's going to end up with the same basic capabilities. I could, repoint, visual studio to point to point at this particular, instance, of Apple application, insights to pull data from it. But. This, gets tedious. And. You, all heard me talking about let's get rid of that let's get rid of the manual let's get rid of the manual let's get rid of the manual. So. I like, to include my application, insight set up in my infrastructure, as code I keep. An arm template, alongside my application, code and. In. The. Case of, in. The case of this simple web app here. I've. Added in addition to the details about the website I've. Just added an app, insights component, it's, just a little snippet of JSON you, get helpers inside, a visual studio you can grab this out of templates in the azure quickstarts. Or. You. Can go through and go through the DevOps project, which we'll take a quick look at. But. We have the app insights component, we, add that and then we had a reference, to that app insights component. To. Our website, and I. Love. The little JSON Explorer here it it really helps make navigating. Around these armed templates easier. But. We. Can jump over and. Tie. It to our auto-scale settings, we. Can configure, different, alerts. Right. Within our template so. We can set these things and then any environment, that I roll this application, out to it's going to have the same configuration it's, going to have the same alerts it's, gonna have the same pattern. For application. Insights. And it, allows me to then. Kind. Of you, know if in kind of a phoenix style resurrect, environments, if things aren't going right I can blow one away spin, it back up and I don't have to go through the setup each and every time right, I've got it included, into my into.
My Arm template, which lives with the application, which. Then can go down my CI pipeline. So. We. Are a. The. Fun. Issues with Visual Studio and, and. The thing. Took. A little bit more time than I wanted so I'm going, to just. Show you real quick, that. If you want to get started, with. A, pipeline. With. An application, and, with. App. Insights. DevOps. Projects, are a great way from, the portal just to start scaffolding, out all the things you need to get started, right. Yes. So. So. There, there's, some there's some and, maybe we're who wants to jump and this uh, how. You configure, the server I'll take that part and then he can cut talk about resolution how you configure, that is, going to be slightly different because you're not gonna have the arm template so you're probably gonna have some other config management, orchestration. Happening and. Then as far as the resolution is so, once your data is collected, it. Doesn't matter where your application, is hosted even, if it's hosted on on-premises, you are collecting the same level, of data and once. It's in application. Insights its agnostic, of the fact where it came from the only thing you'll lose is what you don't get from on-prem that's the azure health. Information so, as your health is only available for Azure resources, and that's, something that doesn't, make sense for on-premises, that's the only thing you won't get you, can, still get your performance, counters you can still get all your is related. Information you. Still get your framework level stuff right. Stuff, is all independent. Of. Running. An actor all of your perf counters, your on-premises. Server health information your, like. Full virtual. Machine insights whatever you are collecting basically. For your on-premises, resources, you can continue to get that same experience. So. In the azure devops project, which I just referred was it was kind of a great way to kind of step through you can find a lot of good walkthroughs, on it but. I just wanted to call out here. Before we go look at some, Azure DevOps pipelines. In. The DevOps projects, here you, can see it scaffolds, you out with, source, control, it. Scaffolds, you out with, a, release. Pipeline and, and. Monitoring. Right, it's got our application, insights baked right into the platform and. This. Is a dotnet a dotnet core application, that's getting deployed into Azure, kubernetes, service, right. So, it doesn't have to go into app service it doesn't have to go into a VM it can go into containers, it can be Windows Linux. It. All it doesn't matter right Steven, do you know you. Mentioned you get application, insights automatically. If you use devops projects, but, when you deploy it to a cuban IT service, through DevOps project you, get as your monitor for containers, out of the box as well so you can immediately, start monitoring, your container instances, clusters, nodes pods, everything, which I'll show, ya. I'll, let you show that cuz you got a better demo of that one. Alright, so. We've. Now got a. CI. CD pipeline, for, for. Our for our application, right we've got our application, deployed and I'm, gonna switch actually to a different. Project. Where, we've got. So. I'm in a sure DevOps and.
Let's Make the. Screen. A little bigger there. And. I'm gonna go over, to my pipelines. And. My releases. And. Right. Now I have a, release. That. Has a couple of manual a couple, of manual intervention points one. After it goes into our my dev environment I have, to prove it to go on to a QA environment and, then, from, the QA environment I, have. To prove it to go on to, on. To my into my production, environment. So. I. Want. To remove some. Of that manual. Hurdle because in my QA environment I actually just have some. Load tests, running to make sure that that, things. Are responding, fine and. After. After that after after, it's went through my dev environment and, it hits my load test and this. Site doesn't really have any business logic or anything I'm comfortable with it going out to production. Let's. Try loading that release page again. There. We go much faster. Alright. So we've, I. Want. To go take. A look at my pipeline and I want to remove one, of these manual, gates. Now. As we're waiting for our. Screen. To load, what. We're gonna do is we're going to take away one of the manual approvals on the push to production and. We're going to add a quality, gate and the, quality gate can call out to. Zermatt. As. Your monitor and. Use. An alert evaluation. That we have to configure and actually we can go do that while we're waiting for this to show up. So. I'm going to go into my monitor, me QA environment. And. I'm. Going to dive. Into my app insights, or, actually. Ya. Know app insights. And. Let's, find our classic, alerts. Alerts. Just. Give me the new alert sir classic, ethic okay, all. Right so we're gonna create a new alert rule. And. And. We're going to select our target. And add, some alert criteria. We. Went a particular. Let's. Look, at, these. Server errors, I think yeah, let's find. Exception. Server. Exceptions, that's, symmetric, I want to watch for. And. Do. Greater than zero so. As long as there's no exceptions, over the last five minutes. We. Should be able to move on. You. I'm. Not a very good neighbor so. And. It's not liking my name up, can't have the question mark. And. It's very enable, rule on creation sounds, good action. Group what's it going to do. And. We're saying email. And. We'll send it to me. Ooh. There. We go. All. Right so. Once we have our alert. And. It's. Going to create that. In. Our release pipeline. There. We go Wow. In. Our release pipeline here I would add a. Quality. Gate. In. Our in my deployment. Into. Production. Let's. Pick our prod. In. My pipeline view yep. Yeah. All. Right, edit. Pipeline. Here. We go, that's. Where I need to be, and. I can turn on my quality, gates. And. I. Can add my, deployment, gate and I can add, different. Gates here what we're, going to query, as your monitor alerts. That's. Where we're gonna go through and set and set this stuff up I. Though. Want, to. Give her a chance, to show us what it, looks like after. We've deployed, into production after we've been running for a little while. What. Is it what is an environment, that's been running for a little while look like yep so, let's get, to the other machine yes. And. This. Is where I am all of my applications are now in production and I. Am in the resource, group view now, I have multiple applications virtual. Machines I have storage, accounts, Network a fairly. Complex application, solution, that I have deployed on this resource group and I, mentioned we have a new capability to, get end-to-end visibility for, my resource groups so, within the resource group I'll, go, to this monitoring. Section and within. The monitoring section I have something. Called insights, and alerts. And metrics and diagnostic, settings so, you will see the same section, monitoring, across, many of your major as your resources all natively. Integrated, so, we'll just click on insights, and it. Opens as your monitor for resource groups now. In one, single view so. I can come. To know what, are the different components I have deployed here so I have certain. Number of applications, app, services, there are three of them I have some compute, resources virtual. Machines app service plants I have some storage and databases sequel. Disk storage account and so on and. I can figure out what's. The alert status. What's, the health status how, many components. Have app insights, enabled, or as, your monitor for VMs enabled so, from this one single place I can. Keep, track of my. Overall monitoring, for the resource group and if I see any problems, so in this case I'm seeing this. Particular app service canto so retail web that's, been having 11 active alerts at the, moment I want, to see what's going on so, I can just click, on it go to, the application, insights resource, for that particular application and, look.
At All the details so right, out-of-the-box I'm. Getting, fill requests server response time availability, all of these metrics and, one. Of the best tools to start with is application, map so, that's the topology view I talked to you about so. This. Particular application, is deployed on to multiple instances, there, is some VMs some app services, so, in one single view I can figure out what's, my overall topology, level this. One particular instance that's connected, to some, API II as well so I can figure out interconnections. Across, some of these resources now. Zooming, it a bit I can see this particular instance, has had 6%. Failures and it's. Connected, to seek well as your table blob storage and bunch of things and some. Of these connections, are kind, of unhealthy, so, if I click on an unhealthy connection, I can see let's, say my sequel call is failing, 14%, of the times and that's. Something I want to diagnose later right. Now I'm seeing 6%, failures I can see my slowest. Request I can see my top failing requests, on the right-hand side now, you'll. Notice get, home index that's my homepage it's, taking. 26. Seconds to load, now. I'm not sure about you but if my home page takes 26, seconds to note it's probably I won't come back to this home page anytime, soon so, let's. Diagnose. This further what's causing it to load so slow I can just click on that particular slow, request and jump. On to the performance, view in application, insights now, it shows me all the instances. Of that particular, slow request over, a period. Graphs. Yeah and, I can see a histogram it's. Saying on an average it was taking around 3, seconds but in, extreme. Cases 99, percentile, cases it was even more than a minute load time let's. See what's going on will click on samples. To open a particular in, sense of this operation and let's. Pick up a suggested, one that it tells me so. This is the one that took 20 seconds to load and on. This. View, that's the end-to-end distributed, tracing view I mentioned, so, you can figure out what, was happening into your entire, transaction, so, in this case it's a relatively. Simple transaction. So there, was a home page call it called a bunch of tables, or databases in the backend and eventually. Succeeded, there, was no, failure, in this call the request was properly, successful. It just, took 20, seconds to load now, why would that be, that's, where profiler, comes in so, I can open profiler, traces, which, is basically your visual studio profiling, capability, available from production apps and. Without. Impacting, my production, at performance I can figure out what, was happening what. Was the code level view what, was each of those threads doing, where was my operation, blogged and so on so, in this case if I can pick up any different example, let's say this one took 30, seconds to load I can see it. Even gives me that performance, tip 90%. Of this request, was, spent. Just waiting, maybe, I can do something different at that time or I can just download the trace file in Visual Studio and run, the full powerful, code level analysis, figure out what it was blocked on and maybe, go ahead and resolve the problem so. That's the performance, view if I, go back to application, insights there, is another, view there for failures, so, if I let's say click. On one of these failed, operations, so, there is this get customer details that failed, 340. Times in the last 24 hours I'll. Click on that and same. As before just like performance, I have the failures experience, so, I can open, up a particular exception, just. Like before, look, at a suggested, instance and. In. This, case I, noticed. That there was a back-end code exception, there were some problems in the dependency. Calls as well but eventually there was a retry, logic everything, succeeded, but. There, was a actual. Code exception, if I click on that I can see a basic call stack what was the method failed. Me a method, name and everything, I can file, it as a work item in Azure boats if I'm, not the developer diagnosing, or if, I'm coming here to diagnose I can just open the shot now.
Debug Snapshot, is a kind of an analysis, of your exception. Dump file it gives, you all your local, variables, full, stack, trace and you can figure out what went wrong now. If you noticed the failed method, that, was basically saying the, input, string was not in the correct format now, unless you know what that input string was it's, fairly, difficult to figure out what the problem is that's, where your local, variables, come into the picture now, in this call stack I can. See I was trying to do some int past 32 and then calculating. Some zip code processing, if I go to the zip code it, tells, me somebody entered an alphanumeric zip, code that's, a fairly common ZIP code in Canada, so maybe, one of our Canadian customers, came in entered their zip code and it. Obviously, didn't go through in past 32 and failed now, I know what the problem is if I want to go, basically jump, onto the code I can download the snapshot file open. Up in Visual Studio and jump, directly to the line of code it's, a multi-hundred, mb dump file so i don't want to download it right now I already. Had that downloaded I have. Opened it up in Visual Studio clicking. Debug, with managed only and. It's running your typical debug, session with, that dump file takes, me to the line of code where the problem lies and I can see that. Same local, variable alphanumeric. Zip code what the issue is at this stage I can fix it, redeploy. It through my CI CD pipeline and make my customers happy before, a whole lot of them gets impacted. That's. Nice we were, just able to solve a problem now, let, me show you some of the other things that are available as, part of application, insights so. We'll, go here and look. At some of the other capabilities available so we, have smart, detection, now, many, times it happens you, do not know what your issues, are what your thresholds, are there, might be something, going, anomalously. Wrong in one of the geographies, maybe, your exceptions, in one particular area started, spiking now, unless you are a data mining expert. Or you sit in front of the data all day you. Might miss some of these things so we, have machine. Learning built into our experience which, can which can automatically. Detect such, anomalies or out-of-the-ordinary, behaviors, so, here I can figure out something, that was. Not expected, so. It just takes a couple of seconds to load and it tells me some heuristic, based information so, in this case it tells me some insecure, data transmission, was detected, in this, case some slow, response, time for server requests was detected, so on an average it took, 18. Seconds, for this request where, it says 2.3, milliseconds, for others and if, you notice that's the same get, homepage request so if. I. Didn't have an alert setup I could have come here and looked at smart detection, telling. Me that something weird is going on that I need to investigate further. So. That's smart, detection, if I go back to application, insights I have more, capabilities, like availability, so, Stephen mentioned you could do multi-step, web tests or load. Tests from test, plans you. Can upload your multi-step, web tests in availability. Run. Synthetic, performance, monitoring, it could, be a, URL paying or multi-step tests it runs from 16, global locations, and same. As your performance, or failure experience, you can click on one of these failed, availability, tests diagnose, further what, was going wrong I was actually running a multi-step availability, test against nap earlier today and it, was succeeding, everywhere but north central and so, there was there was some Network issue that. Was impacting, so it's, really cool to be able to see that and get alerts on that and I'm, really, excited you said network, and as, part, of as your monitor, we have network, monitoring, built-in as well so, if you have service connectivity, issues Express, route issues you, can use a network watch your network monitoring capability, to further drill down into what, caused that problem may be something you can resolve on your own right yeah, so, coming.
Back To application, insights I mentioned we have a full suite of usage. Analytic solutions, so, we have this section on, usage. Where you can track your user, behavior, metrics, your customer engagements, user flows funnels. And so on so if I go on usage, I can. See how many people were coming to my application. In the last, 24 hours I can, maybe, split, it by. Let's. Say country. Or region that's exciting always and I can see a fairly. Interesting curve. Graph based, on country and if I expand it to more days I notice it's a more, regular. Graph where most, of my customers are coming from United States so, during, that time zone it's pretty, high and once, folks. In United States sleep some, of our peak usage goes down so, this helps me kind of, do. Some capacity, planning some scaling, or just figure out who, my customers, are so I can better design. My products, or better design my experiences. Same. Thing I can do across sessions and events, I can create funnels, if, you have used any usage, analytics tool, you. Would know about funnel, so you can create, charts. Saying 100%, of my people who came to homepage how. Many of them went. To let's, say in this case another, page called customers, then another page called creating, a new customer so I can define my core. KPIs, or CTS, and figure, out how many people are flowing through that funnel if there is a bottleneck, I can. Of course make it part of my next planning cycle and fix that. Similarly. I have user. Flows so. We, saw funnels for one particular instance user. Flow is everything. In aggregate. So, in this case let me zoom out a bit, so. I can see the, entire. Like. Customer, flow through, my application, and in, this case let's. Zoom, back in so. My, center event is homepage, so, what did people do after they came to the home page now, many of them went, to details, that's, explanatory. Ended, the session some, of them created a new experience. Entered, the session many. People went. From home page to home page to home page to home page to home page and so on now. Why. Is that we, eventually did, some user studies and identified, that, people, were refreshing, the homepage and they, wanted an auto refresh capability, so, sometimes, these, tools actually, help you discover some latent, customer needs and as a product manager or a program manager you can use this to figure, out how you can make your customers life much better. Great. So, we, have user. Committees we have workbooks. That I mentioned, and that's. One, of the tools. To, share information between your development, and operations teams now. As a developer, let's. Say you, know when there is a sequel, spike or when there is a CPU spike, you. Should run this script and everything would be fine but, probably your operations, team does not know that so, you can create a troubleshooting, guide for them saying, that this, is a chart if this. Spikes run. The script and everything would be fine you, can create these troubleshooting, guides share, it with your CSS, Customer Support Operations teams, and all, of you could use the same solution, to help solve, your customer problems so.
There Are some out-of-the-box. Reports, for. Example you have business hypothesis. Failure, Diagnostics, performance, analysis, so, if I just click on performance, analysis, there. Are a bunch of metrics and log queries available, out of the box and I can click on edit and add, my own custom, charts custom logic custom, markdown guidance. That I want my like. Folks who are using this to basically take, advantage of so. These workbooks, are not. Just for application, insights it's, available for any of your as your monitor resources, so if you have storage accounts, sequel, you can create workbooks, to monitor, those things as well because as I, said it's, one, single metrics and logs platform, so, you are collecting data from anywhere, across Asia all, of, that you, can use to create your own custom workbooks. So. That's application. Insights let me show you a couple, of things so. We. Saw a simple, dotnet, based application, a single distributed, trace and I mentioned it's any app any dev any platform, this. Particular, application is a micro services based application, dotnet. Core Java, spring boot node, on a Linux, app service, fairly. Heterogeneous, type connecting. To Redis cache even herbes sequel, databases and so on I can, get the full, visualization. Of what's, happening in my application the full architecture, so, a front-end, calling to worker roles which. Is calling another API to do some inventory management and so on and I, used, the same experience, irrespective. Of my programming, language and, as. There was a question before does not matter whether it's a hosted, on Azure or on-premises. So. What's, cool about this stuff is when you go and you talk to an. Architect, or a dev, team or an ops team about, how they think the application, is out and behaves and then, we take a look at what it's actually doing and what it's actually connecting, to and you, can learn some interesting, things yeah, we have had many developers, within. The team who are like joining new and they. Want to they don't want to go through like. 10 pages 20 pages of architectural, dock on how the, service, behaves or how they like. Applications, are talking to each other this, is a great tool to come and look at everything working, dynamically. In real time what's, your entire, service, experience, looking like it helps build their contacts more, quickly definitely. Now, to. Give you that end-to-end visibility we talked about resource. Groups we talked about application, insights so if I just go to a short monitor which is the hub or the central, product for all of these in, as your blade I can notice the same experience, so I have alerts metrics, and logs if you, click on logs that's basically, the log analytics experience, where I can write queries, on top of the telemetry that I am collecting run, statistics visualizations. Root, cause analysis, machine, learning algorithms, whatever. Questions, I want to ask on top of my data then. I have same. As application, insights insights for, virtual machines or containers, so, if I click on containers, so, you had through, devops projects, your application, deployed on to kubernetes if, you do that you'll automatically, get as your monitor for containers, and from, this view you can monitor, all of your Cubana these clusters, now this one is easily, telling me this particular cluster has a warning so, if I click on that I'll.
Go To the monitoring experience, for the Kuban it is cluster, and. That's, a performance level view where I can monitor the, node. Utilization. Memory node count productivity. I can, go to controllers, or dinner's to see what's, the health looking like so, in this case if I jump on two controllers this, particular, controller, minecraft. I love minecraft so I have that deployed, onto one of the containers I noticed, there it's been trending almost. At peak for, CPU, utilization and it has restarted. 276. Times in. The last like. 24, hours or so so, if I expand, this particular, controller. I can see the different ports. That were running and selecting. One of them if, I, go, to the right hand side I can see my container limits, I notice. I have set up ten milli cores as the configuration which. Is way, too small, probably, something misconfigured. I can just go to cube CTL reconfigure, it and be, happy play Minecraft again if, that, does not help me I have all the Cubana T's event logs collected, in that same logs platform, I can run log analytics, queries on top of that and do. Root cause analysis, as I want, so. With, that probably. Hop back with, that let's go to our slides, and do, a bit of recap. So. We, talked about continuous, monitoring for DevOps how as your monitor as the continuous. Monitoring solution, integrates, with your visual, studio and devops pipelines, providing. You that end-to-end, experience throughout. Your DevOps lifecycle, now. There are certain, practices. Best. Practices or better, practices, likes, to say that you can use your own like. Processes. Or workflows today to ensure that you, are meeting, that continuous, monitoring ideal so. You. Can go through this we have a learn, mode link as, your monitor overview where you can go through certain tutorials, and documentation on, how, you can enable some of these things, the idea being don't. Use monitoring, and isolation. Unable. It in your release pipelines, enable, it in your dev workflows, and get. That end-to-end, view across your app and infra if you, only have an app view or only have an infra view there, are times you will miss out on certain things you, won't get that certain. Route cause I have, heard some cases where my. Application was failing and there, was no problem in the application, now, when, I went to the VM layer, I realized there was a noisy, neighbor running, on the VM and that, was eating up all the CPU so unless I have that view I couldn't, have found that problem I was just having this conversation at, breakfast actually how, when, when, there, was a production issue how, often, you'll see the ops folks go look in one direction and, you'll see the devs go look in a completely different direction for.
Where The potential problem is and it comes down to scope of control right it when. I'm an ops guy I've got I've got control of the, virtual, machine and the hardware underneath and network, layer and so that's why I'm gonna look for problems to make sure it's not my problem right and. And. The, dev side I'm gonna look in the application, code and make sure it's not make sure it's not there so I need to cover my backside right. When it when we want to talk and work more on a dev ops capability, we want to surface. All of this information for operators, and developers, so. We can work together more. Effectively, to. Run our software better. Definitely. So, here, are some resources, and related sessions that you can go through in more detail so, you want to learn more about as your monitor or, as your dev ops or just, go through our end-to-end monitoring, documentation, these are the links there, are certain breakout sessions we are doing diving into some of these in more detail so. We had a few sessions already on full, stack monitoring, and ITSM, we, have one tomorrow if you are interested in infrastructure, monitoring for your dreams and containers we have one tomorrow that. You can definitely. Attend there, is a session stephen is doing on sre practices, actually David. So. You want, to drill down into your SRU practices, SLA, SLO, s-- so that's the session that would be good to attend and we, are available at the expo, in booth, 177. As your monitor so, you can come there ask us any questions across. Anything, on monitoring so. With that we. Would love if you could evaluate, this session give us feedback and. We. Are almost over, on time but could take a few quick questions we, would be here for a few minutes after the session as well thank, you folks.