Design Microservices Architecture with Patterns & Principles
- Descrição
- Currículo
- FAQ
- Revisões
In this course, we’re going to learn how to Design Microservices Architecture with using Design Patterns, Principles and the Best Practices with Iterate Design Architecture from Monolithic to Microservices. We will using the right architecture design patterns and techniques.
By the end of the course, you will Learn how to handle millions of request with designing system for high availability, high scalability, low latency, and resilience to network failures on microservices distributed architectures.
This course is will be the journey of software architecture design with step by step evolving architecture from monolithic to event driven microservices.
We will start the basics of software architecture with designing e-commerce Monolithic architecture that handles low amount of requests.
After that step by step evolves the architecture with;
-
Layered Architecture
-
Clean Architecture
-
Modular Monolithic Architecture
-
Microservices
-
Event-Driven Microservices Architectures
-
and lastly Serverless Microservices Architectures with designing together that handle millions of requests. This is a step-by-step process for software system design and evolve from monolithic to microservices following the patterns & principles.
We will discuss microservices architectures with all aspects,
-
Microservices Decomposition
-
Microservices Communications (Sync / Async Message-Based Communication, API Gateways)
-
Microservices Data Management (Databases / Query / Commands)
-
Microservices Transaction Management
-
Microservices Distributed Caching
-
Microservices Deployments with Containers and Orchestrators
-
Microservices Resilience
with applying microservices design patterns and practices.
We are going to design with together and step by step with refactor architectures with all aspects of microservices pillars.
We will start with designing Monolithic Architecture. And you can see that we have Functional and Non-functional requirements that should cover our design and we have patterns and principles toolbox that we will learn and use these principles when evolving architectures.
Way of Learning — The Course Flow
We will always starts with the problem and try to solve this problem with learning and designing new architectures, patterns and best practices.
-
Problem -> Learn -> Design -> Adapt -> Evaluate
We will complete this circle for every section of the course. You will find that we will add new requirements in order to handle millions of request and learn new patterns and practices that will use these principles when evolving architectures.
You will find that we will add new requirements in order to handle millions of request and learn new patterns and practices that will use these principles when evolving architectures.
We will see full of patterns and principle toolbox is loading with new patterns and apply them into current designs. We will see latest patterns that we use more than 30 patterns and practices with implementing high scalability, high availability and handle millions of request requirements.
Let me write some microservices pattern which we covered in this course;
-
The Database-per-Service Pattern
-
API Gateway Pattern, Gateway Routing/Aggregation/Offloading Pattern
-
Backends for Frontends pattern BFF
-
Service Aggregator Pattern, Service Registry/Discovery Pattern
-
Fan-out Publish/Subscribe Messaging Pattern
-
Topic-Queue Chaining & Load Balancing Pattern
-
The Shared Database Anti-Pattern and Polyglot Persistence
-
Database Sharding Pattern, CAP Theorem
-
Materialized View Pattern
-
CQRS and Event Sourcing Patterns
-
SAGA Pattern — Choreography-based/Orchestration-based SAGA
-
Compensating Transaction Pattern
-
Transactional Outbox Pattern
-
Dual Write Problem
-
CDC — Change Data Capture with Outbox Pattern
-
Event Hubs and Real-time Event Streaming in Event-Driven Microservices Architecture
-
Cache-Aside Pattern for Microservices Distributed Caching
-
Sidecar Pattern
-
Service Mesh Pattern
-
DevOps and CI/CD Pipelines for Microservices Deployments
-
Deployment Strategies for Microservices: Blue-green, Rolling and Canary deployments
-
Infrastructure as Code (IaC) and usage in Microservices Deployments
-
Microservices Resilience, Observability and Monitoring Patterns
-
Retry and Circuit Breaker Patterns
-
Bulkhead / Timeout / Cache / Fallback Patterns
-
Elastic Stack for Microservices Observability with Distributed Logging
-
Microservices Health Checks: Liveness, Readiness and Performance Checks
-
Serverless Microservices Architecture implementation on AWS
So the course flow will be the both theoretical and practical information;
-
We will always start with a business problem
-
We will learn a specific pattern, why and where we should use
-
After that we will see the Reference architectures that applied these patterns
-
After that we will design our architecture with applying this newly learned pattern with together
-
And lastly we will decide which Technologies can be choices for that architectures.
And at the last section, we will made Code Review for Existing Microservices Architecture Repository on GitHub for practical implementation of microservices architecture.
So this course will includes
-
Hands-on Design Activities
-
Iterate Design Architecture from On-Premises to Cloud Server-less architectures
-
Evolves architecture monolithic to Event-Driven Microservices Architectures
-
Refactoring System Design for handling million of requests
-
Apply best practices with microservices design patterns and principles
-
Examine microservices patterns with all aspects like Communications, Data Management, Caching and Deployments
-
Prepare for Software Architecture Interviews
-
Prepare for System Design Architecture Interview exams.
I have been joined several famous company’s architecture position interviews, also involved software architect positions assessment process more than 50+ interviews collect the architecture requirements for software industry positions.
So with this course, you will gain real-world experience about all architecture positions from monolithic to event-driven microservices architectures.
This course prepared for the beginner but at least you should familiar with basics of software architectures. This course will have good theoretical information but also will be 90% of hands-on design activities. All course architecture steps will designed step by step and together.
I hope you’ll join me on this journey and develop this project with me.
-
9Introduction - Monolithic ArchitectureVídeo Aula
-
10When to use Monolithic ArchitectureVídeo Aula
-
11Benefits of Monolithic ArchitectureVídeo Aula
-
12Challenges of Monolithic ArchitectureVídeo Aula
-
13Design principles of Monolithic Architecture -- KISS, YAGNI, DRYVídeo Aula
-
14Design the Architecture - E-Commerce App - KISS & YAGNIVídeo Aula
-
15Design & Iterate : Monolithic Architecture - E-Commerce ApplicationVídeo Aula
-
16Evaluate : Monolithic Architecture - E-Commerce ApplicationVídeo Aula
-
17Problem: Code Become Too Complex over time - Monolithic Architecture -E-CommerceVídeo Aula
-
18Monolithic Architecture QuizQuestionário
-
19Layered (N-Layer) ArchitectureVídeo Aula
-
20Design principles - Separation of Concerns (SoC)Vídeo Aula
-
21Design principles - SOLIDVídeo Aula
-
22Design the Architecture - E-Commerce App - Layered ArchitectureVídeo Aula
-
23Adapt Technology Stack - E-Commerce App - Layered ArchitectureVídeo Aula
-
24DEMO: Layered Monolithic Architecture Code Review - E-Commerce AppVídeo Aula
-
25Evaluate: Layered Monolithic ArchitectureVídeo Aula
-
26Problem: Highly Coupling Dependent LayersVídeo Aula
-
27Layered Architecture QuizQuestionário
-
28Introduction the Clean ArchitectureVídeo Aula
-
29What is Clean ArchitectureVídeo Aula
-
30The Dependency RuleVídeo Aula
-
31Layers of Clean ArchitectureVídeo Aula
-
32Benefits of Clean ArchitectureVídeo Aula
-
33Design the Architecture - Clean Architecture - E-Commerce AppVídeo Aula
-
34Adapt: Clean Architecture - E-Commerce AppVídeo Aula
-
35DEMO: Clean Architecture Code Review - E-Commerce AppVídeo Aula
-
36Evaluate: Clean ArchitectureVídeo Aula
-
37Problem: Increased Traffic, Handle More RequestVídeo Aula
-
38Clean Architecture QuizQuestionário
-
39Introduction Scalability - Why need to Scale ?Vídeo Aula
-
40Scalability - Vertical Scaling - Horizontal ScalingVídeo Aula
-
41Vertical Scaling - Scale upVídeo Aula
-
42Horizontal Scaling - Scale outVídeo Aula
-
43What is Load Balancer ? Use Load Balancer Split the Load with Consistent HashingVídeo Aula
-
44Design the Architecture - Scalability - E-Commerce AppVídeo Aula
-
45Adapt the Architecture - Scalability - Load Balancer - E-Commerce AppVídeo Aula
-
46Evaluate: Clean Architecture with Scalability - Load Balancer - E-Commerce AppVídeo Aula
-
47Problem: Agility of New Features, Split Agile TeamsVídeo Aula
-
48Scalability QuizQuestionário
-
49Introduction - Modular Monolithic ArchitectureVídeo Aula
-
50What is Modular Monolithic Architecture ?Vídeo Aula
-
51Benefits of Modular Monolithic ArchitectureVídeo Aula
-
52Challenges of Modular Monolithic ArchitectureVídeo Aula
-
53When to use Modular Monolithic ArchitectureVídeo Aula
-
54Monolith First Approaches from Martin Fowler and Sam NewmanVídeo Aula
-
55Monolithic Architecture Vertical Considerations, Communications of MonolithicVídeo Aula
-
56Transaction Management of Monolithic ArchitectureVídeo Aula
-
57Deployments of Monolithic ArchitectureVídeo Aula
-
58Design the Architecture - Modular Monolithic Architecture - E-Commerce AppVídeo Aula
-
59Evaluate: Complexity of Presentation UI Operations- Modular Monolithic ArchitectVídeo Aula
-
60Problem: Improved customer experience with Separated UI and OmnichannelVídeo Aula
-
61Headless Architecture and Separated Presentation with SPAVídeo Aula
-
62Design the Architecture - Modular Monolithic Architecture with SPA -Separated UIVídeo Aula
-
63Adapt the Architecture - Modular Monolithic Architecture with SPA - Separated UIVídeo Aula
-
64DEMO: Modular Monolithic Architecture Code Review - E-Commerce AppVídeo Aula
-
65Evaluate: Modular Monolithic Architecture with SPAVídeo Aula
-
66Problem: Agility of New Features, Split Agile TeamsVídeo Aula
-
67Modular Monolithic Architecture QuizQuestionário
-
68Introduction - Microservices ArchitectureVídeo Aula
-
69What are Microservices ?Vídeo Aula
-
70What is Microservices Architecture ?Vídeo Aula
-
71Microservices CharacteristicsVídeo Aula
-
72Benefits of Microservices ArchitectureVídeo Aula
-
73Challenges of Microservices ArchitectureVídeo Aula
-
74When to Use Microservices Architecture - Best PracticesVídeo Aula
-
75When Not to Use Microservices - Anti-Patterns of MicroservicesVídeo Aula
-
76Monolithic vs Microservices Architecture ComparisonVídeo Aula
-
77The Database-per-Service Pattern - Polyglot PersistenceVídeo Aula
-
78Design the Architecture - Microservices Architecture - First IterationVídeo Aula
-
79Adapt the Architecture - Microservices Architecture - First IterationVídeo Aula
-
80Evaluate: Microservices Architecture - First IterationVídeo Aula
-
81Problem: Break Down Application into MicroservicesVídeo Aula
-
82Microservices Architecture QuizQuestionário
