Getting Started: Building .NET Applications on AWS

Learn how to build modern .NET Applications using Amazon Web Services features and services for production.

About This Course

Want to run your .NET apps on AWS but not sure where to start? This course has you covered. James Eastham walks you through building real .NET applications on Amazon Web Services, from setting up your infrastructure with AWS CDK to deploying containers, serverless functions, and everything in between. You'll work with the services that matter most: DynamoDB, S3, SQS, SNS, EventBridge, Lambda, and even Amazon Bedrock for AI. James shows you how to wire them up in your C# code and define your infrastructure as code using the CDK. The Lambda section alone is worth it, covering the Annotations Framework, running ASP.NET Core serverless, SnapStart for faster cold starts, and Native AOT for peak performance. Whether you're moving existing .NET apps to AWS or building cloud-native from scratch, this course gives you the practical skills to ship with confidence.

Course Curriculum

5h 7m 10 sections
What will you learn in this course?
01:22 Free preview
Who is the course for and prerequisites
01:35 Free preview
Introduction
03:48
AWS accounts
01:27
AWS organizations
01:09
What is CloudFormation?
01:45
Introduction to the AWS CDK
08:07
Configuring resources in the CDK
01:29
Tagging resources
01:29
Identity & Access Management
04:59
Deploying your first AWS resources
08:45
Introduction to networking on AWS
05:07
Define networking resources in the CDK
06:49
Load balancers
05:44
CloudFormation Outputs
01:29
Sharing parameters between resources
03:51
Section Recap
02:49
Introduction
01:27
AWS services for deploying web apps
05:59
CDK project structure
06:14
Deploy your core resources
02:26
Relational databases on AWS
06:14
Caching on AWS
02:03
Configuring your .NET application
03:44
Structure your application IaC
09:58
Routing traffic to your application
02:57
A look at what’s been deployed
04:33
Service-to-service communication
03:14
What is Amazon Aurora?
03:34
Section recap
04:42
Introduction
00:43
What is Amazon DynamoDB?
02:12
How DynamoDB works
05:38
The importance of designing your access patterns
03:59
Using secondary indexes
02:04
Local development for DynamoDB
04:24
Using the DynamoDB SDK for .NET
06:38
Configure DynamoDB in the CDK
06:36
What are DynamoDB streams?
02:13
DynamoDB recap
01:11
What is Aurora DSQL?
00:48
DSQL limitations
02:00
Querying a DSQL database
01:32
Managing credentials for DSQL
02:50
Define a DSQL cluster in the CDK
02:43
Applying migrations to DSQL
01:27
Section recap
02:22
What is Amazon S3?
01:47
Working with S3
03:21
Using the AWS SDK for S3
03:38
Amazon S3 in action
02:09
S3 pre-signed URLs
03:41
What is Amazon EFS?
02:53
Mount a file system to your container
03:45
Section recap
02:53
Introduction to messaging
00:53
What is Amazon SQS?
04:48
What is Amazon SNS?
05:14
What is Amazon EventBridge?
08:10
What is Amazon Kinesis?
01:19
EventBridge with the AWS CDK
01:49
SQS with the AWS CDK
01:56
SNS with the AWS CDK
01:32
Kinesis with the AWS CDK
00:41
Call SQS from your .NET app
03:10
SNS and EventBridge from your .NET app
01:58
Local development for AWS messaging
08:05
Introduction to AWS Lambda
01:14
How Lambda works
04:58
Lambda invoke models
05:28
Define Lambda functions with the .NET CLI
01:28
Introduction to the Lambda Annotations Framework
02:08
Lambda Annotations in practice
06:56
Package .NET Lambda functions with the CDK
03:52
Networking with Lambda functions
02:25
Permissions for Lambda functions
01:23
Configuration management
02:45
Local development for Lambda with .NET Aspire
03:01
Deploying Lambda functions
04:09
Run ASP.NET on Lambda
03:21
Lambda SnapStart
03:59
Native AOT for high-performance Lambda functions
09:36
Section recap
02:29
Introduction to AI on AWS
00:54
Using Microsoft.Extensions.AI
01:57
Integrate Amazon Bedrock with Microsoft Extensions
02:12
Deploy and Test
03:42
Amazon Bedrock Guardrails
04:28
Section recap
01:10
Conclusion
01:39

Meet Your Instructor

James Eastham

James Eastham

James Eastham is a Serverless Developer Advocate at Datadog and a Microsoft MVP. He has over 10 years of software experience at all layers of the software development process and has spoken at conferences all over the world. He answered phones in front-line support, administered databases, and built SSIS packages, as well as developed cloud-native backends with serverless technologies. He spent time at AWS working with some of the biggest companies on the planet, migrating workloads from data centers into the cloud and modernizing in the process. James produces content on YouTube focused on architecting and building applications with serverless technologies using .NET and Rust. He also has a strong interest in and expertise in event-driven architecture and building more loosely coupled systems.

View all courses by James Eastham

What's New

Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn More
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn More
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn More
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn More
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn More
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn More
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn More
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn More
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn More