Downtime is a risk faced by every business that serves customers on the web. The average website goes down for three hours a month because web hosting infrastructure isn’t wholly reliable and networks are even less so.
Azure is more resilient than the garden-variety web hosting provider, with SLAs that promise less than 43 minutes of downtime per month for single instance VMs and less than 4 minutes for VMs that use Azure’s redundancy and replication features.
But, even on Azure, downtime is inevitable. Its SLAs don’t cover downtime caused by traffic spikes, coding mistakes, and human error. Businesses who rely on their Azure infrastructure need a system to handle incidents that cause downtime.
How Much Does Web App Downtime Cost
The formula for calculating how much downtime costs your business is simple: the cost of downtime per hour × downtime in hours. You can roughly calculate the cost by estimating your application’s hourly revenue and multiplying it by how long it was down last month.
A study from the Ponemon Institute suggests that downtime costs businesses an average of $9,000 per month. The exact figure depends on how big the company is, how much money it makes via the web, and when the app goes down. Apple lost $25 million when its App Store went down for 12 hours in 2015, but a more reasonable ballpark estimate is around $427 per minute for small businesses and $9,000 for large businesses.
Downtime Monitoring and Alerts on Azure
Without alerts, downtime incidents last longer and cost more. Azure Monitor is a powerful application monitoring platform, but it does not provide out-of-the-box alerts and notifications for web app downtime. However, Azure does provide data collection and alerting tools that can be integrated into a complete downtime monitoring and incident response system.
Monitoring Availability with Application Insights
Application Insights is an application performance management service built into Azure Monitor. Typically, Application Insights is used to monitor applications built with .NET, Node.js, Python, and other languages via an instrumentation package. But it is also possible to use Application Insights as a straightforward uptime monitor for web applications hosted on Azure and other platforms.
To use Application Insights to monitor web apps, navigate to Application Insights in the Azure Portal’s Developer Tools and create an Application Insights resource. Once you have a resource, find the Availability pane in Application Insights and create a ping test.
URL ping tests are the simplest way to verify the availability of a web resource. They intermittently attempt to access the resource, logging its availability. You can also create Availability Alerts to trigger alerts and notifications based on availability metrics.
In addition to URL ping tests, Application Insights is capable of more sophisticated web availability tests. These multi-step web tests are built in Visual Studio Enterprise and replay a sequence of web requests. Multi-step web tests can also generate Availability Alerts.
Integrating Availability Alerts and Incident Management
Availability Alerts are most useful as part of a comprehensive monitoring, alerting, and incident response system. Without an integrated system that integrates alerts into incident tracking and management software, downtime incidents last longer and cost more than they should. All Azure services generate logs and metrics which can be used for alerting and notifications, but Azure users must be proactive in creating and configuring relevant alerts.
An incident management system helps businesses to create tickets based on alerts, respond proactively to downtime incidents, prioritize workloads, and reduce delays. The VIAcode Incident Management System (VIMS) connects Alerts from your Azure infrastructure, including Availability Alerts, to automation and collaboration tools such as Azure DevOps and Azure Teams.
In addition to developing the VIAcode Incident Management System, our team of former Microsoft developers and product managers help businesses to build, manage, and monitor highly effective infrastructure platforms with end-to-end incident management systems on Microsoft Azure.