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...

Are Modular Monoliths a Winner?

In the ever-evolving landscape of software architecture, the quest for an ideal approach that balances the simplicity of a monolith with the scalability of microservices has led to the emergence of the modular monolith. In this intriguing exploration, we delve deep into the realms of software development, unraveling the concept of the modular monolith to discern its promises and pitfalls. This blog post embarks on a journey to uncover whether the modular monolith truly holds the key to striking the perfect harmony between tradition and innovation in modern software engineering.

Bicep Parameters as Bicep Parameters (and not JSON)

Bicep is the current standard for writing Infrastructure as Code (IaC) for Azure. Bicep replaced ARM Templates (while these templates are still the way to drive the ARM under the hood) but the parameter files remained in JSON format. This has now changed, the .bicepparam file now allows you to write and specify your parameters in a bicep format. Love it.

Azure Container Apps Jobs

Azure Container Apps is a fairly new service, but it is maturing at blaring speed. The product team puts in a lot of effort to get more and more features. One of these major features in my opinion is Azure Container Apps Jobs. The feature does exactly what you'd expect by its name, execute a job. Azure Container Apps Jobs is now in public preview and I gave it a spin.

C# Dev Kit Extension for VS Code

Do you like VS Code for code editing? Do you recognize that feeling that VS Code is just not for you because it is not convenient enough working with your C# project? You are just like me! I really like VS Code for editing tons of file types, but just not my C# projects because VS Code lacks that last bit of convenience working in a solution. The C# Dev Kit may change your take on this, it did change mine...

Azure DNS Private Resolver

Azure DNS Private Resolver is a feature within Azure DNS that allows you to host and resolve domain names privately within your virtual network. By creating a private DNS zone and associating it with your virtual network, you can manage DNS records and use fully qualified domain names (FQDNs) to access resources within the network. The Azure DNS Private Resolver ensures secure and internal name resolution without relying on the public internet, providing privacy and security for your virtual network resources.

Going passwordless with Azure SQL

Going passwordless is a thing. Where we would use a connection string or a username and password in the past, we now like to eliminate these secrets and try to connect to (cloud) resources using identities. In the case of the Azure cloud, System Assigned or User Assigned identities. While for the majority of services, it is pretty straightforward to work passwordless, for some resources it may be a little bit more of a challenge.

Create Custom Vm Images Using Packer

This post takes it up a notch by automating the VM Image build process making use of Packer. Read this post to see the full deployment script and Azure DevOps pipeline to get build custom VM Images yourself in no-time.

Creating custom VM Images for Azure DevOps Scale Set Agents

Azure DevOps Scale Set Agents is a sophisticated Agent Pool that you can add to your Azure DevOps project in order to automatically scale pipeline agents depending on the demand in pipeline jobs. One of the downsides is that the image the Scale Set uses to spin up VM's, may not have the appropriate tools to run your pipeline. This forces you to install those tools when the pipeline is running. A time-consuming and unnecessary exercise. In this blog, I explain why, and how you can reduce the amount of time your pipelines run.

Configuration Validation

Configuration can be challenging in ASP.NET. There can be multiple sources and it may be a challenge to predict exactly what configuration values your system works with. Especially when this system runs in a (cloud)production environment that cannot be accessed easily. Adding validation to your configuration may help you get your system up and running in a healthy state, or at least provide you with some meaningful errors when your configuration contains errors.

Infrastructure as Code With Github Actions

This post is about deploying a web app (in this example an Azure Functions app) to Microsoft Azure with GitHub Actions. The resources are deployed using infrastructure as code. Once done, the GitHub action workflow will deploy the function app.