Eduard Keilholz

Hi, my name is Eduard Keilholz. I'm a Microsoft developer working at 4DotNet in The Netherlands. I like to speak at conferences about all and nothing, mostly Azure (or other cloud) related topics.
LinkedIn | Twitter | Mastodon | Bsky


I received the Microsoft MVP Award for Azure

Eduard Keilholz
HexMaster's Blog
Some thoughts about software development, cloud, azure, ASP.NET Core and maybe a little bit more...

Container Apps - Struggling with CORS (part 4)

Setting a CORS policy for Azure Container Apps hosting a Function App seemed to be somewhat of a challenge. In this post, I explain what the problem is and how you can solve it. Yes, you CAN set a CORS policy on an Azure Container App hosting an Azure Function, you only need a couple of environment variables.
2022-11-24

Container Apps - Scaling with KEDA (part 3)

The base cloud infrastructure for PollStar is there and the first services are deployed. Now let's go and dive a little bit deeper. The blog is about scaling services. As you may have noticed in the previous post, the Sessions Service scales based on HTTP traffic. This post explains how to scale services based on events using KEDA. KEDA is an abbreviation of Kubernetes Event Driven Autoscaler.
2022-10-25

Container Apps - With Pollstar (part 2)

Now the base infrastructure is up and running, let's dive into the first service to add to the environment. This service is the Sessions Service. It is written in .NET as a Web API and obviously compiled into a container image. In part 2 of this series, I will describe the service and how I built it, but also how I used Bicep to integrate with the base infrastructure.
2022-10-03

Container Apps - With Pollstar (part 1)

Now I've been playing with Azure Container Apps, it is about time to create a fully working solution, hosted with Container Apps in Azure and taking advantage of some capabilities that come with Container Apps out of the box. Pollstar is born, a system that allows you to configure and control polls, and push polls to attendees of your session.
2022-09-30

Secrets Made Easy - for Container Apps

It's dealing with secrets time again! And this time, for Azure Container Apps (ACA). An Azure Container App allows you to control secrets for a certain revision as a feature of itself. In this post I explain how to set secret values and how to refer to those secrets from your App's configuration.
2022-08-21

Configuration for Containerized Web Apis

Sometimes configuration is hard. Configuration is very clever in .NET, in my case too clever. I could not imagine that combining different configuration sources were this easy. I started a journey in container development and bumped into a couple of problems. Configuration was one of them, and this is how I solved it.
2022-08-14

Spinning Up Azure Container Apps

I missed the boat a couple of times when it comes to containers. So containers, containerization, orchestration, and Kubernetes are new to me. I think our future is for some part going to rely on containers so it is about time to get familiar with at least some of it. The new Azure Container Apps service lowered the complexity bar dramatically. In this post, I'm going to explore the basics of Container Apps and give it a first spin.
2022-08-04

Centralizing your Bicep templates in ACR

Even the most skilled developer sometimes repeats him/herself although we always try to prevent that. When you're writing Infrastructure as Code for an organization, you often find that some resources are deployed multiple times for different projects. Assume you're writing a Microservices solution using C# and host these services as Web Apps in Microsoft Azure. Probably 80 to 90% of the cloud resources are similar if not exactly the same for every service. When using Bicep for your IaC, you can write your infrastructure in modules. In this post, I show how to share Bicep modules allowing you to consume shared chunks of Infrastructure as Code in a very controllable way.
2022-04-14

Purging Deleted Services in Azure with Postman

Not all services provisioned in the Azure Portal are actually deleted when you click 'delete' in the portal. Some services are soft-deleted and need to be purged to actually remove them (or recovered if you want to). This purge, however, is not always available in the Azure Portal. In this post, I will show you how to purge a service.
2022-03-08

Azure Web Pubsub - Advanced Scenarios

In my previous post, I explained the basics of Azure Web PubSub. Unfortunately this story exposed some downsides and workflows that are just not that convenient. In this post, I will explain how you can use a different protocol to overcome these down-sides and make Web PubSub shine even more.
2022-02-15