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
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.