Saturday Reading List

CSS Can Do This… And It’s Terrifying!

I never thought CSS could be used to this, it’s amazing actually. From keylogger to turing, it’s all done using CSS (and in some cases, JavaScript).


Swiftly understand what versions of .NET are supported on Azure App Service

Want to know what version of .NET is supported in your Azure App Service? Check this tips out. And while you there, check out hundreds of other tips as well.


Demystifying containers, Docker, and Kubernetes

Getting started on Kubernetes? This is a must-read, cover the basic building block of Kubernetes. No code involves, just the knowledge you need to understand Kubernetes.


Azure and .NET Code Samples

You need to bookmark this link right now if you are building application using Azure, .NET, Microsoft Graph or Power Platform, especially if you don’t know how to start building application for your project. There are many available code samples for all kind of applications.


Should I use === or == equality comparison operator in JavaScript?

Ahh.. the JavaScript tricky question. There’s actually a difference between `===` and `==` and why you should use one in some cases and not the other.


What to Read?

Stateful Serverless: Long-Running Workflows with Durable Functions

Great post by Jeremy Likness on how to use Durable Functions in Azure Functions to create a long-running workflows. Yes, a serverless service can be used for long-running application. Some of the pattern implemented are: fan-out-fan-in, human interaction, etc. Although the example given is a game, it can definitely be applied in many Enterprise situation.


What’s the big deal with IAsyncEnumerable in .NET Core 3.0?

Ever wonder how you can stream data asynchronously? Now you can with IAsyncEnumerable<T>, a new feature in C# 8.0 and .NET Core 3.0.


Create dependent pipelines in your Azure Data Factory

One of the very common scenarios in data integration and movement is the dependency of one task to another. Azure Data Factory now offers option to run triggers based on dependency of another trigger. You can even specify offset and dependency size of a trigger.


The guide to Visual Studio Code shortcuts, higher productivity and 30 of my favourite shortcuts you need to learn

Want to code faster in Visual Studio Code, this will help you.


Solving Cold-Start disturbs serverless’ definition and it’s okay

Serverless has its advantage but cold-start is not one of them. With Azure Premium Functions, you can solve cold-start issue although technically, it’s no longer a serverless. Maxime made an argument when to use serverless or not.


Azure App Service Auto-Healing

Auto-Healing

Azure App Service provide feature to auto-heal your service whenever it detects anomaly with the service.

Auto-Healing allows you to restart, log or perform custom actions (action) whenever a certain criteria about your App Service is met (trigger), for example, recycle service when slow requests is detected.

You define these triggers and actions to determine what triggers / actions to take.

Azure Web Sites

Before it was renamed to Azure App Service, the service is called Azure Web Sites. To enable auto-heal in Azure Web Sites, you would have to add configuration in the web.config file.

<system.webServer>
  <monitoring>
    <triggers>
      <requests count="100" timeInterval="00:05:00" />
    </triggers>
    <actions value="Recycle" />
  </monitoring>
</system.webServer>

To see different scenarios on how to use this, head over to this link. Some of the scenarios are:

  • Recycle based on Request count (code example above).
  • Recycle based on slow requests.
  • Logging an event or recycle based on HTTP status code(s).
  • Take custom actions or recycle / log event based on memory limit.

Azure App Service

In the new Azure App Service, however, auto-heal works little bit differently. Announced in September 2018 (https://azure.github.io/AppService/2018/09/10/Announcing-the-New-Auto-Healing-Experience-in-App-Service-Diagnostics.html), the auto-heal is now available through Azure Portal.

To get to Auto-Healing setting, go to Azure App Service > Diagnose and solve problems > Diagnostic Tools > Auto Healing.

azure-app-service-auto-healing-1

azure-app-service-auto-healing-2

Azure App Service offers two types of auto-heal. First is ProActive Auto-Healing which is enabled by default. And custom Auto-Healing.

You can turn off ProActive Auto-Healing under Azure Portal as well.

To add custom Auto-Healing setting, follow this link.

azure-app-service-auto-healing-3

As the screenshot shows, the first tab (“Configure Mitigation Rules”) is the custom Auto-Healing settings. By default it’s turned off. The second tab (“ProActive Auto-Healing”) is ProActive Auto-Healing and it’s turned on by default.

Reference

https://docs.microsoft.com/en-us/azure/app-service/overview-diagnostics

https://azure.github.io/AppService/2018/09/10/Announcing-the-New-Auto-Healing-Experience-in-App-Service-Diagnostics.html