๐ .NET & GRPC What they forgot to tell you - More practical advice than just "How to do HelloWorld".
๐ Performance best practices with gRPC
๐ dotnet-monitor - Expose diagnostics via REST API
๐ ASP.NET Core Apps Observability - Logging, metrics, tracing
๐ .NET Core Web API Metrics with Prometheus and Grafana
๐ Improvements in .NET Core 3.0 for troubleshooting and monitoring distributed apps
๐ Building End-to-End Diagnostics and Tracing - How to implement Open Telemetry
๐ Increasing Trace Cardinality with Activity Tags and Baggage
๐ฅ .NET, Open Telemetry & Prometheus - Twitter thread by David Fowler with tips on how to use OpenTelemetry with .NET and how to setup an exporter for Prometheus. How to setup monitoring for internals like Thread pool, GC, etc.
๐ 6 Best Practices to Keep a .NET Applicationโs Memory Healthy - Basic information about garbage collection and memory usage.
๐ Introduction to Benchmarking in C# and ASP.NET Core Projects - Introduction to BenchmarkDotNet
๐ Performance Tuning for .NET Core - A list of things to consider when every nanosecond counts.
๐ณ Prevent the "cache stampede" problem - David Fowler: "GetOrAddAsync ensures the operation will only be performed once, and others will wait on that operation to complete. This prevents the classic "cache stampede" problem."
๐งต Part 2 - Here's some code that is on the hot path on your application and you want to optimize it - David Fowler explaining how a string finding/splitting problem can be tackled to reduce allocations and optimize performance.
๐ Tales from the .NET Migration Trenches - Jimmy Bogard - A series of posts of a migration from .NET Framework to .NET 6.
Kestrel stops serving https (http2) requests after reboot under load - Great thread with tips on debugging locks, dotnet counters, traces, etc
๐ .NET Memory Performance Analysis - Really extensive document on memory, garbage collection, perfview, etc.
๐ Find, Fix, and Avoid Memory Leaks in C# .NET: 8 Best Practices
๐ 8 Ways You can Cause Memory Leaks in .NET
๐ Debugging .NET Core memory issues (on Linux) with dotnet dump
[๐ Debug a deadlock in .NET Core])(https://learn.microsoft.com/en-us/dotnet/core/diagnostics/debug-deadlock?tabs=windows)
๐ What diagnostic tools are available in .NET Core?
๐ Memory Management and Patterns in ASP.NET Core - A text about how memory management works on ASP.NET Core, and the difference between sever and workstation GC.
๐ Pattern: Backends For Frontends
๐ Refactoring guru - Refactoring.Guru makes it easy for you to discover everything you need to know about refactoring, design patterns, SOLID principles, and other smart programming topics.
๐ ASP.NET Core Community Standup Securing APIs - A readme by Damien Bowden on different ways of securing an API.
๐ Stop overloading JWTs with permission claims - Explains that it's not good to put permission claims in the JWT token, but doesn't really offer a better alternative.
๐ฅ Auth for Todo application - David Fowler adding authentication to his sample Todo application
๐ Delegation Patterns for OAuth 2.0 using Token Exchange - How to delegate an authenticated user to another API, behind a gateway for example.
๐ Proof of Concept for an Auth Gateway for SPA using YARP - Cookie auth between client and server (BFF/Gateway using YARP). The server holds tokens to downstream API:s. Client noes nothing of tokens.
๐ GDPR for busy developers - Article by Oskar Dudycz anout the general practices around data governance, like segregation, data recency, and privacy by default.
๐งโ๐ซ Authorization Academy - A series of technical guides for building application authorization. A course on how to think about authorization.
๐ Building a Critter Stack Application: Marten as Event Store
๐ Azure SaaS Dev Kit - A template and best practices for building multitenant SaaS applications on Azure.
๐ง The monolith vs microservices debate
๐ง Sam Newman: Monolith to Microservices
๐ Azure Application Gateway for dummies
๐ .NET Client for Docker Remote API
๐ Run more stuff in Docker - Use Docker and aliases instead of installing a lot of different cli tools.
๐ง Ingress and the Service APIs
๐ Series: Deploying ASP.NET Core applications to Kubernetes - Good series of posts On Kubernetes basics by Andrew Lock.
๐ Scaling SignalR Core Web Applications With Kubernetes
๐ Use Terraform to Create and Manage a HA AKS Kubernetes Cluster in Azure
๐ Monitoring Health of .NET Core Background Services with TCP Probes on Kubernetes
๐ Managing Helm releases the GitOps way
๐ A visual guide on troubleshooting Kubernetes deployments - Hands on tips on how to find out what's wrong with your deployments
๐ How to debug Kubernetes Pending pods and scheduling failures
๐ How to rightsize the Kubernetes resource limits - Prometheus queries to help find and plan resource limits.
๐ Exploring Kubernetes Operator Pattern - Mostly about CRDs and the kubernetes API.
๐ For the Love of God, Stop Using CPU Limits on Kubernetes - A post about why you shouldn't set CPU limits on pods.
๐ Push-based Outbox Pattern with Postgres Logical Replication
๐ The Log: What every software engineer should know about real-time data's unifying abstraction
๐ Comparing Apache Kafka, Amazon Kinesis, Microsoft Event Hubs and Google Pub/Sub - A bit old, so might not be exact, but a nice overview.
๐ In depth guide to running Elasticsearch in production
๐ SQL index on hash attributes in Redis - Exaplains different techniques for setting up a secondary index on Redis.
๐ Create a Kubernetes cluster with Azure Kubernetes Service using Terraform
๐ Deploying Terraform Infrastructure using Azure DevOps Pipelines Step by Step
๐ How to drop and delete metrics in Prometheus
๐ Apache Kafka Consumer Lag Monitoring
๐ณ .NET OpenTelemtry monitoring - A Twitter thread on how to setup OpenTelemetry with ASP.NET Core. Tips on dashboards, exporters, metrics and other stuff linked in the comments.
๐ Grafana Agent Flow - Grafana Agent is a telemetry collector, optimized for the Grafana LGTM (Loki, Grafana, Tempo, Mimir) stack. Flow aims to allow new users to easily set up, inspect, and iterate on their observability pipelines, and allow power users to combine components in novel ways, enabling them to achieve complex workflows without the need for dedicated Agent features.
๐ง Stefan Prodan on Progressive Delivery, Flagger, and GitOps
๐ฎ Pacco - Full Microservice example using Prometheus, Grafana, Jaeger, etc...
๐ draw.io - Draw charts and architecture diagrams
๐ง Challenges of distributed messaging systems - Talking about NATS. Fully distributed fast messaging system.
๐ Online migrations at scale
๐ An Introduction to JQ - Covers the basics of JQ
๐ How we automatized our release process into just 3 clicks - Examples of GitHub Actions to automate creating PRs and merging between branches.
๐ณ Life is to short to use dated cli tools that suck - Try these instead. A list of alternative (improved) cli tools to use instead of cat, ls, diff, etc.
๐จโ๐ป Modern Unix - A collection of modern CLI tools for Unix systems.
๐ The Delivery Hero Reliability Manifesto
๐ Basic Network Troubleshooting
๐
๐ Working with stacked branches in Git is easier with --update-refs
๐โโ๏ธ SQL scripts migration runner
๐ How to start a Go project in 2023
๐ง Generative models: exploration to deployment - A good summary on how to going from choosing a model, to deploying it.
๐ OpenAI Cookbook - A lot of examples for how to use ChatGPT.
๐ LLM for Book Summaries (Comprehensive Bulleted Notes): Walkthrough and Model Rankings - Detailed walkthrough on how to summarize large texts (books) using locally run models.
๐งโโ๏ธ Awesome Prompt Engineering - Hand-curated resources for Prompt Engineering with a focus on Generative Pre-trained Transformer (GPT), ChatGPT, PaLM etc.
๐ Awesome GPT Prompt Engineering - A curated list of awesome resources, tools, and other shiny things for GPT prompt engineering.
โก๏ธ OpenAI: Prompt engineering - A guide with examples, strategies and tactics for getting better results from large language models.
๐งโ๐ป Awesome LLMOps - A curated list of LLMOps tools.
๐งช How to evaluate a summarization task - Evaluate a summarization task using ROUGE, BERTScore or an LLM.