Building Distributed Applications with Containers and Aspire

3 days
udis
3 days

Upcoming Sessions

Date: currently not scheduled

Format: Classroom

Price: 1450€


Date: currently not scheduled

Format: Remote Classroom

Price: 1300€


Subscribe to waiting list

Date: currently not scheduled

Format: Classroom

Price: 1450€


Date: currently not scheduled

Format: Remote Classroom

Price: 1300€


Subscribe to waiting list

Interested in a private company training? Request it here.

Introduction to Distributed Applications

As your application matures, you might encounter some growing pains, this is a good sign you might want to step away from a monolithic approach. Distributed applications leverage the power of multiple computing resources to provide a more robust, scalable, and efficient system.

  • Application Architecture Throughout the Years
  • Containers: The Gateway to Distributed Applications
  • Strengths and Challenges in Modern Application Architecture
  • Aspire to the Rescue

Containers

What is this Container-thing developers are talking about? And why should you use it? In this module you will get an overview of what containers are, and how to use them on Windows and Linux.

  • Why Containers?
  • Containers vs Virtual Machines
  • Linux and Windows Containers
  • Container Orchestration Options

Docker

A container needs to be hosted and run on a container runtime. Several options are available like Podman, containerD, ... In this course, our emphasis will be on the most widely used one: Docker. You will learn how to create, run, and scale containers using Docker.

  • Running Docker
  • Containers, Images and Registries
  • Building an Image
  • Port Mapping and Volumes
  • Container Orchestration with Docker Compose
  • LAB: Simple Node.js in Docker

Containerizing ASP.NET Core Apps

Now that you understand what a container is, the next question is: how do you package your applications into containers? In this module, you'll learn how to Dockerize your ASP.NET applications, and how to run and debug them.

  • Official .NET Docker Images
  • Containerizing Dependencies
  • Tools
  • LAB: File Uploader

Building Distributed Applications with Aspire

Aspire is designed to simplify the development of distributed, observable, and production-ready applications using .NET. It provides a set of tools, libraries, and templates that streamline the process of building applications, particularly those that are cloud-native, meaning they are optimized to run in cloud environments.

  • Orchestration in C# with AppHost
  • Aspire Dashboard: Get the Best Developer Experience you can, for Free!
  • Aspire CLI
  • Connecting Your Projects to each other with Service Discovery
  • Should your Development Environment really try to mimic your Production Environment?
  • LAB: Building a Distributed Application with Aspire

Enhancing your Application with Pluggable Integrations

Now that you know how Aspire can tie the parts of your application together, why not add some useful resources like a cache, a database, or basically any container you want?

  • What are Aspire Integrations?
  • Commonly Used Integrations: Caching, Messaging, Storage,...
  • Hosting and Consuming Integrations
  • Configuring Integrations
  • LAB: Adding existing Integrations to your Application

Synchronous Communication

In this module, you will learn how to make synchronous communication more reliable by using a number of patterns.

  • Problems with Direct Communication
  • Rate Limiting
  • Total and Attempt Timeouts
  • Retry
  • Circuit Breaker
  • Sidecar Pattern
  • LAB: Customizing HttpClient resilience handlers

Asynchronous Communication

In this module, you will learn what event-based communication is and when to use it.

  • Communication Patterns
  • Event-Based Communication
  • Event Bus
  • Integration Events
  • Eventual Consistency
  • LAB: Eventual Consistency with Service Bus

Deployment of Containerized Apps

Modern cloud deployment relies on a "build once, run anywhere" philosophy. This chapter covers the essential tools for taking containers to production: from storing versioned images in Azure Container Registry to deploying them across diverse hosting environments. We explore how to use the .NET Aspire manifest to generate deployment-ready configurations while introducing the services that power your live applications, such as Azure Container Apps and Kubernetes.

  • Image Management in Container Registries
  • Deployment Options: ACA, ACI, and Kubernetes
  • Leveraging the .NET Aspire Manifest
  • Continuous Integration and Delivery (CI/CD)
  • LAB: Deploying to Azure Container Instances

Modern applications are inherently distributed, ranging from monoliths communicating with a message queue or database to complex microservices. This course demonstrates how Aspire and containers revolutionize the local workflow by emulating dependencies directly on the developer's machine, eliminating manual setup and reducing developer onboarding from days to minutes.

Additionally, participants will learn to orchestrate multi-project solutions using the Aspire AppHost, applying service discovery, robust resilience patterns and asynchronous communication strategies. Finally, participants will learn how to streamline deployment to production environments like Azure Container Apps and Kubernetes through the Aspire CLI and Manifest.

This course is designed for experienced .NET developers and software architects who are looking to modernize their skillset.

It is ideal for developers who want to master the complexities of containerization and cloud-native patterns without getting bogged down in infrastructure boilerplate.

Contact Us
  • Address:
    U2U nv/sa
    Z.1. Researchpark 110
    1731 Zellik (Brussels)
    BELGIUM
  • Phone: +32 2 466 00 16
  • Email: info@u2u.be
  • Monday - Friday: 9:00 - 17:00
    Saturday - Sunday: Closed
Say Hi
© 2026 U2U All rights reserved.