This Week Reading List

Want to learn any programming language? — Write These 3 Simple Apps!

https://medium.com/@samuel.fare/want-to-learn-any-programming-language-write-these-3-simple-apps-5af8cd119921

Very good read if you want to learn new programming langugage. Sam Fare challenges you to build 3 simple apps with a new programming langauge: Hello World, Anagram and Pizza app. I’ll throw in one more as a bonus: a Todo app.

 


How to Become a Better Software Developer by Digging & Climbing

https://dmitripavlutin.com/become-better-software-developer-digging-climbing/

Even if you are an experienced developer, it’s still a very good read. Dmitri shares what he did to become a better developer (and we always have room to become a better developer). It’s a conceptual idea, which is why it’s a very good read, with some practical examples.

 


Event-driven analytics with Azure Data Lake Storage Gen2

https://azure.microsoft.com/en-us/blog/event-driven-analytics-with-azure-data-lake-storage-gen2/

If you are dealing with big data, the ingestion, processing, storage, consumption and ETL stuff, add this to your reading list. It outlines a way to use event-driven technique using Azure services to build data for analytics.

 


Azure solution architectures

https://azure.microsoft.com/en-us/solutions/architecture/

One of my favorites. This is more of a reference than a reading. Microsoft docs provides cloud architecture solutions (based on Azure services) for different scenarios and needs. Definitely check it out when you need to design and build a new system.

 


The Azure Infrastructure Architect Map

https://techcommunity.microsoft.com/t5/Azure-Developer-Community-Blog/The-Azure-Infrastructure-Architect-Map/ba-p/766268

Yet another good resource for a reference. This guides you through way-too-many Azure services based on your needs, sorta help you to decide what Azure service to use for a specific scenario. There’s also Solution Architect map and Security Architect map. Links are in the article.

 


Pipeline Pattern Implementations in C# .NET – Part 1

https://michaelscodingspot.com/pipeline-pattern-implementations-csharp/

Part 1 of 2 where Michael explains how to implement pipeline pattern in C#. This is not about `System.IO.Pipelines` library, but rather,
Part 2 – https://michaelscodingspot.com/pipeline-pattern-tpl-dataflow/

Advertisements

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

Azure: On Premises vs IaaS vs PaaS vs SaaS

Azure cloud model is generally divided into two: Infrastructure as a Service (IaaS) and Platform as a Service (PaaS).

The difference is how much you have to manage in each service. The more you have to manage, the more you have to pay.

See this graph below:

azure-on-premises-vs-iaas-vs-paas-vs-saas

Difference Between Azure Web App and Cloud Service

When I first getting started on Microsoft Azure, I was confused between these two: Azure Web Site and Web Role.

Azure Web Site is one of many Azure services while Web Role is an instance running behind Azure Cloud Service, another service offered by Azure. Since then, Azure Web Site has been changed to Azure Web App.

Basically, the difference is the control you have and portion you have to manage in each service.

Azure Cloud Service, Web Role in this case, gives you more control, but with more control, comes greater responsibility. See this graph below:

difference-between-azure-web-app-and-cloud-service

For detail technical difference, see Feature Comparison on Azure App Service, Cloud Services, and Virtual Machines comparison.

Introduction to Azure Services

Microsoft Azure is evolving universe. Couple years ago, there were only less than 15 services. Today, there are hundreds and Microsoft keeps adding more so expect even more to come.

Generally, the services are divided into the following group. There more than what is listed here, but these are the main groups.

  • Compute
  • Data Management
  • Networking
  • Mobile
  • Messaging and Integration
  • Backup
  • Identity and Access
  • Big Data

See below graph to get some idea which service belongs to which group. Again, these are generally idea, not every service and group are listed here.

introduction-to-azure-services-1

To get more detail on Azure Services and its groups, check out this Azure infographic from Microsoft.

Architecture

Now, what do all these components mean to you as a developer? Each component is a tool and you can use it as a building block to your application, be it a web, mobile or windows application. To give you some ideas, this is what your typical application architecture would look like using Azure Platform.

introduction-to-azure-services-2

Open World

What’s really amazing about Microsoft Azure is Microsoft has opened up Azure for ecosystem other than Microsoft. If you are MEAN stack developer, you can deploy MongoDB, Express, AngularJS and Node.js in Azure. You can even deploy MySQL, write PHP code or spin up Linux virtual machine in Azure. Yes, it’s now Microsoft Azure and not WIndows Azure anymore because it doesn’t just belong to Windows or .Net developers, but all kind of developers.

The Future

Azure is huge and it is the future. If you haven’t got your hand in Azure, roll up your shirt sleeves and get dirty now. And if you care to read more, head out to Introducing Microsoft Azure.