profile

The .NET Saturday

Join 16,000+ subscribers for actionable .NET, C#, Azure and DevOps tips. Upgrade your skills in less than 5 mins every week.

Featured Post

The Pillars of Observability

The Pillars of Observability After completing the Game Store application, the last week was all about scripting the first few modules of the upcoming .NET Cloud Developer Bootcamp, which essentially means creating a detailed Word document for each lesson, describing exactly how that lesson should go. I don't know how many content creators do this, since it's a long (and sometimes tedious) process, but I find it essential to make sure each concept and technique is introduced at exactly the...

DevOps: Part 2 It's done! A couple of days ago I finally completed the Game Store system, the distributed .NET Web application that will drive the upcoming .NET Cloud Developer Bootcamp (Is that a good name? Let me know!). I'm amazed by how much the tech has advanced in the .NET and Azure world in the last few years. There's so much going on in this field that I have no idea how folks are solving today's chaotic puzzle to learn cloud development with .NET. I was lucky enough to enter the .NET...

DevOps: Part 1 Wow, getting the Game Store web application deployed to Azure via Azure DevOps was one of the most challenging things I've done so far as part of the .NET Developer Bootcamp project. But, somehow it all worked out, and the end result is really nice. The complexity came from me trying to fit both the Azure infra deployment and the CI/CD process into the .NET Aspire model, which is only poorly supported at this time. But, having worked on dozens of Azure deployments and CI/CD...

Adding Integration Tests This week has been all about integration testing and Azure DevOps for me. The good thing is that all integration tests for all microservices in the Game Store application are 100% passing both in my box and in Azure Pipelines. The bad thing is that I currently have no idea how to get a .NET Aspire based microservices system properly deployed via Azure Pipelines. Aspire wants to deploy the entire thing from one solution, which is not how we do things with...

Enable those health checks It's back to school season and my family has been quite busy adjusting to the regular drop-off/pick-up schedule. As my youngest starts kindergarten, my oldest enters high school, and the wife goes back to work, things will get very quiet in my home office, which will be great to start recording videos :) But, since we only have one car, and 2 out of 3 kids didn't get a school bus (because 1.3 miles is too close to school?), I might end up doing a lot of driving,...

To The Cloud And Beyond! Last week my son and I joined several other families on our first Cub Scout camping trip. It was a great father/son experience even when we were hit by a record rainfall very unusual for this time of the year. The camp was not too far from home, but it required a lot of preparation and was remote enough that I was not able to send the weekly newsletter, which was sad since I had a lot to share. In any case, we came back on Sunday, and by Wednesday I had successfully...

Kafka, Azure Event Hubs, and Keyed Services The .NET Saturday is brought to you by: Boost your .NET development with dotConnect for MySQL. Join Devart’s Birthday sale to get 20% OFF. Promo code HBD2024 The Paris 2024 Olympic Games are over and I had a great time watching that epic closing ceremony with the family. If you have not watched it, you should at least check out the epic handoff of the Olympic flag by Tom Cruise. If you got last week's newsletter, where I covered Entra ID, here is...

Dealing with Entra ID Wow, Entra ID has to be the most challenging identity provider to configure. I just finished integrating it into the .NET Bootcamp's Game Store application and I must admit it was not easy. This is quite surprising since Microsoft builds Entra ID (previously known as Azure AD) and, as opposed to other providers like Keycloak, offers first-class support to interact with it from .NET applications. Maybe I'm too used to simpler OIDC (OpenID Connect) implementations, like...

Enter The API Gateway This week my family and I were supposed to be enjoying our summer vacations in sunny Chelan, WA, where this time of the year you can enjoy the not-so-cold waters of beautiful Lake Chelan. It's the closest you can get to a beach vacation around here. Sadly, as it usually happens on that side of the mountain when it gets too hot, a bunch of wild fires started on the north side of the lake (and all around east Washington State), bringing smoke and bad air quality. So we...

Events, events, events! This was both a challenging and a bit frustrating week as was trying to wrap my head around the right way to introduce event-carried state transfer via Kafka into the Game Store application I'm preparing for the upcoming .NET Developer Bootcamp. I have already done this via RabbitMQ and Azure Service Bus in my microservices program, but there are limitations that I was hoping Kafka could help address to take things to the next level in this new bootcamp. So today I'll...