Azure Monitor’s Change Analysis helps you troubleshoot problems quickly.
Change management is key to running a mature IT organization. If problems occur, it’s important to know what’s changed in your environment so you can quickly diagnose faults and troubleshoot. A fix can be as simple as signing the latest change, or it can be solved by understanding the interactions between the services that make up your platform.
This is true for both the cloud and on-premises, and perhaps more importantly, with cloud-native architectures that depend on microservices that may be shared between multiple applications. A change to one service can affect many applications. for example, suddenly consuming more resources than planned, API blocking.
Change management in the cloud
Traditional change management approaches don’t work at cloud scale. Processes designed to run in a manually operated data center are unlikely to be suitable for automated infrastructures that scale on demand and operate across multiple areas of the cloud platform. With an automated environment, we need an automated way to understand and manage change. Tools like Microsoft’s Azure Monitor provide this context, orchestrating dynamic infrastructure and providing the tools needed to create cloud operations dashboards and workbooks.
Much of what we use to monitor and manage cloud infrastructure is purely reactive, showing us what happened and when. Log files can be analyzed to identify the causes of a problem, but this is only part of the story. We need to understand why the issue 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?
Introducing Azure Change Analysis
That’s where Azure Monitor’s Change Analysis tool comes into play. Tracks infrastructure changes, using Azure resource properties to indicate what has 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 develop. Microsoft’s choice to use a declarative language to define every aspect of an Azure deployment makes it possible to record changes to these properties and use Azure’s own data exploration and filtering tools to create a searchable timeline.
Under the hood is the Azure Resource Graph, which Azure uses for snapshot backups and other service replication platform functions. As the service stores changes automatically, they are 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. Where 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 Web Services and Applications. There is a 14 day limit on all change snapshots, although this shouldn’t be a big deal as problems are likely to arise relatively quickly.
Analyze changes in Azure Monitor
You can access the change analysis tool from the Azure portal as part of Azure Monitor. This makes sense, as Azure Monitor is a core component of the Azure Operations Platform. This is where you can collect and analyze telemetry data from your various subscriptions and tenants, and even from on-premises System Center Operations Manager installations. It works across all Azure APIs and resources, and offers tools to import telemetry from your own code. It’s probably easiest to think of this as part of Azure’s approach to observability.
Traditional monitoring and management tools are not designed to work at scale and struggle when it comes to distributed systems built on top of service architectures. Telemetry helps, but this 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 potential issues, allowing us to understand the internal state of a complex system. There is an added benefit of not having to add additional tools to your application that may 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. There are four main types of data it uses: metrics, logs, traces, and now, changes.
Its data sources include streams from the underlying Azure platform, using the platform’s resource management capabilities to track operational details of your services. This is where change data comes from and is used to generate information about your platform’s functionality. All of the various sources used by Azure Monitor are processed and used to provide insights, visualizations, and analytics, ready to help diagnose problems. You can take this data and build it into automation tools, such as rolling back to a previous ARM template for a service if it has persistent problems.
Debug with Change Analysis
Change details can be fed through the diagnostic tools built into Azure Monitor, giving you the extra information you might need to resolve a problem. As the details of networks are stored in ARM, being able to see if a route or address has changed can indicate whether problems with a service are due to the service itself or any changes made to your virtual networks and network devices . This way you can see if the rules added to Front Door affect your application or if there are any issues with caching on Azure CDN.
Where traditional change management tools are standalone, meaning any analysis must be manual, bringing change data into Azure Monitor ensures it’s available to the service’s built-in analysis tools. Having this as an input to the Diagnose and Troubleshoot service makes a lot of sense as it can quickly isolate potential fixes, while using Azure Workbooks gives you a place to compare and correlate data across inputs such as the performance of application to see how infrastructure changes have affected application operations without causing failures. This approach allows you to determine if a change needs to be repeated, such as increasing the capabilities 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 applications and services hosted in Azure. Adding Change Analysis to the platform has given you another diagnostic tool that can speed up troubleshooting, keep websites and services up and 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)