I'm a huge fan of Pulumi and I've had the need to create an AKS cluster recently so thought I'd give it a go with Pulumi. It turns out that adding an Application Gateway isn't the easiest thing to do. What is Application Gateway? Azure Application Gateway is the Layer 7 (HTTP level essentially) load... Continue Reading →
Does OpenTelemetry in .NET Cause Performance Degradation?
Contrary to Betteridge’s Law of Tabloid Headlines, the answer is “yes,” but context is important. I get this question so often that I thought it was time to get some stats on it.
12 Factor Apps and Modern Observability
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 →