Modern applications, especially cloud applications running on right-sized infrastructure, rely heavily on efficient resource management, but “efficiency” doesn’t always mean “low usage.” High CPU or memory consumption can be either a red flag or a sign of optimal performance, depending on the context. In this post, we’ll explore when to celebrate high resource usage—and when to panic—with a focus on .NET applications.
Continue reading “Understanding High CPU and Memory Usage: When to Act and When to Relax”Future-proofing Result<T> Libraries
C# is coming ‘soon’ with Type Unions (see the official proposal and Nick’s video on this), which I think is great. However it’s not there yet and if you need it now it’s important t consider which library will require the least refactoring when this feature becomes part of the official language specification.
This post explores some of the most popular libraries in .NET for implementing this pattern and helps you decide which one fits your project’s needs.
Continue reading “Future-proofing Result<T> Libraries”Monkeys, bananas and WHY
Once in a while, it happens when I come across a situation where people do things without truly understanding why they do what they do. To lighten the mood after a series of ‘Spanish inquisition’ why questions, I like to tell this anecdote.

Transitive Dependencies Gone Wild: Why Your .NET Microservice Isn’t Running What You Think
While working in a fairly large .NET microservice landscape I came across the following assumption-shattering situation, which led me down a nuget-versioning rabbit hole.
Continue reading “Transitive Dependencies Gone Wild: Why Your .NET Microservice Isn’t Running What You Think”Implementing Centralized Package Management
From Layers to Rings – Hexagonal Architectures Explained (by Silas Graffy)
This article is a proper English translation of Von Schichten zu Ringen – Hexagonale Architekturen erklärt by Silas Graffy. I found it to be one of the best explanations and motivations for the architecture style, but the ‘Chrome Autotranslation’ was severely lacking.
In summary:
- Classical layered architectures do not work: they put the database as a foundation and they tend to evolve into ‘everything talks to everything spaghetti’.
- In the mid-90’s, building on the Dependency Inversion Principle, Alistair Cockburn coined the hexagonal architecture: it decouples the core application logic from external concerns (such as databases).
- Because six sides was rather random, the name was changed in 2005 to Ports and Adapters.
- If we add the internal/external notion, we arrive at the Onion Architecture (Jeffrey Palermo in 2008).
- This inspired Clean Architecture (Robert C. Martin in 2012), as a more generalized form of the Onion Architecture.
Enjoy the read.
Continue reading “From Layers to Rings – Hexagonal Architectures Explained (by Silas Graffy)”Exploring options for building REST APIs with C# and deploying to Azure
Somebody asked me, what is the difference between a C# REST API running as a Web App on an App Service as a container and a C# REST API running as a HTTP Function on an App Service or a Consumption Plan?
There are lots of aspects in this question, so let’s unpack this a bit first.
First, let’s talk about the various ways we can build REST APIs in .NET.
Then, we’ll talk about how you can deploy these, either as code or as a container.
Last, we’ll explore – if you end up with a container – which Azure service best fits your needs.
David Deutsch on (un)sustainability & climate optimism
David Deutsch’s The Beginning of Infinity brims with ideas that turn conventional wisdom on its head. One especially eye-opening chapter in this book, titled “Unsustainable,” challenges the familiar notion that human progress inevitably stumbles over finite resources. Deutsch suggests that what truly brings about societal collapse isn’t the depletion of a particular resource, but rather a failure to keep creating new knowledge. It’s a perspective that, paradoxically, leads to optimism—even about environmental issues such as climate change—because creativity and innovation can render the “limits of nature” far less limiting than we might think.
Continue reading “David Deutsch on (un)sustainability & climate optimism”Frequently Overlooked Architectural Characteristics (Video Review)
This video is well worth the watch, as it summarizes what quality attributes are frequently overlooked.
Continue reading “Frequently Overlooked Architectural Characteristics (Video Review)”You will be assimilated: Microsoft implementations of formerly popular OSS libraries
The below is a summary of all the libraries Nick mentions in his video.
Continue reading “You will be assimilated: Microsoft implementations of formerly popular OSS libraries”