.Net Aspire And Genai Develop Distributed Architectures
Published 2/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.51 GB | Duration: 5h 40m
Published 2/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.51 GB | Duration: 5h 40m
Develop AI-Powered Distributed Architecture w/ PostgreSQL, Redis, RabbitMQ, Keycloak, Ollama, VectorDB using .NET Aspire
What you'll learn
Develop AI-Powered Distributed Architectures using .NET Aspire and GenAI
Cloud-Native Distributed Architectures
.NET Aspire Framework for Cloud-Native Distributed App Development
Building EShop Distributed Microservices Architecture with .NET Aspire
Messaging and Event-Driven Patterns with RabbitMQ
Develop Catalog Microservice with PostgreSQL orchestrate in .NET Aspire
Develop Basket Microservice with Redis orchestrate in .NET Aspire
Sync Communications between Catalog-Basket w/ .NET Aspire Service Discovery
Async Communications w/ RabbitMQ & MassTransit orchestrate .NET Aspire
Secure Basket with Keycloak Authentication orchestrate .NET Aspire
Develop Client Blazor Web Application
Azure Container Apps
Deploy EShop Aspire project to Azure Container Apps
.NET GenAI with Microsoft Extensions AI and Semantic Kernel
Requirements
Basics of C# and Programming
Description
In this course, we are designing and implementing cloud-native distributed architectures using the .NET Aspire framework, while integrating Generative AI capabilities (GenAI) through Microsoft-Extensions-AI and Semantic Kernel.From microservices fundamentals to advanced AI-driven features, you’ll gain hands-on experience architecting an E-Shop system where Catalog and Basket microservices work in tandem using PostgreSQL, Redis, and RabbitMQ for messaging. You’ll also discover how to incorporate intelligent features such as Q&A chatbots and semantic product search, powered by Ollama’s Llama/Phi models and RAG (Retrieval-Augmented Generation) flows.Throughout the course, you’ll learn:Cloud-Native Distributed Architecture EssentialsDive into microservices architecture, containerization, and the Twelve-Factor App methodology.Learn best practices for resiliency, scalability, and DevOps workflows..NET Aspire Framework for Cloud-Native DevelopmentUnderstand how .NET Aspire simplifies building distributed services.Set up new projects, manage configurations, and apply cross-cutting concerns like logging and observability.Catalog Microservice with PostgreSQL and RabbitMQ:Store and manage product data in PostgreSQL.Publish integration events (e.g., ProductPriceChanged) to RabbitMQ.Basket Microservice with Redis:Maintain fast, session-based data using Redis.Syncs with the Catalog service when adding items to the basket.Consume integration events from RabbitMQ to keep basket prices in sync.Secure basket endpoints with Keycloak using JWT Bearer token.Messaging and Event-Driven Patterns with RabbitMQExplore publish/subscribe patterns, exchanges, routing keys, and best practices for handling retries.Implement robust error handling and ensure reliable event-driven communication across microservices.Deployment, Security, and ObservabilityContainerize microservices and deploy them to Azure Container Apps using the azd up and azd down commands.Follow .NET Aspire’s project structure for streamlined CI/CD workflows.Introduction to .NET GenAI with Semantic KernelDiscover the foundations of Generative AI and large language models (LLMs).Integrate Microsoft-Extensions-AI and Semantic Kernel to power advanced AI functionalities.Ollama, Llama, and Phi Models SetupInstall and configure Ollama locally or via containers.Run Llama or Phi models for inference directly within your .NET microservices.GenAI Use Cases in E-ShopCustomer Support Q&A Chatbot:Leverage semantic kernel and prompt engineering for context-aware Q&A.Integrate Ollama to deliver real-time responses to users’ questions.Product Semantic Search with Vector Store (RAG Flow):Generate embeddings for product data using Ollama’s All-MiniLM model.Use a vector database to retrieve, rank, and deliver personalized product recommendations.By the end of this course, you’ll have built a fully functional, AI-powered E-Shop platform that demonstrates the power of event-driven microservices coupled with .NET Aspire and GenAI
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Prerequisites, Source Code and Course Slides
Lecture 3 Course Project: EShop Microservices with AI-Powered Capabilities using LLMs
Section 2: What is Cloud-Native Distributed Architectures ?
Lecture 4 What is Cloud-Native Distributed Architectures ?
Lecture 5 Backing Services for Cloud-Native Architectures
Lecture 6 Using LLMs and VectorDBs as Cloud-Native Backing Services in Microservices
Section 3: .NET Aspire - Distributed App Development Framework
Lecture 7 What is .NET Aspire ?
Lecture 8 .NET Aspire Core Concepts: Orchestration, Integrations and Service Discovery
Lecture 9 .NET Aspire Orchestration - Automate Container Management
Lecture 10 .NET Aspire Integration - Built-in Connectors
Lecture 11 .NET Aspire Service Discovery - Finding Each Other
Section 4: Building Your First .NET Aspire Application
Lecture 12 Start the .NET Aspire Project for Redis-Api-Frontend Architecture
Lecture 13 Run Aspire App and Explore the .NET Aspire dashboard
Lecture 14 Understanding .NET Aspire Project Organization
Lecture 15 Examine .NET Aspire Host Project
Lecture 16 Examine .NET Aspire Service Defaults Project
Lecture 17 Managing Inter-Service Communication with .NET Aspire
Lecture 18 Adding .NET Aspire to Existing .NET Applications
Section 5: Building EShop Distributed Microservices Architecture with .NET Aspire
Lecture 19 Introduction-EShop Distributed Microservices Architecture with .NET Aspire
Lecture 20 Create New Blank Solution and Organize Solution Folder Structure
Lecture 21 Create .NET Aspire Projects: AppHost (Orchestrator), ServiceDefaults(Shared)
Lecture 22 Step by Step Development Plan for Building EShop Distributed Architecture
Section 6: Develop Catalog Microservice with PostgreSQL orchestrate in .NET Aspire
Lecture 23 Introduction - Catalog Microservice with PostgreSQL
Lecture 24 Domain Analysis of Catalog Microservice: Models, UCs, Rest Apis, Databases
Lecture 25 Technical Analysis of Catalog Microservice: Architectures, Patterns, Libraries
Lecture 26 Create Catalog Microservice Web API and Add .NET Aspire Orchestration
Lecture 27 Develop Product Domain Entity Models in Catalog Microservice Domain Models
Lecture 28 .NET Aspire Hosting(Orchestrator) and Client(Connect Resource) Integrations
Lecture 29 Catalog Hosting Integration: Add PostgreSQL Resource in AppHost
Lecture 30 Catalog Client Integration: Connect PostgreSQL DB in Microservice
Lecture 31 Develop and Inject EF Core ProductDbContext.cs in Data Layer of Catalog ms
Lecture 32 Create EF Core Migrations for ProductDbContext
Lecture 33 Auto-Migrate EF Core when App Startup with Extention methods
Lecture 34 TEST - Catalog Auto-Migration when App Startup
Lecture 35 Catalog Application Use Case Development
Lecture 36 Develop Products UpdateProduct and DeleteProduct using ProductDbContext
Lecture 37 Develop Product Queries using ProductDbContext
Lecture 38 Register ProductService class into Catalog-Program.cs Asp.net DI
Lecture 39 Develop Catalog API Endpoints with ASP.NET Minimal APIs
Lecture 40 Register Endpoints into Program.cs
Lecture 41 Test Catalog Microservice Endpoints
Section 7: Develop Basket Microservice with Redis orchestrate in .NET Aspire
Lecture 42 Introduction - Basket Microservice with Redis
Lecture 43 Domain and Technical Analysis of Basket Microservice
Lecture 44 Create Basket Microservice Web API and Add .NET Aspire Orchestration
Lecture 45 Develop SC Domain Entity Models in Basket Microservice Domain Models
Lecture 46 Basket Hosting Integration: Add Redis Resource in AppHost as a Distributed Cache
Lecture 47 Basket Client Integration: Connect Redis Cache in Microservice
Lecture 48 Develop BasketService class with injecting IDistributedCache
Lecture 49 Develop Basket API Endpoints with ASP.NET Minimal APIs
Lecture 50 Register Basket Endpoints into Program.cs
Lecture 51 Test Basket Microservice Endpoints
Section 8: Sync Communications between Catalog-Basket w/ .NET Aspire Service Discovery
Lecture 52 Introduction - Sync Communications between Catalog-Basket Microservice
Lecture 53 Sync Communications Use Case: When Update Basket, Get Latest Product Prices
Lecture 54 Add WithReference(catalog) into Basket for Service Discovery
Lecture 55 Develop CatalogApiClient fro Sync Http Communication
Lecture 56 Register CatalogApiClient in Basket Microservice
Lecture 57 Integrate w/ Catalog into BasketService.cs using CatalogApiClient
Lecture 58 Test Update Basket Sync Call to Catalog to Get Product Data
Section 9: Async Communications w/ RabbitMQ & MassTransit orchestrate .NET Aspire
Lecture 59 Introduction - Async Communications w/ RabbitMQ & MassTransit
Lecture 60 Async Communications Use Case: When Update Product Price, Async update Cart
Lecture 61 RabbitMQ Hosting Integration .NET Aspire
Lecture 62 Create Shared Messaging Folders and Classes for ProductPriceChangedIntegration
Lecture 63 Develop MassTransit Extention Methods to Register RabbitMQ connection
Lecture 64 Register MassTransit Packages into Catalog and Basket DI in Program.cs file
Lecture 65 Add Aspire Trace For MassTransit Operations
Lecture 66 Catalog ms Publish ProductPriceChanged Integration Event
Lecture 67 Basket Subscribe and consume ProductPriceChanged Integration Event
Lecture 68 Test Async RabbitMQ Communication w/ Aspire
Section 10: Secure Basket with Keycloak Authentication orchestrate .NET Aspire
Lecture 69 Introduction- Secure Basket with Keycloak Authentication orchestrate .NET Aspire
Lecture 70 Keycloak Identity and Access Management
Lecture 71 Keycloak Hosting Integration .NET Aspire
Lecture 72 Create Realm, User and Client for OpenID Connect with Keycloak Identity Provider
Lecture 73 Keycloak Client Integration - Secure Basket ms endpoints w/ .Net Aspire
Lecture 74 Test Secured Basket Endpoints w/ Keycloak Jwt Tokens
Section 11: Develop Client Blazor Web Application
Lecture 75 Introduction - Develop Client Blazor Web Application
Lecture 76 Create Blazor Web Application orchestrate .NET Aspire
Lecture 77 Client WebApp integrate to Catalog w/ CatalogApiClient.cs
Lecture 78 Register CatalogApiClient with Aspire integrations for Service Discovery
Lecture 79 WebApp Product Page Development
Lecture 80 Testing the Products Page
Lecture 81 Output Caching for Products Page
Lecture 82 Apply and Test Output Cache to the Products Page
Section 12: Deploy EShop Aspire project to Azure Container Apps
Lecture 83 Introduction - Deploy EShop Aspire project to Azure Container Apps
Lecture 84 What is ACA - Azure Container Apps ? How to Deploy ?
Lecture 85 Data volumes don't work on ACA
Lecture 86 Deploy .NET Aspire App with azd commands to ACA
Lecture 87 Test Successful Deployment to ACA
Lecture 88 Clean-up Azure Resources - DONT FORGET azd down
All Levels of .NET Developers who is curious about .NET Aspire and GenAI