Set Up Web Site Availability Monitoring Using Azure Application Insights In 5 Minutes

Have you got a website where availability matters?  Do you know what the user experience is like for people browsing your site?  Is your online store open for business 24/7?  Why would you even care?

Well, as soon as we are talking "business" and revenue generating web sites I guess the answer becomes obvious.  Customers won't put up with slow performing sites, with errors or unavailability when they want to shop with you.  They will simply move on to the next online store, and most likely not come back.

Of course there are many different ways, tools and services that allow you to monitor your web sites for availability and performance. However, since I'm looking into Azure Application Insights at the moment I was wondering what that would look like and whether this Microsoft option is capable and fit for purpose.

So I guess here goes...  for the purposes of this post let's use this sample raffle ticket sales promo site, which is already hosted in Azure. That's not a pre-requisite, but it is handy. So is it possible to get some web availability monitoring set up in under 5 minutes?  We'll give it a go.

Log into the Azure Portal. If you haven't already, set up an Application Insights workspace for your web application by selecting your web application, select Application Insights, give this new resource a name, and click OK.

How to create a new Application Insights resource in Azure Portal

Within a few seconds, you will get a confirmation in the portal stating that the resource has been created.  With a few clicks you can also instrument your Azure Web App for deeper monitoring, but for the purposes of this post we'll focus on web availability tests.

Select the Application Insights workspace linked to your web app, in our case the QLDNSWFundraising one.  As this app has already got some availability monitoring running, we actually have an Availability percentage straight on the Overview screen.  This is driven by a web test for the home page of this sample web site.

Let's click on Availability on the left and set up another web test monitor. This could be for a shopping cart page, a catalogue item search or any such thing.  You could even set up a multi step web test to simulate an actual customer transaction through your site.  That is however a topic for another post, and in fact Microsoft charges for these multi step web tests separately.

 You will see this following screen

Click Add test, give your new test a easily identifiable name - in our case Fundraising About - enter the actual URL of the page.  Leave the test frequency at default 5 minutes or change as desired.

You could at this point simply click Create and you would be done.  Pretty quick, hey?  But wait, there are a couple of neat advanced settings worth considering.

First, you may be interested in how availability and performance of your site differs from various geographic locations.  Why is that important?  Well, depending on where your site is hosted, performance and response times can vary greatly.  Of course there are mitigating options available such as content distribution/caching networks etc but that's another story.  Or it could be that local carrier outages prevent customers in some geographies from accessing your site but not others.  Good info for your customer service team.

Second, you may want to check the server response a little more in depth rather than just for a 200 response code (page served up okay).  This could be useful for a catalogue item search or the like, where you want to make sure the page returned has a specific word present.  This allows you to test dynamic pages that might be making database calls, which indirectly tests the health and availability of your full application stack.  Pretty neat trick, right?

Click on the Test locations and Success criteria sections respectively and configure these two blades with the desired settings.  Should look something like the following:

Finally click on Create and you have a working smart web availability test.  Within a few minutes, your new test will start running, and you will get the results back in the portal.  You can drill down on each test, check which locations may have failures or slow performance etc.

As a nice added bonus, you will also get a weekly digest email which will clearly show this week's performance and availability as compared to last week.  This can give you piece of mind that the site's performance is not deteriorating over time, or can highlight service level target issues etc.

In Summary

I'm actually quite impressed with the ease of setup, and the ease of accessing and consuming the availability and performance data.  Combine these web availability test with the full Application Insights instrumentation of your apps, and they will add significant value to your full stack monitoring.

Watch a Quick Demo

Are Microsoft Lumia Windows Phones Any Good?

Windows based Microsoft/Nokia Lumia phones are out there, but nowhere near as popular as Apple's iPhones or Android based mobile phones.

Even the hallowed Nokia brand did not help Microsoft to gain any traction in the mobile market, and neither did the Windows 10 release, the advent of Univeral Applications or new high powered flagship models such as the Nokia 950.

But are these phones worth a second look?  Could they be a decent choice for some of us that are heavily invested in the Microsoft eco-system and are maybe not as app hungry as some?

So let's see why you might bother spending your hard earned money on a Microsoft Lumia instead of an iPhone or an Android device.

Well, for starters the flagship Lumia 950 has a price advantage.  As a flagship model, it literally costs half of what an iPhone will set you back, with similar or better specs.

The camera on the 950 is sensational, with 20 megapixels a real treat for photo enthusiasts. Battery life is pretty good but probably no real differentiator.

Personally, I simply like the usability of the Windows phone better. I use an iPhone for work but have a Lumia 930 to muck around with for some app development. The fluid Windows user experience appeals to me.  Combine that with Microsoft Continuum and you have a decent productivity solution in your pocket.

I'll admit I am biased in the sense that I am a consumer of all sorts of Microsoft services, and therefore the Windows phone actually works better for me than the Apple products. Integration with Office, OneDrive, OneNote and Outlook is tight, and exactly what I need.  Cortana works well these days, and the voice guided navigation is solid.

Of course all of that is available on iPhones and Android as well, and for some - even most - those other options are more attractive.  Ask anyone and it usually boils down to style and app availability for iPhone and Android.  It is much better than Windows apps for certain.  So if you are app hungry be sure to choose Apple or Android.

The few non-productivity apps I use - some of the standard socials like Facebook, Twitter and Instagram - are all available and work well on Windows.  Using eBay and YouTube through the browser works well enough.  Most of the Aussie banks have a Windows version of their banking app.

But can you even buy the Lumia 950 any more?  It's largely gone missing from the Microsoft online stores, and retailers in Australia don't seem to carry any stock any more.  Some carriers still have the handsets available on post-paid plans, but that's about it.  I guess everyone's waiting on the rumored "Surface Phone"... but that's a whole other discussion.

The good news is that you can grab yourself a bargain getting a Lumia 950 second hand from eBay at a really good price.  Of course it's buyer beware.  Check the seller ratings, ask questions about the history.  Buying mobile phones second hand can be a lottery as there are plenty of "seller refurbished" units that are not worth buying.

In Summary

If you must have all sorts of apps for all sorts of things in your daily life, the Windows phones are probably not for you at this point.

However, if you are already part of the Microsoft eco-system and you are looking for a well-spec'd phone and productivity tool at an affordable price, excellent usability, with an awesome 20MP camera to boot, then the Microsoft Lumia 950 (or even it's predecessor the Lumia 930) are worth your consideration.


Microsoft Lumia 950 Product Page
Lumia 650 on Optus
HP Elite x3 in Microsoft Store

Is Microsoft Azure Application Insights Worth a Look?

The market for application performance monitoring products is pretty crowded these days. On one hand we have the traditional players with their at times old school APM solutions, and on the other hand we have new entrants who have disrupted the market with modern, web centric product offerings.

Traditional heavyweights such as IBM, HP, CA, Compuware and others are facing off with new kids on the block such as New Relic, AppDynamics and many others.  Conspicuously absent from this battleground was Microsoft.

While Microsoft acquired Avicode - a dotnet APM and diagnostic product - and subsequently baked it into its System Center Operations Manager - or SCOM in short - it never was given much love and development, at least it was not obvious.

Enter Azure Application Insights.  This has recently gone GA and it would appear that it is a key plank in Microsoft's APM strategy.  With hooks in Visual Studio, Application Insights would seem to be geared for the developer and is available at design time to Visual Studio developers to help troubleshoot their code.

Initially not sure why you would give it a second thought over the likes of AppDynamics or New Relic, I must say I find the product interesting and the depth of information, ease of access and consumption and the free tier pricing actually quite compelling.

It could not be simpler to actually instrument your application in Visual Studio.  A single checkbox allows to bake the SDK into your application code, and a couple of further configuration settings will send application telemetry straight to the Azure Portal based Application Insights service.

Of course you can also instrument your existing applications at run time without changing any code.  However, the level of insights and data you get is slightly different.  Do this for Azure Web Apps through a few clicks in the portal.

Certainly if you are a dotnet developer already on the Microsoft stack, developing in Visual Studio, running your applications on Azure either on IaaS or PaaS services, Application Insights seems a logical choice.  It seamlessly integrates with Microsoft's Azure based Log Analytics offering, which is a very interesting product in itself and worthy of its own post down the track.

Application Insights does not just work for dotnet applications and IIS in Azure, but also works for J2EE / Java applications, and on premise workloads.  To instrument on-premise servers, you can download an agent that will configure your IIS server to send telemetry back to Azure Application Insights.

In Summary

As a whole, Application Insights has got me curious, and I am keen to explore whether it actually has any merit in a commercial/enterprise context.

Its integration with log analytics, automatic graphical application and dependency mapping, code diagnostics capability, ability to combine with single or multi step web tests provide a pretty neat package for all-round availability and performance monitoring.

Related links for this post

Microsoft Azure Application Insights
Documentation for Application Insights - Get Started
New Relic


APM = Application Performance Management
IIS = Internet Information Server
IaaS = Infrastructure as a Service
PaaS = Platform as a Service
GA = General Availability

Most Popular Posts