These are great goals, and the intent is still valid. However, this factor does go into implementation details of using stdout to push logs, and this is where I think we've evolved as an industry.
Parsing Azure Resource Id’s with the ResourceIdentifier class
I've been working with Azure Diagnositc logs recently, and part of the data that comes out of them is something azure calls a "ResourceId". This is used to uniquely identify the resource in Azure. It's a slash separated value that includes a hierarchal list of values.
Adding Azure Attributes to OpenTelemetry Spans
When you're working with Azure Functions, or AppService (including ContainerApps) there are a number of Environment Variables that can be really interesting to use for debugging your production apps. These are pretty easy to add to OpenTelemetry.
Removing Static File traces from ASP.NET Core
Lucky for us, with .NET Core, Microsoft have added extension points everywhere. On such extension point is in StaticFileOptions.
Adding Code Tags to Your OpenTelemetry Spans
On their own, code attributes will give you information about the code that produced the data. This, in and of itself, is useful. These are pretty generic and obviously built to be language-agnostic.
Evil Monkeypatching in C# with Rosyln Source Generators
I came across this as I was trying to find a way to add a shim onto a sealed class from the Microsoft BCL. The goal was to provide a package that allowed people using that class to get a wrapper very easy without having to change their code.
Authenticating with AWS API Gateway with IAM credentials using Javascript and Node
Unfortunately, having server-side code call the AWS API Gateway isn't that easy. It requires signing of requests, and the AWS SDK's don't make that easy to access.
Estimates are not metrics
This post has been inspired by the countless arguments conversations I have with my good friend David Whitney who has produced his own post about estimation that should also read: https://www.davidwhitney.co.uk/Blog/2021/02/10/agile_software_estimation_for_everyone Estimation is an intrinsic part of software development, it is however, used wrongly in my opinion. Within a small iteration of a development team,... Continue Reading →
Deploying .NET 5 Azure functions with Pulumi and GitHub Actions
In this post I'll show you how to deploy the .NET 5 "Out of process" azure functions using Pulumi. We'll be using a GitHub action to build the code, which will also create the infrastructure too, then deploy the function to that infrastructure. In this example, we'll be using a Azure Blob Storage to store the state of our Pulumi stack.
Grafana On Azure – AzureAD Authentication
In this post, we'll be looking at adding Azure Active Directory (AzureAD) support to a Grafana instance. This is what I would advise if you're hosting on Azure as you're already likely to have all of your potential Grafana users setup in Active Directory, and either this is AzureAD native, or you have passwords sync'd with a standard Active Directory instance.