I build cloud systems for industrial IoT and enterprise platforms on Azure. My work runs from Azure Functions to AKS, in .NET, and private networking is the part that ties it together.
More than 15 years in distributed systems, the last ten of them on Microsoft Azure. My samples are written for production questions rather than hello-world demos: what breaks during a migration, how a service behaves behind Private Link, what a landing zone has to provide before a workload can go in.
Articles on blog.fzankl.de · Expert Distributed IIoT Software Solutions at WITTENSTEIN SE, Germany
Azure: Functions · Flex Consumption · Container Apps · AKS · Virtual Network · Private Link · Log Analytics
Microsoft Fabric: Eventstream · Event Grid integration · Private connectivity
.NET: C# · ASP.NET Core · Azure Functions isolated worker · .NET Aspire
Engineering: Docker · Terraform · Azure CLI · Azure DevOps · GitHub Actions
Azure Functions: in-process to isolated worker
What breaks, what goes away without replacement, and why the .NET 10 retarget depends on it. Support for .NET 8, .NET 9 and the in-process model ends on 10 November 2026.
Leaving Linux Consumption
Migration paths to Flex Consumption, Functions on Container Apps and plain Container Apps, with cold-start and cost measurements.
Private connectivity
Private Link, hub-spoke landing zones, third-party Private Link Services, and what Microsoft Fabric does and does not support behind them.
Azure Functions · Isolated worker · ASP.NET Core integration · System.Text.Json · Newtonsoft.Json · .NET Aspire
Companion code for the article "After the migration: What to do once your Function App is up and running again". Every failure of the move from the in-process to the isolated worker model is reproduced as its own git tag, from the build errors down to the ones that pass the build and return HTTP 200: the copied ILogger parameter that arrives as null, the Newtonsoft attribute that System.Text.Json silently ignores, the [HttpResult] on a DTO that yields an empty body. Three serialization fixes side by side, and an Aspire AppHost that runs the migrated app unchanged.
.NET 10 · Azure Functions · App Service · Container Apps · Terraform · Azure CLI
Companion code for the article ".NET 10 in Azure: A Path Through Your Estate". A two-pass inventory script (Resource Graph first, then an ARM fan-out for what Graph cannot see) lists every app and its runtime version as CSV. Alongside it, before/after configuration pairs for the moves the article describes: Functions from in-process to isolated worker on Consumption, Flex Consumption and Elastic Premium, App Service with a staging slot, and a containerised API with a weighted traffic split on Container Apps. The Terraform and application code is there to be read and diffed, not deployed.
Microsoft Fabric · Eventstream · Azure Event Grid · Azure Functions · .NET Aspire
Companion sample for the article "Fabric: The Hidden Destination". Turns a Fabric Eventstream into a two-way participant in an Azure event-driven architecture, using a Unified Namespace as the shared topic convention: one isolated-worker Function moves events out to Event Grid, a second one brings them back in through the Eventstream's ingestion endpoint. A .NET Aspire AppHost runs the whole round trip on one machine with the Event Hubs and Event Grid emulators standing in for the cloud, so it needs neither an Azure subscription nor a Fabric workspace.
JavaScript · docsify
docsify plugin that turns Markdown blockquotes into configurable alert blocks with preconfigured or custom styles and alert types. 143 stars, 15 forks.
Long-form articles on blog.fzankl.de, samples here on GitHub.
On LinkedIn I write shorter pieces on the same topics a few times a week.




