Azure Monitor’s change analysis helps you resolve issues quickly.
Change management is essential to managing a mature IT organization. If problems arise, it is important to know what has changed in your environment so that you can quickly diagnose faults and resolve issues. A fix can be as simple as undoing the last change, or it can be fixed by understanding the interactions between the services that make up your platform.
This is as true in the cloud as it is on-premises, and perhaps more importantly, with cloud-native architectures dependent on microservices that can be shared across multiple applications. A change in one service can affect multiple applications; for example, suddenly consuming more resources than expected, blocking APIs.
Change management in the cloud
Traditional change management approaches don’t work at cloud scale. Processes designed to operate in a manually operated data center are likely not suitable for automated infrastructures that scale on demand and operate across many cloud platform regions. With an automated environment, we need an automated way to understand and manage change. Tools like Microsoft’s Azure Monitor provide this framework, instrumenting dynamic frameworks and providing the tools needed to build cloud operations dashboards and workbooks.
Much of what we use to monitor and manage cloud infrastructures is purely reactive, showing us what happened and when. Log files can be analyzed to trace the causes of a problem, but that’s only part of the story. We need to understand why the problem occurred: was it a bug in the code or was it a problem with the virtual infrastructure we deployed? Or was it a problem with a platform service used by our code?
Overview of Azure Change Analysis
It’s there that Azure Monitor change analysis tools comes into play. It tracks infrastructure changes, using Azure resource properties to show what changed and when it changed. It’s an approach that leverages the same tools we use to build and manage our applications, the Azure Resource Manager templates that describe everything we deploy. Microsoft’s choice to use a declarative language to define every aspect of an Azure deployment allows changes to these properties to be saved and Azure’s own data exploration and filtering tools to be used to create a searchable timeline.
Under the hood is Azure Resource Graph, which Azure uses for your backup snapshots and other service replication platform functionality. Because service stores change automatically, they’re available to Azure Monitor through a secure API. This allows it to track not only changes you make, but also changes coming from the Azure platform itself. When changes are not made directly through ARM, the service captures configuration properties every six hours for most user changes and every 30 minutes for Azure Functions and Web Applications. There is a 14 day limit on all change snapshots, although this shouldn’t be significant as issues are likely to arise quite quickly.
Analysis of changes in Azure Monitor
You can access the Azure portal change analysis tools as part of Azure Monitor. This makes sense because Azure Monitor is a key component of the Azure Operations Platform. This is where you can collect and analyze telemetry data from your different subscriptions and tenants, even from on-premises System Center Operations Manager installations. It runs on Azure APIs and resources, and offers tools to integrate telemetry from your own code. Perhaps it’s easier to think of this as part of Azure’s approach to observability.
Traditional monitoring and management tools are not designed to operate at scale and struggle when dealing with distributed systems built on service architectures. Telemetry helps, but it results in a flood of data that can be difficult to analyze. Observability techniques allow us to use big data tools to look for patterns in these logs that indicate where systems have failed or where we need to investigate possible issues, allowing us to understand the internal state of a complex system. There is an added benefit in that you don’t need to add additional tools to your application that could consume additional resources, avoiding performance issues and cloud computing costs.
Azure Monitor is where all this information comes together, giving you a one-stop shop for the information you need to manage your applications. It is best thought of as an observability dashboard, where information is gathered, processed, and displayed. It uses four key data types: metrics, logs, traces, and now, changes.
Its data sources include feeds from the underlying Azure platform, using the platform’s resource management features to track the operational details of your services. This is where its modification data is extracted and used to generate insights into your platform’s operations. All of the different sources used by Azure Monitor are processed and used to provide insights, visualizations, and analytics, ready to help diagnose issues. You can take this data and feed it into automation tools, such as rolling back to a previous ARM template for a service if it’s having persistent issues.
Debugging with change analysis
Change details can feed diagnostic tools built into Azure Monitor, give you additional information that may be needed to resolve a problem. As network details are stored in ARM, being able to see if a route or address has changed can indicate whether issues with a service are due to the service itself or any changes to your virtual networks and network devices. . This way you can see if rules added to Front Door are affecting your application or if there are caching issues in Azure CDN.
Where traditional change management tools are self-contained, meaning all analysis must be manual, integrating change data into Azure Monitor ensures it is available to the service’s built-in analysis tools. Having it as an input to the Diagnose and Fix Problems service makes a lot of sense, as it can quickly isolate possible fixes, while using Azure Workbooks gives you a place to compare and correlate data between various inputs, such as application performance, to see how infrastructure changes have affected application operations without causing outages. This approach allows you to determine whether a change should be repeated, such as increasing the capacity of a switch or using a different class of virtual machine.
Microsoft has come a long way to make Azure Monitor your operations hub for all your Azure-hosted applications and services. Adding change analysis to the platform has given you another diagnostic tool that can speed up problem resolution, keeping sites and services running. With the public cloud hosting more and more customer-facing and business-critical applications, tools like this can help reduce downtime and keep your business afloat.
Read next: The Complete Microsoft Azure Certification Preparation Package (TechRepublic Academy)