Advanced .NET path | Useful Links
The idea of this post is to collect some curated posts related to .NET to the walkthrough in an Advanced topic of your career.
Architectural Styles and Patterns
Architectural Styles vs. Architectural Patterns vs. Design Patterns by @hgraca
Monolithic vs. Microservices Architecture | by Anton Kharenko | Microservices Practitioner Articles
Software Architecture: Patterns for Developers Online Class | LinkedIn Learning
Microservices Foundations Online Class | LinkedIn Learning
What is SOA (Service-Oriented Architecture)? | IBM
What is a serverless microservice? | Serverless microservices explained | Cloudflare
Additional:
.NET Microservices. Architecture for Containerized .NET Applications | Microsoft Learn
Software Architecture: Breaking a Monolith into Microservices Online Class | LinkedIn Learning
Understand serverless - Serverless Architecture Video Tutorial | LinkedIn Learning
How to Create Application Architecture Diagram Online?
Layered Architectures
1. Layered Architecture - Software Architecture Patterns | O’Reilly Media
Clean architecture tutorial: Design for enterprise-scale apps
Clean Architecture with ASP.NET Core 3.0 • Jason Taylor • GOTO 2019 - YouTube
GitHub - jasontaylordev/CleanArchitecture: Clean Architecture Solution Template for .NET 7
Clean Architecture with ASP.NET Core 6 - YouTube
6. Domain-Driven Design - Layered Architecture - Naresh Bhatia
Clean Architecture Example & Breakdown - CodeOpinion
Comparison of Domain-Driven Design and Clean Architecture Concepts | Khalil Stemmler
Software Architecture AntiPatterns
The Logical vs the Physical: Layered Architecture - Freek Paans
Additional:
The Concept of Domain-Driven Design Explained | by Sara Miteva | Microtica | Medium
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together – @hgraca
(22) N-Tier / N-Layer Architecture | LinkedIn
The Anaemic Domain Model is no Anti-Pattern, it’s a SOLID design – SAPM: Course Blog
RESTful Web API
Rest API. Constraints and Core concepts (30m, reading)
REST Architectural Constraints
Stateless REST APIs - Advantages of Statelessness in REST
REST API Response Caching - When and Where?
What is REST API Versioning and How to Create Versions?Create web APIs with ASP.NET Core | Microsoft Learn) (1h, reading, overview + tutorials review
Best practices for REST API design
Best practices for REST API (30m, reading)
REST Resource Naming Guide
Use web API analyzersRichardson Maturity Model (30m, reading)
REST vs RPC: What problems are you trying to solve with your APIs? (45m, reading, vision)
REST vs RPC: What problems are you trying to solve with your APIs?
Why your APIs should be entity-oriented
gRPC vs REST: Understanding gRPC, OpenAPI and REST and when to use them in API design
Additional:
Book: ASP.NET Core 2: Building Cross-Platform Back-End Systems
Welcome to OData
GitHub - drminnaar/ranker: A REST API guide with an example project written in C# using .NET 5 (sample project)
Why HATEOAS is useless and what that means for REST | by Andreas Reiser | Medium
[Opinion]
Message Brased Architecture. Message Broker
Message-oriented Architectures
Message-oriented Architectures
Asynchronous message-based communication
Message Driven vs Event DrivenWhat is a Message Broker?
Message Brokers
5 use cases of message brokers. When you should consider adopting a message broker in your system?Message Broker Implementations
List of message broker software
RabbitMQ Tutorials
APACHE KAFKA QUICKSTART
What is Azure Service Bus?Typical Failures of the Message Based Architectures
How to handle typical event-driven architecture failures
Understanding Failure Modes in Message and Event-based Systems
Security, Authentication and Authorization
Authentication and Authorization basics. Authorization options.
a. https://auth0.com/docs/get-started/identity-fundamentals/authentication-and-authorization
b. Modern Authentication - Rob Moore (video, 1h)
Identity and access management (IAM)
a. https://en.wikipedia.org/wiki/Identity_management
b. https://curity.io/resources/learn/iam-primer
c. Identity and A\ccess Management: Technical Overview (video, 20m)
AuthN and AuthZ protocols
a. OAuth 2.0 and OpenID Connect (video, 1h)
b. Understanding OAuth 2.0
https://www.youtube.com/watch?v=ikS1gdZQXrc (40m)
https://www.youtube.com/watch?v=WQM_3Mm1Ewo (Implicit Flow, 45m)
https://www.youtube.com/watch?v=gnUM3cB3_co (working with certificates, 28m)c. OAuth 2.0 & OpenID Connect (OIDC): Technical Overview (video, 20m)
d. SAML 2.0: Technical Overview (video, 20m)
Security tokens
a. Token Types
https://docs.microsoft.com/en-us/azure/active-directory/develop/security-tokens
https://auth0.com/blog/id-token-access-token-what-is-the-difference/
b. Details
https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens
https://docs.microsoft.com/en-us/azure/active-directory/develop/id-tokens
https://docs.microsoft.com/en-us/azure/active-directory/develop/refresh-tokens
OpenID Connect and OAuth flows
a. https://darutk.medium.com/diagrams-of-all-the-openid-connect-flows-6968e3990660
b. https://dzone.com/articles/the-right-flow-for-the-job-which-oauth-20-flow-sho
Authentication and Authorization in ASP.NET Core
a. https://docs.microsoft.com/en-us/aspnet/core/security/authentication
b. https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction
Additional:
Book: Mastering Identity and Access Management with Microsoft Azure
Session vs Token
Security Attacks Prevention IN ASP.NET
a. https://docs.microsoft.com/en-us/aspnet/core/security/anti-request-forgery
b. https://docs.microsoft.com/en-us/aspnet/core/security/preventing-open-redirects
c. https://docs.microsoft.com/en-us/aspnet/core/security/cross-site-scripting
OpenID Connect and OAuth flows
a. https://darutk.medium.com/diagrams-and-movies-of-all-the-oauth-2-0-flows-194f3c3ade85IAM Implementations
a. Identity Server.
https://docs.duendesoftware.com/identityserver/v6/overview
https://identityserver4.readthedocs.io/en/latest/ (Obsolete, but still used in a lot of project)b. Azure Active Directory (SaaS solution – use your MSDN subscription)
c. Others
https://aws.amazon.com/iam
https://www.okta.com/developers
https://auth0.com/developersASP.Net Core (learning series) + IdentityServer4
a. https://www.youtube.com/playlist?list=PLOeFnOV9YBa4yaz-uIi5T4ZW3QQGHJQXi
b. https://www.youtube.com/watch?v=Fhfvbl_KbWo&list=PLOeFnOV9YBa7dnrjpOG6lMpcyd7Wn7E8V (IdentityServer4, old implementation, not supported any more, but works)