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 →
EntityFramework and Postgres (.NET 4.0)
So I've been attempted to get EntityFramework to play nice with Postgres for a site I'm creating. A little history, I created the site initially for myself and a small group to use so I used MVC3, postgres, Mono and other tools that were... "funky". As there was no real deadline, uptime SLAs etc. it... Continue Reading →