Challenge Statement

One of the important metrics to measure when running a site, be it an eCommerce site or blog would be to measure the incoming traffic from organic and paid sources. Google Analytics is one of the freemium web analytics which users commonly. I’m looking at services specifically provided by Azure which does similar, which measures the user activity done on site.

In addition when you are hosting your application on the cloud, you would want to take advantage of global data center and elastic scalability as well. Provision a service which can provide load testing and monitor ping response from different region in the world.

I would also like to know when there is high traffic coming into my site, with triggers coming from high CPU (and other anomaly) coming from my Azure Compute (which is this case my Azure Web App). This is just an alert, you do not have to trigger scaling up at this point in time.

To simulate our Azure Web App going down, prepare a REST API which can quickly trigger and shutdown of the Azure Web App without logging into the portal.

Prerequisite and Requirements

  1. Understanding of Google Analytics and Application Insights offering
  2. Load Testing and Web Performance with VSTS
  3. Azure monitor, Logic Apps (Log Analytics will be optional)
  4. Azure Alerts and Autoscale (this is a fundamental feature released in 2014)
  5. Azure Service Management REST API


Thought Process

These are important fundamental which are easy to miss when setting up and infrastructure on the cloud. Monitoring is the key to high availability, and settings are crucial to provide scalability when traffic goes above the roof.

On the cloud, we would need to start treating our compute as “cattles instead of pets” mentioned by former Microsoft employee Bill Baker. Micro-services might change this analogy, however we will not venture into micro-services yet.