Skip to main content

Posts

AWS CloudFormation with C#: Infrastructure as Code Guide

Learn AWS CloudFormation with C# — build, deploy, and automate stacks using the AWS SDK for .NET. Start automating your cloud infrastructure today. AWS CloudFormation is Amazon's native Infrastructure as Code (IaC) service, and if you are a .NET developer who is still clicking through the AWS Management Console to create S3 buckets, DynamoDB tables, and Lambda functions, you are leaving reliability, repeatability, and a great deal of your weekend on the table. In this tutorial you will learn how to use AWS CloudFormation with C# — writing templates, deploying and updating stacks programmatically with the AWS SDK for .NET, and generating templates in strongly typed C# with the AWS CDK. Every example here is runnable on .NET 8 or later. We will focus on the why as much as the how : why declarative infrastructure beats imperative scripts, why change sets exist, why drift detection matters, and which pitfalls reliably bite teams six months into a CloudFormation adoption. What...

GitHub Actions CI/CD for .NET: Build, Test & Deploy Guide

Learn GitHub Actions CI/CD for .NET with a complete YAML workflow to build, test and deploy your app to Azure. Copy the pipeline and ship today. If you are still clicking "Publish" from Visual Studio to get your API into production, you are one tired Friday away from an outage. GitHub Actions .NET pipelines solve that problem: every push builds your solution, runs your tests, and — when the tests pass — ships the artifact to Azure, AWS, or your own server, without a human touching a button. In this tutorial you will build a complete GitHub Actions CI/CD workflow for a .NET 10 application from an empty YAML file to a production deployment with environment approvals, and you will understand why each block exists rather than just copying it. Everything below is runnable. You will need a GitHub repository, a .NET solution with at least one test project, and (for the deployment half) an Azure App Service or any host that accepts a zip deploy. Why GitHub Actions for a .NET ...

C# Span Tutorial: Zero-Allocation Performance Guide

Tutorial: Zero-Allocation Performance Guide" style="width:100%;max-width:800px;border-radius:8px;margin-bottom:20px;" /> Learn C# Span and Memory with runnable examples, benchmarks, and best practices. Start writing zero-allocation, high-performance .NET code today. If you have ever profiled a hot code path in .NET and watched the garbage collector eat 30% of your CPU time, you already understand why C# Span<T> exists. Introduced in .NET Core 2.1 and now central to the entire BCL, Span<T> and its heap-friendly sibling Memory<T> let you slice, parse, and transform contiguous memory without allocating a single byte . This tutorial covers how both types work, when to use each, runnable benchmarks that prove the gains, and the pitfalls that trip up even senior developers. Why C# Span<T> Matters for Performance Optimization Most everyday C# code allocates far more than developers realise. Calling Substring , Split , ToArray , or Skip()...

DevSecOps in 2026: Secure Your CI/CD Pipeline in .NET

Learn how to build a DevSecOps CI/CD pipeline for .NET in 2026 — secret scanning, SAST, SBOMs and runtime hardening. Start securing your builds today. Building a DevSecOps CI/CD pipeline is no longer a "nice to have" for .NET teams — in 2026 it is the baseline expectation of every enterprise security review, every SOC 2 auditor, and increasingly every regulator. The EU Cyber Resilience Act obligations are landing, SLSA provenance is showing up in procurement checklists, and the majority of breaches that hit .NET shops still trace back to the same three things: a leaked credential, an unpatched transitive NuGet package, and a SQL string that someone concatenated at 4:45pm on a Friday. The good news is that the .NET toolchain has quietly become one of the best-instrumented ecosystems for security automation. Roslyn analyzers run inside your compiler. dotnet list package --vulnerable ships in the SDK. SBOM generation is a one-line MSBuild target. This guide walks through...

ASP.NET Core Microservices: Build & Deploy at Scale

Learn ASP.NET Core microservices from scratch — architecture, gRPC, resilience, Docker and Kubernetes deployment. Start building production services today. If you have been searching for a practical guide to ASP.NET Core microservices , you have probably found two extremes: marketing diagrams with boxes and arrows, or 40-file GitHub repos with no explanation. This tutorial sits in the middle. We will design, build and deploy a realistic microservices architecture in .NET 10, and — more importantly — explain why each decision matters when your system grows from three services to thirty. Microservices are not free. They trade in-process method calls (fast, transactional, type-safe) for network calls (slow, unreliable, versioned). You only win that trade when the organisational benefit — independent deployment by independent teams — outweighs the distributed-systems tax. Keep that sentence in mind for the rest of this article. When You Should (and Should Not) Use ASP.NET Core Micro...

How to Hash Passwords in C#: PBKDF2 & bcrypt Guide

Learn password hashing in C# the right way: salting, PBKDF2, bcrypt, and ASP.NET Core Identity, with runnable .NET code and best practices. Read the guide now. If your app stores user passwords, how you store them can decide whether a database breach is a small problem or front-page news. Password hashing in C# is one of the most important security skills a .NET developer can have, and it's also one of the most often done wrong. This guide explains what hashing and salting actually do, why plain SHA-256 isn't good enough, and how to use PBKDF2 , bcrypt , and ASP.NET Core Identity's PasswordHasher correctly. Every example is runnable code for modern .NET (8, 9, and 10). Whether you're a beginner looking up "how to hash a password in C#" or a senior engineer checking your team's approach against current OWASP guidance, you'll find practical, production-ready answers here. Why You Should Never Store Plain-Text or Encrypted Passwords Start with...