Book Review: Cloud Architecture Patterns: Using Microsoft Azure

Building scalable systems for the cloud involves leveraging unique design patterns specific to cloud services. In Bill Wilder’s book, Cloud Architecture Patterns: Using Microsoft Azure, he walks through these patterns in detail with practical examples for Microsoft Azure. Although this book is now several years old, most of the patterns still hold up today.

Continue reading

PowerShell module starter kit – updated for 2019

A couple years ago I wrote a PowerShell module starter kit (here). The goal was to provide an example for organizing a module using best practices and provide a live repository you could clone and play around with.

I’ve taken that starter kit module and updated it for 2019. Incorporating some new best practices and new usage patterns that I find helpful. Head over to the GitHub link to check it out!
Continue reading

Working with arrays of objects and multiple resource instances in Azure ARM templates

The ‘copy’ property is an Azure ARM template feature that allows you to iterate (for each) loop over a resource to create multiple copies of it. You can combine it with an ‘array of objects’ custom parameter to easily duplicate resources with your supplied values. However there are a couple of snags you might run into so I figured it’s worth a write up with an example.

Continue reading

How to troubleshoot New-AzureRmResourceGroupDeployment ‘parameter cannot be found’ errors

Scenario: You have an Azure RM deployment template JSON file. You initiate a deployment with the New-AzureRmResourceGroupDeployment PowerShell cmdlet and pass in some custom parameters. You immediately hit this all too common error: “New-AzureRmResourceGroupDeployment : A parameter cannot be found that matches parameter name ‘<myParameter>’“.

Continue reading

A quick tip for debugging Azure ARM template expressions

Azure Resource Manager (ARM) templates have a nice set of built-in functions that allow you to develop complex expressions. These expressions can help a static deployment template file become more scalable and flexible for different scenarios. This article is a quick rundown on my new favorite tip for debugging a template expression that you just can’t get working. 

Continue reading

How to call the Azure REST API from PowerShell

Normally we use SDKs to interact with Azure. Things like the Azure .NET SDK, the Azure PowerShell module, or the dozens of other SDKs listed here can be used. These SDKs provide a lot of helpful utilities and validation, but ultimately they will hit the Azure REST API once they need to phone home. Azure’s REST API provides this all-important foundation to write code against the platform.
Continue reading

How to capture and debug .NET application crash dumps in Windows

It is important for software engineers to understand how to analyze process dumps so that they can determine why their application is crashing or behaving unexpectedly. However, it can be hard to know where to start with the process. This post aims to be a starting point for a very common situation: debugging a crash dump for a .NET application running on Windows. A crashing application is easily detected in the Windows Event Log when the .NET Framework logs the error, “The process was terminated due to an unhandled exception.”
Continue reading