Observations about IT and wine

Advanced Azure Policy Techniques #4: Targeting policies using scopes and tags

Hello again! Today, I want to shine a light on a powerful but often overlooked Azure Policy mechanism: resource tags. While widely available, they’re rarely used to their full potential, especially when it comes to policy scoping. What do Azure resource tags have to do with policies you might ask - the short answer is that since tags can be described as both meta and child resources that are available on every Azure resource and service offering, this makes them a prime candidate for laser-focused policy scoping.

A wee journey through Fèis Ìle 2025 — Part 1: Making whisky

Today, let’s step away from the world of wine and dive into another revered liquid: whisky. More specifically, I’d like to take you to Islay — a small Island west of Glasgow that is famous for its natural beauty and peated whisky. I had the chance to spend a few unforgettable days on this magical island, just in time for the Fèis Ìle whisky festival, that had connoisseurs of the peaty pour come from far and wide in pursuit of the perfect dram.

Advanced Azure Policy Techniques #3: Of Policy Endpoints and Subresources

In the third edition to the series, I would like to explain how we can actually determine when a policy can or should be used to achieve our goal.

First, let’s recall how Azure Policy works: By interacting with the Azure Resource Manager (ARM) API. This already shows us the first limitation: We will not be able to use a policy to restrict the behavior of an Azure resource or service if the level that we want to restrict is not accessible via the ARM API. This includes for example:

Wine Certifications

Most journeys into the world of wine share the same simple beginning: We enjoy a few glasses (or bottles) and decide which wines we liked and which we didn’t. However it usually does not take long to realize that even though we liked this one particular Cabernet Sauvignon very much, the next one we tried was truly awful - perhaps it was much too sour or had unbearably coarse, gritty tannins.

Advanced Azure Policy Techniques #2: Using requestContext to target specific apiVersions

In the second post of this series, I want to show you an example of using a function inside a policy definition to restrict the scope. Based on personal experience, policy functions are often somewhat neglected but have received significant development over the past few years. As you can see in the official documentation Azure policy supports a wide range of functions, including:

  • copyIndex()
  • dateTimeAdd()
  • dateTimeFromEpoch
  • dateTimeToEpoch
  • deployment()
  • environment()
  • extensionResourceId()
  • listKeys()
  • listSecrets()
  • reference()
  • resourceId()

Many of these functions are also available for ARM templates, such as copyIndex(), listKeys(), and resourceId(), and are very practical for operations targeting complex deployments with multiple, interdependent resources. However, a function that is perhaps less well-known is requestContext().

Food and wine starter recipes #1

As I explained in my previous post, a perfect marriage of food and wine can elevate both and unlock a whole new level of culinary enjoyment. But starting out can seem like a daunting task. What wines match with which recipes?

I’m by no means a master chef, but I’ve written down a few of my favorite recipes - easy and straightforward to make - and included some suggested wine pairings to help anyone else exploring this path.

Diagram as Code

Communication is one of the key skills of any good solution architect. Not only should you be able to create sound, secure and performant software designs but you also need to be able to communicate these to stakeholders.

To visualize these complex solutions, diagrams are a handy tool and there are a lot of different software offerings out there that help with this exact use case - most popular perhaps Microsoft Visio and Enterprise Architect.

Advanced Azure Policy Techniques #1: Extend Arrays Using DINE

This is the first post of a series showing some more advanced Azure Policy techniques that might not be featured so frequently, but can be very useful if the situation requires it.

Have you noticed that if you use a DINE policy to update a property on an existing resource where the property type is an array, it will overwrite the existing array with the one that you configured in the DINE policy? That behavior makes sense if we look at what a DINE policy is supposed to do - update a resource using a deployment template.

Mulled Wine / Glühwein

As the days grow shorter and Christmas decorations begin to light up our streets, the festive spirit comes alive. With the start of Advent, Christmas markets are finally opening in most places, bringing with them the delightful aromas of Bratwurst, Raclette, gingerbread, and — of course — Glühwein. But what makes a good Glühwein, and can you make it at home?

Mulled wine, or Glühwein as it’s known in German-speaking countries, is essentially spiced wine and can be made with either red or white wine as the base. To the wine, you add a variety of spices — usually seasonal ones like cinnamon, star anise, and cloves — to give it more depth and warmth. You can also incorporate fruit juices, most commonly orange juice, to make the Glühwein a bit easier to drink and to add sweetness and acidity. Some people prefer to give it a little extra kick by adding a shot of rum, brandy, cognac, or other liqueurs.

Wine and Food Pairing Basics

Drinking a glass of wine on its own can be delightful, but pairing wine with the right food takes the experience to a whole new level. A well-chosen pairing allows the wine to elevate the dish’s flavors while the food enhances the wine—a beautiful harmony that can feel like an intimate dance between two perfect partners.

The Basics of Food and Wine Pairing

The theory of pairing begins with the flavors on the tongue, the elements of a wine and their relationships. On the tongue we can taste salty, sweet, sour, bitter and umami (savory) aromas. These can also be found in wine: