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.
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.
Speed up legacy ASP.NET applications with HttpContext.Items caching
One of the goals of most websites is to return the page for a user within the fastest time possible. Adding caching of frequently accessed data is a really easy way to do this, however, in legacy applications, there can be a lot of context heavy code making it hard to understand what can be... Continue Reading →
Infrastructure Autonomy using DNS Delegation and internal Top Level Domains
In this post we'll talk about using a specific Top Level domain to separate your internal application infrastructure addresses from what you're users see. Further, how to provide team level autonomy to using DNS delegation to provide a predictable naming strategy. The Problem One of the big issues with DNS management is the security elements... Continue Reading →
FaaS are NOT cheaper
This is a little bit of a frustration of mine. I'm hearing this more and more often, as an argument to rewrite into one of those platforms. However, it's simply not true. It's a different pricing model, that has definite benefits in a lot of usecases, but NOT all. To be clear, with the right... Continue Reading →
AWS Loadbalancer Logs and Lambda – Part 3 – .NET Core Parsing
Lambda Log Parsing Series: AWS Loadbalancer Logs and Lambda – Part 1 – Background AWS Loadbalancer Logs and Lambda – Part 2 – AWS Setup AWS Loadbalancer Logs and Lambda - Part 3 - .NET Core Parsing When AWS Lambda started support .NET Core back in December last year, it made the barrier to entry for... Continue Reading →
AWS Loadbalancer Logs and Lambda – Part 2 – AWS Setup
Lambda Log Parsing Series: AWS Loadbalancer Logs and Lambda – Part 1 – Background AWS Loadbalancer Logs and Lambda – Part 2 – AWS Setup AWS Loadbalancer Logs and Lambda – Part 3 – .NET Core Parsing You only need 2 things setup in order to analyze the logs. Elastic Search cluster Load balancer logs... Continue Reading →
AWS Loadbalancer Logs and Lambda – Part 1 – Background
Lambda Log Parsing Series: AWS Loadbalancer Logs and Lambda – Part 1 – Background AWS Loadbalancer Logs and Lambda – Part 2 – AWS Setup AWS Loadbalancer Logs and Lambda – Part 3 – .NET Core Parsing If you're hosting in AWS, you're likely using an EC2 Load balancer (Application or Classic), and if you're running... Continue Reading →
Introducing Grok.NET
What is grok? it's a well established way of parsing, using Regular Expressions, files with single lines (e.g. Log files). Why Create a .NET version? Speed, the ability to use it in AWS Lambda, and because dotnetcore is my preferred language. Syntax Performance? So far, I'm seeing ~0.0002ms for complex patterns sure AWS ELB logs.... Continue Reading →
Inline Functions are Great
So, I've been getting to grips with using Lamda functions instead of creating simple methods that only include one line. The main driver behind this is the fact that I'm trying to make my code readable (using StyleCop has helped with this, and I'm sure I'll blog about that too) so I can tell others... Continue Reading →
