Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Advanced Microservices With .Net: Development & Azure Deploy

Posted By: ELK1nG
Advanced Microservices With .Net: Development & Azure Deploy

Advanced Microservices With .Net: Development & Azure Deploy
Published 12/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 16.11 GB | Duration: 37h 24m

.NET Microservices

What you'll learn

Master the core concepts of microservices, including event-driven and synchronous communication.

Learn to work with powerful tools like MassTransit, RabbitMQ (Exchanges & Queues), and Azure Service Bus (Topics & Subscriptions) for seamless messaging.

Implement robust authentication and authorization in microservices, including multi-level permission checks and JWT generation & validation.

Explore advanced design patterns like the Cache-Aside Pattern, CQRS, and Request Validation with MediatR and custom pipeline behaviors.

Build scalable solutions with Ocelot API Gateway for routing and Authorization

Simplify shared logic by creating and managing custom NuGet packages.

Handle critical cross-cutting concerns in microservices.

Implement email notifications using SendGrid and Azure Cache for Redis for api performance.

Apply clean architecture principles for maintainable, and scalable solutions.

Create professional Postman collections & scripts and document APIs with SwaggerUI.

Automate workflows with Azure DevOps, including CI/CD pipelines, Artifacts, and Releases.

Deploy microservices to Azure Web Apps and configure App Service Environment Variables for seamless cloud integration.

Work with SQL Databases and leverage Azure App Services to host and manage your applications.

Ensure service reliability with strategies like service offline handling with better responses

And much more, covering practical tools and techniques for building and deploying advanced .NET microservices.

Requirements

Familiarity with building applications using .NET is essential, as the course dives into advanced microservices concepts.

A basic understanding of how to build and consume RESTful APIs will help you follow along with API-based microservices communication.

Proficiency in programming concepts like object-oriented programming (OOP) and dependency injection (DI)

Basic knowledge of SQL databases is helpful, as you’ll work with relational databases in the course.

A willingness to learn complex topics like messaging systems, distributed systems, and cloud deployment will ensure you make the most of this course.

You’ll need a machine with Visual Studio (or an equivalent IDE) and an Azure Portal account for cloud deployment exercises.

Description

Are you ready to take your .NET development expertise to new heights? "Advanced Microservices with .NET: Development & Cloud Deployment" is the ultimate guide to mastering the art and science of building modern, cloud-ready microservices. Designed for developers and architects, this course dives deep into advanced patterns, tools, and best practices to equip you with the skills needed to design, implement, and deploy scalable, secure, and maintainable microservices architectures.In this hands-on course, you’ll start with the foundational principles of microservices and gradually explore advanced topics such as event-driven communication, synchronous messaging, authentication and authorization, and custom NuGet package creation. Using industry-leading tools like MassTransit, RabbitMQ, and Azure Service Bus, you’ll learn how to build systems that handle real-world challenges like distributed communication, data consistency, and fault tolerance.Throughout the course, you’ll explore critical design patterns like CQRS, the Cache-Aside Pattern, and Clean Architecture, ensuring your solutions are robust, flexible, and easy to maintain. You’ll also learn how to integrate cutting-edge technologies like Ocelot API Gateway, MediatR, and Azure Cache for Redis, and leverage Azure DevOps to automate your CI/CD pipelines for seamless cloud deployment.This course is packed with practical project, and detailed demonstrations to ensure you can confidently apply what you learn in any professional setting.Course HighlightsEnd-to-End Microservices DevelopmentBuild, deploy, and manage microservices from scratch, using .NET to tackle real-world challenges.Practical Cloud DeploymentLearn how to deploy microservices to Azure, configure production-ready environments, and ensure scalability with tools like Azure Cache for Redis and SQL Databases.Cross-Cutting ConcernsImplement critical features like centralized logging, caching, and robust error handling to ensure your microservices are reliable and maintainable.Hands-On LearningWork on practical projects that mimic real-world scenarios, giving you the confidence to apply your skills immediately.Comprehensive Messaging FrameworksMaster asynchronous communication with RabbitMQ, MassTransit, and Azure Service Bus, ensuring your services can handle complex distributed workflows.Why Take This Course?Comprehensive coverage of microservices architecture, tools, and patterns.Focused on practical, hands-on project that deliver immediate, real-world value.In-depth exploration of .NET tools and frameworks like MediatR, Ocelot, and MassTransit.Step-by-step guidance on deploying microservices to Azure.Detailed tutorials on creating custom NuGet packages, enhancing reusability and consistency across your microservices.This course isn’t just about learning microservices—it’s about mastering the advanced skills and tools required to excel in building and deploying modern, cloud-based systems. If you’re ready to transform your development career, join us and become The Microservices Architect!

Overview

Section 1: Introduction

Lecture 1 Micro-Service Architecture review

Lecture 2 What we will develop

Lecture 3 Learning styles - Suggestions

Lecture 4 How we shall start implementations

Section 2: Custom Nuget Package - Authentication Library

Lecture 5 Package Overview

Lecture 6 Project Creation

Lecture 7 Constants - Action

Lecture 8 More Permissions

Lecture 9 Permission access properties

Lecture 10 Claim Constants

Lecture 11 Permission Requirement

Lecture 12 Permission Policy Provider

Lecture 13 Permission Authorization Handler

Lecture 14 Custom Authorize Attribute

Lecture 15 Push code to DevOps Repository

Lecture 16 Setting Up Azure DevOps Nuget Feed

Lecture 17 CI-CD Pipeline

Lecture 18 Package metadata

Lecture 19 First pipeline run and Package release

Section 3: Custom Response Wrapper

Lecture 20 Package Overview

Lecture 21 Response wrapper interfaces

Lecture 22 Response wrapper implementations - non generic

Lecture 23 Response wrapper implementation - generic

Lecture 24 Response wrapper implementation - generic success asynchronously

Lecture 25 Custom Validation Exception

Lecture 26 Response Wrapper extension

Lecture 27 None Generic ToResponse extension method - nuget package

Lecture 28 Package metadata

Lecture 29 CI-CD Pipeline

Section 4: Authentication Service - Custom Identity Service

Lecture 30 Introduction

Lecture 31 Solution Creation

Lecture 32 Packages Installation

Lecture 33 Application User

Lecture 34 05 Application Role and Role Claim

Lecture 35 Db Context

Lecture 36 Db Table Configurations

Lecture 37 Apply Configurations From Assembly

Lecture 38 DI - Db Context

Lecture 39 EFcore Migration

Lecture 40 Identity Models - Theory

Lecture 41 User registration request model

Lecture 42 More Identity models

Lecture 43 User role view model

Lecture 44 Role Claims request models

Lecture 45 Update Role Claims request

Lecture 46 Response Wrapper package release

Lecture 47 Package update and CQRS

Lecture 48 Package ID change

Lecture 49 User registration command

Lecture 50 User registration command complete

Lecture 51 User registration interface implementation

Lecture 52 Roles Constants

Lecture 53 Assign User to role

Lecture 54 Update User method definition and command

Lecture 55 Update User implementation

Lecture 56 Additional User service definitions

Lecture 57 Get user by id implementation

Lecture 58 Userservice more methods implementations

Lecture 59 Get User Roles implementation

Lecture 60 Get User Roles implementation

Lecture 61 Update user roles implementation

Lecture 62 Change User Password Command

Lecture 63 Additional User commands

Lecture 64 Additional User queries

Lecture 65 Role Service Interface and Create Role implementation

Lecture 66 Delete Role implementation

Lecture 67 Additional implementations

Lecture 68 Update Role Permissions implementation

Lecture 69 Get Role Permissions implementation

Lecture 70 Role commands

Lecture 71 Role Queries

Lecture 72 User and Role services to DI

Lecture 73 Seed Roles and Permissions

Lecture 74 Seed Users

Lecture 75 Seeder to DI

Lecture 76 Seeder test - DI Errors

Lecture 77 Seed test - Complete

Lecture 78 Token Service interface definition

Lecture 79 Token Service implementation part 1

Lecture 80 51 Token Service implementation part 2

Lecture 81 Get Claims for token

Lecture 82 More token helpers

Lecture 83 Get Claim Principal From Expired Token

Lecture 84 Refresh token complete

Lecture 85 Token Service into DI

Lecture 86 Token queries

Lecture 87 MediatR into DI

Lecture 88 Login Endpoint

Lecture 89 Refresh token endpoint

Lecture 90 JWT Bearer Auth into DI part 1

Lecture 91 63 Add Authorization - dynamic permissions adding

Lecture 92 Login test - pass

Lecture 93 User controller endpoints

Lecture 94 Role Controller endpoints - Assignment

Lecture 95 Role controller endpoints - Assignment solution

Lecture 96 Swagger into DI

Lecture 97 JWT Validation Parameters alignment and token testing - pass

Lecture 98 MediatR Pipeline overview - Request Validation

Lecture 99 Validation without pipeline

Lecture 100 Validation without pipeline test - pass

Lecture 101 Validation pipeline behaviour implementation

Lecture 102 Pipeline to DI and test - pass

Section 5: API Gateway

Lecture 103 Api Gateway Overview

Lecture 104 Ocelot Repository overview

Lecture 105 Project creation

Lecture 106 Packages installation

Lecture 107 Login endpoint - config

Lecture 108 Ocelot into DI

Lecture 109 Postman Collection setup

Lecture 110 Login Test

Lecture 111 API Gateway Landing Page

Lecture 112 Gateway Authentication part 1

Lecture 113 Gateway Authentication part 2

Lecture 114 Permissions into DI - Add Identity Settings

Lecture 115 User registration Upstream and Downstream config

Lecture 116 User register endpoint - testing

Lecture 117 Postman Post-Response Script

Lecture 118 Upstream and Downstream routes - Get user by id

Lecture 119 Service Unavailable - The problem

Lecture 120 Service Unavailable - Middleware implementation

Lecture 121 Service Unavailable - Middleware testing

Lecture 122 Service Unavailable - Middleware to include domain name

Lecture 123 Service Unavailable - Middleware domain inclusion test

Lecture 124 Source code to repository

Lecture 125 API Gateway CORS into DI

Lecture 126 Where we are now - Arch catchup

Section 6: Product Service

Lecture 127 System Assumptions - Clarified

Lecture 128 Product Service overview

Lecture 129 The Solution

Lecture 130 Entites Definitions

Lecture 131 EFCore packages

Lecture 132 Application Db Context

Lecture 133 Product service request models - nuget package

Lecture 134 Product service response models - nuget package

Lecture 135 Packages installation

Lecture 136 Brand Service Definition

Lecture 137 Image and Product services definitions

Lecture 138 Product service implementation - Create product

Lecture 139 Product Service implementation Complete

Lecture 140 Image Service implementation - Complete

Lecture 141 Brand Service Implementation - Assignment

Lecture 142 Brand Service Implementation - Solution and Update Product refactoring

Lecture 143 Interfaces into DI

Lecture 144 Create Brand Command

Lecture 145 Validation Pipeline - Copy and Paste

Lecture 146 Packages into DI

Lecture 147 Create Brand Command Validators

Lecture 148 Create Brand controller endpoint

Lecture 149 Db Migration

Lecture 150 Create Brand command validation - Test

Lecture 151 Update brand command

Lecture 152 Update brand request validator

Lecture 153 Update brand request and controller endpoint

Lecture 154 Domain level validation fix

Lecture 155 Update brand endpoint - test with errors

Lecture 156 Update brand command - test change tracker errors

Lecture 157 Change tracker - clean solution

Lecture 158 All level security implementation - Explanation

Lecture 159 Updating Auth Library with Product service permissions

Lecture 160 Package - Auth upgrade in Identity Service

Lecture 161 Configuring Authorization in Product Service

Lecture 162 Permission Attribute used

Lecture 163 API Gateway - Product service brand endpoints

Lecture 164 Product service pushed to repository

Lecture 165 Product Service - Postman endpoint config

Lecture 166 Dev Machine switching - Video and Audio in sync

Lecture 167 Create Brand - Endpoint testing success

Lecture 168 Update Brand - Endpoint testing success

Lecture 169 Push changes to repository

Lecture 170 Assignment 01 - Brand additional endpoints

Lecture 171 Progress Overview

Lecture 172 Create Product Command

Lecture 173 Create Product endpoint

Lecture 174 API Gateway - Create product endpoint config

Lecture 175 Create product postman config and test - success

Lecture 176 Create Product request validator

Lecture 177 Create Product Command Validator

Lecture 178 Create Product validation postman - test success

Lecture 179 Update product command and endpoint - complete end to end

Lecture 180 Update Product validators

Lecture 181 Update Product validators postman tests - success

Lecture 182 Delete Product command and endpoint

Lecture 183 Delete Product endpoint postman test - pass

Lecture 184 Get Product by Id Query

Lecture 185 Get Product by id controller endpoint and postman testing - success

Lecture 186 Get all products query endpoint and end to end testing - success

Lecture 187 Redis Cache installation

Lecture 188 Cache Pipeline part 1

Lecture 189 Cache Pipeline part 2

Lecture 190 Cache Configurations

Lecture 191 Redis cache into DI

Lecture 192 Query caching config

Lecture 193 Cache behaviour testing - error and success

Lecture 194 Where we are

Lecture 195 RabbitMQ Installation

Lecture 196 MassTransit Packages Installation

Lecture 197 RabbitMQ into DI

Lecture 198 Adding Product created event to nuget package

Lecture 199 Updated Package installation

Lecture 200 Event publisher interface

Lecture 201 Event Publisher implementation and DI

Lecture 202 Product created event - command

Lecture 203 Product created event - published to RabbitMQ

Lecture 204 RabbitMQ second look

Lecture 205 Product deleted event - end to end

Lecture 206 Product Quantity Technical debt

Lecture 207 Where we are now

Section 7: Inventory Service

Lecture 208 Inventory Service - Auth Constants onboarding

Lecture 209 Identity Service - Packages update

Lecture 210 Projects creation

Lecture 211 Inventory Item Entity definition

Lecture 212 EntityFrameworkCore configs

Lecture 213 Migration

Lecture 214 MassTransit Packages installation

Lecture 215 Product create event consumer

Lecture 216 RabbitMQ into DI

Lecture 217 Product Created Event - Consuming test success

Lecture 218 Inventory item Model - nuget package

Lecture 219 Inventory interface definition and implementation - into DI

Lecture 220 CreateInventoryItemCommand implementation

Lecture 221 Helpers for barcode generation and request parameter buildup

Lecture 222 MediatR into DI

Lecture 223 Product created event - consuming and creating inventory items test - success

Lecture 224 ProductDeletedEventQueue consumer intro

Lecture 225 ChangeInventoryItemStatusCommand implementation and interface methods changes

Lecture 226 Product deleted consumer - completed and into DI

Lecture 227 Product Deleted event consumer test - success

Lecture 228 Announcement - Supplier Service Exclusion

Lecture 229 Delete Item command implementation

Lecture 230 GetInventoryItemsQuery - implementation

Lecture 231 GetInventoryItemByIdQuery - implementation

Lecture 232 GetInventoryItemsByProductIdQuery - implementation

Lecture 233 ChangeItemStatus - endpoint

Lecture 234 All endpoints

Lecture 235 Authentication config

Lecture 236 Endpoints protection by attribute

Lecture 237 API Gateway routes config

Lecture 238 Inventory Endpoint - Postman config

Lecture 239 Inventory Items endpoint testing - refactoring

Lecture 240 ChangeInventoryItemStatusCommand - Separate implementation

Lecture 241 ChangeInventoryItemStatusCommand - endpoint test success

Lecture 242 DeleteItemById - endpoint and testing success

Lecture 243 Inter service communication intro

Lecture 244 Package upgrade

Lecture 245 TokenForwardingHandler - implementation

Lecture 246 Register Named HttpClient - Config into DI

Lecture 247 GetProductByIdAsync definition and implementation

Lecture 248 GetInventoryItemByIdQueryHandler - Product Service integration

Lecture 249 GetInventoryItemByIdQueryHandler - Product Service integration test success

Lecture 250 Inventory Service Cleanup - RabbitMQ Values to configuration

Lecture 251 Product Service Cleanup - RabbitMQ Values to configuration

Section 8: Notification Service

Lecture 252 Introduction

Lecture 253 Projects Creation

Lecture 254 Notification entity

Lecture 255 EFCore ORM configuration

Lecture 256 Migration - success

Lecture 257 Notification models package release

Lecture 258 Packages installation in Application layer

Lecture 259 CreateNotificationCommand - part 1

Lecture 260 CreateNotificationCommand - part 2

Lecture 261 RabbitMQ Consumer

Lecture 262 RabbitMQ into DI

Lecture 263 SendGrid signup

Lecture 264 IEmailSender definition and SendGrid Package installation

Lecture 265 Email Settings config

Lecture 266 EmailSender - Template generation

Lecture 267 EmailSender implementation complete

Lecture 268 UseStaticFiles middleware

Lecture 269 IEmailSender into DI and RabbitMQ Multiple consumer config

Lecture 270 Email sending test

Lecture 271 Email notification entry to database

Lecture 272 Email notification entry to database - test success

Lecture 273 Get All Notifications - query

Lecture 274 Get all notification endpoint

Lecture 275 Notification permissions into Auth library

Lecture 276 Security addition

Lecture 277 Notification gateway config and postman test - success

Lecture 278 Push Notification Service into Repository

Section 9: Azure Cloud - Deployments

Lecture 279 Azure Resources Overview

Lecture 280 Resource Group and Identity AppService

Lecture 281 API Gateway AppService and Overview

Lecture 282 AppServices recap

Lecture 283 SQL Database Server

Lecture 284 Databases

Lecture 285 Identity Database - Migration

Lecture 286 Product Database - Migration

Lecture 287 Inventory and Notification databases - migration

Lecture 288 Azure Cache for Redis

Lecture 289 Azure ServiceBus

Lecture 290 DevOps Settings - Release visibility

Lecture 291 DevOps - Service Connection

Lecture 292 Build Pipeline - Identity Service CI

Lecture 293 Release Pipeline - Identity Service CD

Lecture 294 Identity Service Post deployment verification

Lecture 295 Seed in all environment and Environment Variables config prioritization

Lecture 296 Adding custom configurations via release pipeline - part 1

Lecture 297 Adding custom configurations via release pipeline - part 2

Lecture 298 Adding custom configurations via release pipeline - part 3 Testing success

Lecture 299 Product Service CI-CD part 1

Lecture 300 Switch from RabbitMQ to ServiceBus - Explaination

Lecture 301 ServiceBus Topic and Subscriptions

Lecture 302 Product Service - ServiceBus Implementation part 1

Lecture 303 Product Service - ServiceBus Implementation part 2

Lecture 304 Product Service - ServiceBus and Redis Cache Implementation part 3 success

Lecture 305 Product Service - ServiceBus and Redis Cache Implementation part 4 - Testing

Lecture 306 Inventory Service - ServiceBus implementation part 1

Lecture 307 Inventory Service - ServiceBus implementation part 2

Lecture 308 Inventory Service - ServiceBus implementation part 3

Lecture 309 Inventory Service - ServiceBus subscriber test success

Lecture 310 ServiceBus Subscriptions filters - Explanation

Lecture 311 ServiceBus Subscriptions filters - Implementation

Lecture 312 ServiceBus Subscriptions filters - Implementation Event Name header

Lecture 313 ServiceBus Subscriptions filters - Testing success

Lecture 314 Notification Service - ServiceBus usage

Lecture 315 Notification Service - ServiceBus Usage complete and test success

Lecture 316 API Gateway Configurations code update

Lecture 317 API Gateway Configuration - Syntax explanation

Lecture 318 API Gateway manual config and deployment - success

Lecture 319 API Gateway Postman testing Post deployment - Success

Lecture 320 Review and closing lines

Aspiring developers with basic .NET knowledge who want to level up their skills in building scalable and cloud-ready microservices.,Developers with some experience in .NET and microservices looking to master advanced patterns, architecture, and deployment strategies.,Experienced professionals aiming to refine their knowledge of microservices, including event-driven systems, and resilient design.,Professionals designing cloud-based solutions who want to understand how to effectively implement microservices architectures in .NET.,Those responsible for leading development teams or implementing scalable systems in .NET, looking for practical insights into advanced microservices.