% Off Udemy Coupon - CourseSpeak

Design Microservices Architecture with Patterns & Principles

Evolve from Monolithic to Event-driven Microservices Architecture with designing High Scalable and High Available system

$9.99 (92% OFF)
Get Course Now

About This Course

<div>In this course, we’re going to learn how to <u><b>Design Microservices Architecture</b></u> 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.</div><div><br></div><div>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.</div><div><br></div><div>This course is will be the journey of software architecture design with step by step evolving architecture from monolithic to event driven microservices.</div><div><br></div><div>We will start the basics of software architecture with designing e-commerce Monolithic architecture that handles low amount of requests.</div><div><br></div><div>After that step by step evolves the architecture with;</div><div><ul><li><span style="font-size: 1rem;">3-Tier Architecture</span></li><li><span style="font-size: 1rem;">Modular Monolithic Architecture</span></li><li><span style="font-size: 1rem;">Microservices</span></li><li><span style="font-size: 1rem;">Event-Driven Microservices Architectures</span></li></ul></div><div><br></div><div>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 &amp; principles.</div><div><br></div><div>We will discuss microservices architectures with all aspects,</div><div><ul><li><span style="font-size: 1rem;">Microservices Decomposition</span></li><li><span style="font-size: 1rem;">Microservices Communications (Sync / Async Message-Based Communication, API Gateways)</span></li><li><span style="font-size: 1rem;">Microservices Data Management (Databases / Query / Commands)</span></li><li><span style="font-size: 1rem;">Microservices Transaction Management</span></li><li><span style="font-size: 1rem;">Microservices Distributed Caching</span></li><li><span style="font-size: 1rem;">Microservices Deployments with Containers and Orchestrators</span></li><li><span style="font-size: 1rem;">Microservices Resilience</span></li><li><span style="font-size: 1rem;">with applying microservices design patterns and practices.</span></li><li><span style="font-size: 1rem;">We are going to design with together and step by step with refactor architectures with all aspects of microservices pillars.</span></li></ul></div><div><br></div><div>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.</div><div><br></div><div>Way of Learning — The Course Flow</div><div><br></div><div>We will always starts with the problem and try to solve this problem with learning and designing new architectures, patterns and best practices.</div><div><br></div><div><ul><li>Problem -&gt; Learn -&gt; Design -&gt; Code -&gt; Evaluate</li></ul></div><div><br></div><div>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.</div><div><br></div><div>That means you're not just passively receiving information. You're actively participating in the architectural decision-making process, seeing the direct impact of each pattern and principle through code. We'll emphasize the 'why' behind every decision,&nbsp; ensuring you build a deep understanding.</div><div><br></div><div>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.</div><div><br></div><div>Let me write some microservices pattern which we covered in this course;</div><div><ul><li><span style="font-size: 1rem;">The Database-per-Service Pattern</span></li><li><span style="font-size: 1rem;">API Gateway Pattern, Gateway Routing/Aggregation/Offloading Pattern</span></li><li><span style="font-size: 1rem;">Backends for Frontends pattern BFF</span></li><li><span style="font-size: 1rem;">Service Aggregator Pattern, Service Registry/Discovery Pattern</span></li><li><span style="font-size: 1rem;">Fan-out Publish/Subscribe Messaging Pattern</span></li><li><span style="font-size: 1rem;">Topic-Queue Chaining &amp; Load Balancing Pattern</span></li><li><span style="font-size: 1rem;">The Shared Database Anti-Pattern and Polyglot Persistence</span></li><li><span style="font-size: 1rem;">Database Sharding Pattern, CAP Theorem</span></li><li><span style="font-size: 1rem;">Materialized View Pattern</span></li><li><span style="font-size: 1rem;">CQRS and Event Sourcing Patterns</span></li><li><span style="font-size: 1rem;">SAGA Pattern — Choreography-based/Orchestration-based SAGA</span></li><li><span style="font-size: 1rem;">Compensating Transaction Pattern</span></li><li><span style="font-size: 1rem;">Transactional Outbox Pattern</span></li><li><span style="font-size: 1rem;">Dual Write Problem</span></li><li><span style="font-size: 1rem;">CDC — Change Data Capture with Outbox Pattern</span></li><li><span style="font-size: 1rem;">Event Hubs and Real-time Event Streaming in Event-Driven Microservices Architecture</span></li><li><span style="font-size: 1rem;">Cache-Aside Pattern for Microservices Distributed Caching</span></li><li><span style="font-size: 1rem;">Sidecar Pattern</span></li><li><span style="font-size: 1rem;">Service Mesh Pattern</span></li><li><span style="font-size: 1rem;">DevOps and CI/CD Pipelines for Microservices Deployments</span></li><li><span style="font-size: 1rem;">Deployment Strategies for Microservices: Blue-green, Rolling and Canary deployments</span></li><li><span style="font-size: 1rem;">Infrastructure as Code (IaC) and usage in Microservices Deployments</span></li><li><span style="font-size: 1rem;">Microservices Resilience, Observability and Monitoring Patterns</span></li><li><span style="font-size: 1rem;">Retry and Circuit Breaker Patterns</span></li><li><span style="font-size: 1rem;">Bulkhead / Timeout / Cache / Fallback Patterns</span></li><li><span style="font-size: 1rem;">Elastic Stack for Microservices Observability with Distributed Logging</span></li><li><span style="font-size: 1rem;">Microservices Health Checks: Liveness, Readiness and Performance Checks</span></li><li><span style="font-size: 1rem;">Serverless Microservices Architecture implementation on AWS</span></li></ul></div><div><span style="font-size: 1rem;"><br></span></div><div><span style="font-size: 1rem;">So the course flow will be the both theoretical and practical information;</span></div><div><ul><li><span style="font-size: 1rem;">We will always start with a business problem</span></li><li><span style="font-size: 1rem;">We will learn a specific pattern, why and where we should use</span></li><li><span style="font-size: 1rem;">After that we will see the Reference architectures that applied these patterns</span></li><li><span style="font-size: 1rem;">After that we will design our architecture with applying this newly learned pattern with together</span></li><li><span style="font-size: 1rem;">And lastly we will decide which Technologies can be choices for that architectures.</span></li></ul><span style="font-size: 1rem;">And for each section, we will made Code Review for Existing Microservices Architecture Repository on GitHub for practical implementation of microservices architecture.</span></div><div><br></div><div>So this course will includes</div><div><ul><li><span style="font-size: 1rem;">Hands-on Design Activities</span></li><li><span style="font-size: 1rem;">Iterate Design Architecture from On-Premises to Cloud Server-less architectures</span></li><li><span style="font-size: 1rem;">Evolves architecture monolithic to Event-Driven Microservices Architectures</span></li><li><span style="font-size: 1rem;">Refactoring System Design for handling million of requests</span></li><li><span style="font-size: 1rem;">Apply best practices with microservices design patterns and principles</span></li><li><span style="font-size: 1rem;">Examine microservices patterns with all aspects like Communications, Data Management, Caching and Deployments</span></li><li><span style="font-size: 1rem;">Prepare for Software Architecture Interviews</span></li><li><span style="font-size: 1rem;">Prepare for System Design Architecture Interview exams.</span></li></ul></div><div><br></div><div>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.</div><div><br></div><div>So with this course, you will gain real-world experience about all architecture positions from monolithic to event-driven microservices architectures.</div><div><br></div><div>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.</div><div><br></div><div>I hope you'll join me on this journey and develop this project with me.</div>

What you'll learn:

  • Design Microservices Architecture with using Design Patterns, Principles and the Best Practices
  • Learn how to handle millions of request with designing system for High Availability, High Scalability, low latency, and resilience to network failures
  • Journey of Software Architecture Design from Monolithic to Serverless Microservices
  • Step by step evolving architecture from Monolithic to Event-driven Microservices Architecture
  • Design E-commerce App with Monolithic - Layered - Clean - Modular Monolithic - Microservices - Event-Driven Architecture and Serverless Microservices
  • Microservices Decomposition Strategies
  • Microservices Communications (Sync / Async Message-Based Communication, API Gateways))
  • Microservices Data Management (Databases / Query / Commands / Distributed Transactions)
  • Microservices Distributed Transaction Management
  • Microservices Distributed Caching
  • Microservices Deployments with Containers and Orchestrators
  • Microservices Resilience, Observability, Monitoring
  • Microservices Design Patterns and Best Practices
  • The Database-per-Service Pattern, Polyglot Persistence and The Shared Database Anti-Pattern
  • API Gateway Pattern, Backends for Frontends Pattern-BFF, Gateway Routing/Aggregation/Offloading Pattern
  • Service Aggregator Pattern, Service Registry/Discovery Pattern
  • Materialized View Pattern, Database Sharding Pattern, CAP Theorem
  • Fan-out Publish/Subscribe Messaging Pattern, Topic-Queue Chaining & Load Balancing Pattern
  • CQRS and Event Sourcing Patterns, Eventual Consistency Principle, CAP Theorem
  • SAGA Pattern — Choreography-based/Orchestration-based SAGA, Compensating Transaction Pattern
  • Transactional Outbox Pattern, Dual Write Problem
  • CDC — Change Data Capture with Outbox Pattern
  • Code Review for Existing Microservices Architecture Repository on GitHub
  • 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
  • Hands-on Design Activities, Iterate Design Architecture from On-Premises to Cloud Serverless architectures
  • Refactoring System Design for handling million of requests
  • Prepare for Software Architecture Interviews
  • Prepare for System Design Architecture Interviews