Terraform Modules for AWS: A Practical Guide for .NET Developers
Learn a simple, repeatable way to structure and build Terraform modules on AWS so your .NET services stay consistent, secure, and easy to reuse.
Deep dives into .NET, AWS, Docker & Modern Architecture
Showing 37-48 of 136 articles
Learn a simple, repeatable way to structure and build Terraform modules on AWS so your .NET services stay consistent, secure, and easy to reuse.
In this hands-on guide, we'll use .NET Aspire 13, DynamoDB Local, and .NET 10 minimal APIs to build a full CRUD Web API against DynamoDB - without ever touching an AWS account. Then we'll see how to flip a small configuration switch to point the same code to real DynamoDB in AWS.
In this hands-on guide, we will use .NET Aspire 13 and the latest .NET 10 SDK to build a cloud-ready notifications system that talks to real AWS services like DynamoDB, SNS, and SQS, while keeping the entire local development experience orchestrated from a single Aspire app host.
Learn how to use ProblemDetails in ASP.NET Core to standardize error responses in your Web APIs. Understand default behavior, customization, exception handling, and best practices for building consistent, developer-friendly APIs.
Learn how to automate the deployment of your .NET applications to AWS App Runner using Terraform. This guide covers infrastructure-as-code setup, CI/CD integration, and practical tips to streamline your cloud deployments.
Learn how to extract text from PDF documents using AWS Textract and .NET-based AWS Lambda functions. This guide walks .NET developers through building a serverless OCR pipeline using S3 triggers, Textract integration, and real-world implementation tips for handling document processing in the cloud.
Learn how to efficiently upload large files in ASP.NET Core using Amazon S3's multipart upload feature and pre-signed URLs. This hands-on guide walks you through building a scalable, client-driven upload workflow using a .NET 9 Web API and a Blazor WebAssembly frontend. You'll learn how to generate pre-signed URLs, handle file chunking, perform parallel uploads, and finalize the upload with minimal server load. Ideal for developers looking to offload file handling to S3 while maintaining full control from a .NET-based stack.
Learn how to build scalable, fault-tolerant serverless workflows using AWS Step Functions and .NET Lambda functions. This guide is tailored for .NET developers who want to move beyond simple Lambda functions and orchestrate complex workflows with retries, parallel executions, and state management. We’ll cover the basics of Step Functions, how they integrate with .NET Lambda projects, real-world architecture examples, setup instructions, error handling, and when to avoid using them.
Learn how to build a fully serverless, production-ready image processing pipeline on AWS using .NET. This guide walks through uploading images via a minimal .NET 9 Web API, triggering S3 event notifications to an SQS queue, and processing those events in a Lambda function using ImageSharp. You'll learn how to resize images into optimized thumbnails, upload them to an output S3 bucket, and monitor the workflow using CloudWatch. The architecture is event-driven, scalable, and cost-efficient - ideal for modern applications handling user-generated content.
Scrutor is a lightweight, open-source library that extends .NET’s built-in Dependency Injection with powerful assembly scanning features. In this article, you’ll learn how to use Scrutor to automatically register services by convention - based on interface names, lifetimes, or attributes. We’ll walk through real-world examples like scanning entire assemblies, registering services with custom logic, and cleaning up your DI setup for maintainability and scalability.
Keyed Services in .NET 8 make it easier to work with multiple implementations of the same interface. Instead of writing custom factories or using service locators, you can now register and resolve services by a simple key. This makes your code cleaner, easier to manage, and more flexible. In this article, you’ll learn what Keyed Services are, how to use them in real-world scenarios, and when to apply them in your projects.
Service lifetimes - Transient, Scoped, and Singleton - are a core part of Dependency Injection in .NET. Understanding how they work is critical to designing reliable, performant, and bug-free applications. In this guide, we’ll break down each lifetime, how they behave in ASP.NET Core apps, and when to use them. You’ll see real-world examples, learn the impact of each lifetime on memory and object sharing, and avoid common DI mistakes like capturing Scoped services in Singletons.