
Karl-Henrik Nilsson
Senior Technical Architect at GAC
Dubai, United Arab Emirates
Actions
Karl-Henrik "KH" Nilsson is a turbulently enthusiastic and unstoppably curious Swedish software developer with a soft spot for the software community. Having worked with everything from web applications to cellphone towers has given him a very particular set of skills and the habit of breaking out a soldering iron to solve the oddest of problems.
Today Karl-Henrik is a former MVP and Ex Microsoft Cloud Solution Architect that works in Dubai as a Senior Technical Architect at GAC! He focuses predominately on Azure and cloud technology and blogs at http://karl-henrik.se
Links
Area of Expertise
Topics
Software Archeology: Excavating Ancient Code in the Modern Enterprise
Every line of code tells a story—but in the enterprise world, some stories are written in hieroglyphics. Let’s go on an expedition into the depths of legacy systems, where we’ll unearth treasures like “commented-out code from 2005,” “mysterious one-line fixes,” and the fabled “invalid connection string that still remains six years later.”
In this session, we’ll:
• Discuss the similarities between architecture and archeology (hint: both uncover ruins of past decisions).
• Debate which codebases should stay buried—and which are worth resuscitating.
• Dive headfirst into all the tools that can help us catalog our archeological architectural findings for future generations!
Bring your curiosity and leave with a new understanding of what architects do and practical strategies for your next archeological dig into past architectures—accidental or otherwise! This is one expedition you won't want to miss!
Say NO to the Big Rewrite: A Healthy Path to .NET Modernization
Does "modernization" make you picture a soul-crushing rewrite of untested code, endless meetings, and a migration that drags on forever? What if modernizing your .NET application could be more like gardening than demolition?
Let's explore how to incrementally modernize .NET systems without rewrites or trauma. I'll talk about how to
Carve out domains from 2500-line CustomerService.cs files,
Introduce defensive coding practices that make brittle systems resilient,
Use Azure to boost uptime, simplify development, and avoid those 3AM Slack pings.
We'll also look at the risks of standing still and how the cost of not modernizing might be higher than you think and that the first step to a modern techstack that are able to run with all the new cool tools, may be smaller than you think.
Azure Functions and the 5 Performance Sins: How Innocent Code Becomes a Villain
Do you ever look at your Azure Function and think, I wrote great code why is it so slow! If so you are not alone and you may have committed one of the 5 azure function performance sins!
You are probably a good coder, the issue is that when code enters Azure Functions the rules quietly change. Suddenly, patterns that performed flawlessly in your web app start misbehaving in mysterious, expensive ways. Execution slows. Scaling stalls. Cold starts multiply. And your previously so high performing code become a lot more .. comfortable.
This session is about the five most common Azure Functions performance sins, mistakes that feel logical, even best-practice, but backfire spectacularly in a serverless context.
You’ll leave this session with a new lens for spotting problems before they hit production, and the fixes that turn sluggish functions into truly scalable serverless joy.
Serverless design patterns
Serverless components, such as Azure functions, are a very common part of my software architecture designs but it's easy to create serverless functions that aren't as performant as they could be, both in terms of consumed resources and speed.
In this session I will go through some common design patterns for serverless architecture and share some designs that solve common software architecture problems using Azure functions.
Save money and time by killing legacy software!
Legacy software should be killed! if we cannot kill it, it is not legacy! Sounds simple? That is because it is. What isn't simple is what we do with all the software that is old, ill maintained but more depended on than CURL, our untested backup process and the office coffee maker.
In this session I will share the strategies I have successfully applied to get rid of legacy software, maintain old software and share the application lifecycle management tricks even the smallest of software shops can successfully steal from hyperscalers like Google and Microsoft.
KCDC 2025 Sessionize Event Upcoming
DevSum 2025 Sessionize Event Upcoming

Karl-Henrik Nilsson
Senior Technical Architect at GAC
Dubai, United Arab Emirates
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top