Detect - Add Application Insights Monitor to see website status
We need to be aware that the application is down. We should at least have a dashboard that shows the status of the website. For that we can use Application Insights and the Azure Dashboards to show this information.
Steps
- Make sure your web application pushes information to the right Application Insights. For that, you can update the instrumentation key in the config file
- Create a new dashboard in the portal, call it the name of your team
- Navigate to your web app, and find the requests tile
- Pin the tile to your dashboard
Detect - Add alert to get notified when website is down
We need to be aware that the application is down. We want an alert when something is wrong. For that we can use Application Insights and Azure Monitor.
Steps
- Make sure your web application pushes information to the right Application Insights. For that, you can update the instrumentation key in the config file
- Navigate to your web app, and find the requests tile
- Add an alert for this tile.
Add autoscaling based on a metric
We need the web app to scale when load is high
Steps
- Create an autoscaling rule
- Choose to scale out on AppInsights value, Server Response time.
Adding a Deployment Slot
We need the web app to scale when load is high. Another alternative to scaling the
app service out via the appservice plan is to add a deployment slot and set traffic routing.
Steps
- Create a new Deployment Slot
- Add/Clone a environment in the release pipeline and setup deployment to the newly created slot.
- Setup Traffic Routning to level out the load on the existing app services slots.
More Information and links
Denial of servivce can be hard to fix. We cover a few solutions in the challange. But there are several other ways of handling heavy traffic.
For more information check the below links.
If you want to see an example of how to solve the challenge you watch the video.
Or
When you completed all your steps, then you can start a validation by kicking of the disruption again.
Validate Challenge