Design Microservices Architecture with Patterns & Principles
Evolve from Monolithic to Event-driven Microservices Architecture with designing High Scalable and High Available system
Microservices,Software Engineering,Architectural Design,Other IT & Software
Lectures -293
Duration -17 hours
30-days Money-Back Guarantee
Get your team access to 8,500+ top Tutorials Point courses anytime, anywhere.
Course Description
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.
Goals
What will you learn in this course:
- Learn how to handle millions of requests by designing a system for high availability, high scalability, low latency, and resilience to network failures on microservices distributed architectures with real-world example projects.
Prerequisites
What are the prerequisites for this course?
- Software Architecture Basics

Curriculum
Check out the detailed breakdown of what’s inside the course
Course Introduction
5 Lectures
-
Introduction 07:52 07:52
-
Architecture Design Journey - Evolution of Architectures 03:17 03:17
-
Way of Learning - The Course Flow 05:06 05:06
-
Choosing the Right Architecture for your Application 05:14 05:14
-
How to Follow the Course & Course Slides 02:45 02:45
Understand E-Commerce Domain
3 Lectures

Monolithic Architecture
9 Lectures

Layered (N-Layer) Architecture
8 Lectures

Clean Architecture
10 Lectures

Scalability - Vertical Scaling - Horizontal Scaling
9 Lectures

Modular Monolithic Architecture
18 Lectures

Microservices Architecture
14 Lectures

Decomposition of Microservices Architecture
12 Lectures

Microservices Communications - The Basics
31 Lectures

Microservices Communication Patterns - API Gateways
22 Lectures

Microservices Asynchronous Message-Based Communication
14 Lectures

[OPTIONAL] Kafka and RabbitMQ Architectures
10 Lectures

Scale the Microservices Architecture Design
3 Lectures

Microservices Data Management - Choosing Right Database
22 Lectures

Microservices Data Management - Commands and Queries
17 Lectures

Microservices Distributed Transactions
22 Lectures

Event-Driven Microservices Architectures
9 Lectures

Microservices Distributed Caching
11 Lectures

Microservices Deployments with Containers and Orchestrators
21 Lectures

Microservices Resilience, Observability and Monitoring
17 Lectures

DEMO: E-commerce Implementation of Microservices Architecture
9 Lectures

Serverless Microservices Architecture
6 Lectures

Instructor Details

Mehmet Özkaya
Creator of GitHub aspnetrun and awsrun repositories
I have been 15+ years working experience on Software Development Industry as a Software/Solutions Architect positions at global companies.
Focused on Microservices Architectures on .NET, AWS and Azure ecosystems.
Developed microservices repositories on GitHub and create Tutorialspoint courses from real-world applications.
Also create courses about Designing Software Architectures for Cloud-Native and Serverless Event-driven Microservices.
I have regularly develop on GitHub, blog on Medium.
GitHub : mehmetozkaya
GitHub : awsrun - aspnetrun
Course Certificate
User your certification to make a career change or to advance in your current career. Salaries are among the highest in the world.

Our students work
with the Best


































Related Video Courses
View MoreAnnual Membership
Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses
Subscribe now
Online Certifications
Master prominent technologies at full length and become a valued certified professional.
Explore Now