Урок 1. 00:07:53
Introduction
Урок 2. 00:03:18
Architecture Design Journey - Evolution of Architectures
Урок 3. 00:05:07
Way of Learning - The Course Flow
Урок 4. 00:05:15
Choosing the Right Architecture for your Application
Урок 5. 00:02:46
How to Follow the Course & Course Slides
Урок 6. 00:01:07
First Problem: Sell Products Online
Урок 7. 00:02:23
Understand E-Commerce Domain - Use Cases - Functional Requirement
Урок 8. 00:03:00
Understand E-Commerce Domain - Non-Functional Requirements
Урок 9. 00:03:38
Introduction - Monolithic Architecture
Урок 10. 00:04:04
When to use Monolithic Architecture
Урок 11. 00:01:45
Benefits of Monolithic Architecture
Урок 12. 00:03:18
Challenges of Monolithic Architecture
Урок 13. 00:03:48
Design principles of Monolithic Architecture -- KISS, YAGNI, DRY
Урок 14. 00:03:41
Design the Architecture - E-Commerce App - KISS & YAGNI
Урок 15. 00:01:58
Design & Iterate : Monolithic Architecture - E-Commerce Application
Урок 16. 00:01:19
Evaluate : Monolithic Architecture - E-Commerce Application
Урок 17. 00:01:23
Problem: Code Become Too Complex over time - Monolithic Architecture -E-Commerce
Урок 18. 00:03:37
Layered (N-Layer) Architecture
Урок 19. 00:02:07
Design principles - Separation of Concerns (SoC)
Урок 20. 00:04:06
Design principles - SOLID
Урок 21. 00:05:01
Design the Architecture - E-Commerce App - Layered Architecture
Урок 22. 00:02:01
Adapt Technology Stack - E-Commerce App - Layered Architecture
Урок 23. 00:05:28
DEMO: Layered Monolithic Architecture Code Review - E-Commerce App
Урок 24. 00:02:04
Evaluate: Layered Monolithic Architecture
Урок 25. 00:01:52
Problem: Highly Coupling Dependent Layers
Урок 26. 00:01:41
Introduction the Clean Architecture
Урок 27. 00:02:14
What is Clean Architecture
Урок 28. 00:01:05
The Dependency Rule
Урок 29. 00:02:42
Layers of Clean Architecture
Урок 30. 00:01:24
Benefits of Clean Architecture
Урок 31. 00:03:45
Design the Architecture - Clean Architecture - E-Commerce App
Урок 32. 00:01:29
Adapt: Clean Architecture - E-Commerce App
Урок 33. 00:10:31
DEMO: Clean Architecture Code Review - E-Commerce App
Урок 34. 00:02:44
Evaluate: Clean Architecture
Урок 35. 00:01:18
Problem: Increased Traffic, Handle More Request
Урок 36. 00:02:01
Introduction Scalability - Why need to Scale ?
Урок 37. 00:02:09
Scalability - Vertical Scaling - Horizontal Scaling
Урок 38. 00:01:46
Vertical Scaling - Scale up
Урок 39. 00:01:34
Horizontal Scaling - Scale out
Урок 40. 00:02:33
What is Load Balancer ? Use Load Balancer Split the Load with Consistent Hashing
Урок 41. 00:03:49
Design the Architecture - Scalability - E-Commerce App
Урок 42. 00:00:59
Adapt the Architecture - Scalability - Load Balancer - E-Commerce App
Урок 43. 00:04:17
Evaluate: Clean Architecture with Scalability - Load Balancer - E-Commerce App
Урок 44. 00:01:19
Problem: Agility of New Features, Split Agile Teams
Урок 45. 00:01:19
Introduction - Modular Monolithic Architecture
Урок 46. 00:04:19
What is Modular Monolithic Architecture ?
Урок 47. 00:01:37
Benefits of Modular Monolithic Architecture
Урок 48. 00:00:52
Challenges of Modular Monolithic Architecture
Урок 49. 00:02:18
When to use Modular Monolithic Architecture
Урок 50. 00:05:11
Monolith First Approaches from Martin Fowler and Sam Newman
Урок 51. 00:01:56
Monolithic Architecture Vertical Considerations, Communications of Monolithic
Урок 52. 00:02:17
Transaction Management of Monolithic Architecture
Урок 53. 00:01:15
Deployments of Monolithic Architecture
Урок 54. 00:04:16
Design the Architecture - Modular Monolithic Architecture - E-Commerce App
Урок 55. 00:02:10
Evaluate: Complexity of Presentation UI Operations- Modular Monolithic Architect
Урок 56. 00:01:53
Problem: Improved customer experience with Separated UI and Omnichannel
Урок 57. 00:03:22
Headless Architecture and Separated Presentation with SPA
Урок 58. 00:03:25
Design the Architecture - Modular Monolithic Architecture with SPA -Separated UI
Урок 59. 00:01:45
Adapt the Architecture - Modular Monolithic Architecture with SPA - Separated UI
Урок 60. 00:10:39
DEMO: Modular Monolithic Architecture Code Review - E-Commerce App
Урок 61. 00:03:31
Evaluate: Modular Monolithic Architecture with SPA
Урок 62. 00:02:24
Problem: Agility of New Features, Split Agile Teams
Урок 63. 00:02:19
Introduction - Microservices Architecture
Урок 64. 00:01:36
What are Microservices ?
Урок 65. 00:02:43
What is Microservices Architecture ?
Урок 66. 00:04:17
Microservices Characteristics
Урок 67. 00:05:44
Benefits of Microservices Architecture
Урок 68. 00:04:03
Challenges of Microservices Architecture
Урок 69. 00:05:27
When to Use Microservices Architecture - Best Practices
Урок 70. 00:04:59
When Not to Use Microservices - Anti-Patterns of Microservices
Урок 71. 00:04:42
Monolithic vs Microservices Architecture Comparison
Урок 72. 00:03:19
The Database-per-Service Pattern - Polyglot Persistence
Урок 73. 00:04:49
Design the Architecture - Microservices Architecture - First Iteration
Урок 74. 00:02:23
Adapt the Architecture - Microservices Architecture - First Iteration
Урок 75. 00:02:46
Evaluate: Microservices Architecture - First Iteration
Урок 76. 00:01:27
Problem: Break Down Application into Microservices
Урок 77. 00:02:41
Introduction - Decomposition of Microservices Architecture
Урок 78. 00:04:45
Why we need to Decompose ? - The Scale Cube
Урок 79. 00:01:57
Microservices Decomposition Pattern - Decompose by Business Capability
Урок 80. 00:01:46
Microservices Decomposition Pattern - Decompose by Subdomain
Урок 81. 00:03:50
Bounded Context Pattern (Domain-Driven Design - DDD)
Урок 82. 00:03:47
Identify Bounded Context Boundaries for Each Microservices
Урок 83. 00:03:49
Using Domain Analysis to Model Microservices and Checklist After Decomposition
Урок 84. 00:02:23
Analysis E-Commerce Domain - Use Cases
Урок 85. 00:04:04
Analysis E-Commerce Domain - Nouns and Verbs
Урок 86. 00:02:58
Identifying and Decomposing Microservices for E-Commerce Domain
Урок 87. 00:02:47
Design & Adapt: Microservices Architecture with Decomposition Patterns
Урок 88. 00:01:54
Evaluate & Problem : Microservices Architecture and Client-Service Communication
Урок 89. 00:03:16
Introduction - Microservices Communications - The Basics
Урок 90. 00:03:46
What is Changed for Communications Between Monolithic to Microservices
Урок 91. 00:05:54
Microservices Communication Types - Synchronous or Asynchronous Communication
Урок 92. 00:06:54
Microservices Communication Styles: Request-Driven or Event-Driven Architecture
Урок 93. 00:04:40
Microservices Synchronous Communications and Best Practices
Урок 94. 00:03:50
Designing HTTP based RESTful APIs for Microservices
Урок 95. 00:05:04
RESTful API design for Microservices
Урок 96. 00:04:01
RESTful API design for Single Microservices
Урок 97. 00:06:32
RESTful API design for E-Commerce Microservices
Урок 98. 00:01:22
API versioning in Microservices RESTful APIs
Урок 99. 00:04:40
Design: Microservices Architecture with RESTful API design
Урок 100. 00:02:18
Evaluate: Microservices Architecture with RESTful API design
Урок 101. 00:01:45
Problem: Multiple Request (N+1) for Retrieving Relational Data
Урок 102. 00:02:41
GraphQL: A query language for APIs
Урок 103. 00:02:44
GraphQL Core Concepts: Schemas, Queries, Mutations and Resolvers
Урок 104. 00:02:59
Advantages and disadvantages of GraphQL
Урок 105. 00:01:44
REST vs GraphQL APIs
Урок 106. 00:03:41
Fetching data with REST and GraphQL
Урок 107. 00:02:57
Design & Evaluate: Microservices Architecture with GraphQL API design
Урок 108. 00:04:12
Problem: Inter-service communication makes heavy load on network traffic
Урок 109. 00:01:36
gRPC: High Performance Remote Procedure Calls
Урок 110. 00:01:44
How gRPC works ?
Урок 111. 00:00:59
Main Advantages of gRPC
Урок 112. 00:01:11
When to use gRPC ? Use Cases of gRPC
Урок 113. 00:02:00
gRPC Usage in Microservices Communication
Урок 114. 00:02:46
Design & Evaluate: Microservices Architecture with gRPC API design
Урок 115. 00:01:19
Problem: Chat with Support Agent to answer Customer queries
Урок 116. 00:02:40
WebSocket API: Real-time two-way communications
Урок 117. 00:01:50
When to use WebSocket API and Uses Cases of WebSocket API
Урок 118. 00:02:08
Design & Evaluate: Microservices Architecture with WebSocket API Design
Урок 119. 00:03:44
Problem: Direct Client-to-Service Communication
Урок 120. 00:03:03
Introduction: Microservices Communication Patterns - API Gateways
Урок 121. 00:01:32
Problems of Direct-to-Microservices Communication
Урок 122. 00:03:56
Why should we use API Gateway ?
Урок 123. 00:01:34
The Solution - API Gateway Patterns
Урок 124. 00:02:52
Gateway Routing pattern
Урок 125. 00:03:12
Gateway Aggregation Pattern
Урок 126. 00:02:47
Gateway Offloading Pattern
Урок 127. 00:02:47
API Gateway Pattern
Урок 128. 00:02:41
Main Features of API Gateway Pattern
Урок 129. 00:03:15
A Request Flow of API Gateway Pattern
Урок 130. 00:03:57
Design & Evaluate: Microservices Architecture with API Gateway Design
Урок 131. 00:03:09
Problem: Client Apps has Different UI Requirements
Урок 132. 00:04:28
Backends for Frontends Pattern-BFF
Урок 133. 00:03:23
Design & Evaluate: Microservices Architecture with Backends for Frontend Pattern
Урок 134. 00:02:56
Service-to-Service Communications between Backend Internal Microservices
Урок 135. 00:02:10
Service-to-Service Communications Chain Queries
Урок 136. 00:01:23
Problem: Service-to-Service Communications Chain Queries
Урок 137. 00:01:52
Service Aggregator Pattern - Microservices Communications Design patterns
Урок 138. 00:05:55
Service Registry/Discovery Pattern - Microservices Communications Design pattern
Урок 139. 00:04:19
Design & Evaluate: Microservices Architecture with Service Aggregator, Registry
Урок 140. 00:02:55
Adapt the Architecture - Microservices Architecture - Second Iteration
Урок 141. 00:04:04
Problem: Long Running Operations Can't Handle with Sync Communication
Урок 142. 00:02:17
Introduction - Microservices Asynchronous Message-Based Communication
Урок 143. 00:05:09
Microservices Asynchronous Communication
Урок 144. 00:02:45
Benefits of Asynchronous Communication
Урок 145. 00:01:43
Challenges of Asynchronous Communication
Урок 146. 00:02:03
Asynchronous Message-Based Communication Types in Microservices Architecture
Урок 147. 00:01:42
Single-receiver Message-based Communication (one-to-one model-queue)
Урок 148. 00:04:02
Multiple-receiver Message-based Communication (one-to-many model-topic)
Урок 149. 00:04:02
Design Principles - Dependency Inversion Principles (DIP)
Урок 150. 00:04:37
Fan-Out Publish/Subscribe Messaging Pattern
Урок 151. 00:04:33
Topic-Queue Chaining & Load Balancing Pattern
Урок 152. 00:02:30
Design: Microservices Architecture with Fan-Out Publish/Subscribe Messaging
Урок 153. 00:02:54
Adapt: Microservices Architecture with Fan-Out Publish/Subscribe Messaging
Урок 154. 00:02:03
Evaluate: Microservices Architecture with Fan-Out Publish/Subscribe Messaging
Урок 155. 00:03:59
Problem: Databases Create Bottlenecks When Scaling
Урок 156. 00:02:32
What is Apache Kafka ?
Урок 157. 00:01:11
Apache Kafka Benefits
Урок 158. 00:01:54
Apache Kafka Use Cases
Урок 159. 00:04:11
Kafka Components - Topic, Partitions, Offset and Replication Factor
Урок 160. 00:02:51
Apache Kafka Cluster Architecture
Урок 161. 00:02:23
Apache Kafka Core APIs - Producer, Consumer, Streams and Connect API
Урок 162. 00:01:20
What is RabbitMQ ?
Урок 163. 00:02:26
RabbitMQ Components: Producer, Queue, Consumer, Message, Exchange, Binding
Урок 164. 00:02:09
RabbitMQ Exchange Types: Direct, Fanout, Topic, and Headers
Урок 165. 00:01:39
RabbitMQ Architecture
Урок 166. 00:05:13
Introduction - Scale the Microservices Architecture Design
Урок 167. 00:04:30
The Scale Cube
Урок 168. 00:04:31
Stateless and Stateful Application Horizontal Scaling
Урок 169. 00:04:39
Introduction - Microservices Data Management
Урок 170. 00:03:41
Polyglot Persistence Principle in Microservices
Урок 171. 00:05:18
Microservices Database Management Patterns and Principles
Урок 172. 00:03:59
Design Patterns - The Database-per-Service Pattern
Урок 173. 00:03:51
The Shared Database Anti-Pattern and Polyglot Persistence
Урок 174. 00:03:40
Relational and NoSQL Databases - Document, Key-value, Graph-based, Column-based
Урок 175. 00:03:36
NoSQL Databases Types - Document, Key-value, Graph-based, Column-based Databases
Урок 176. 00:02:48
When to Use Relational Databases ?
Урок 177. 00:04:27
When to Use No-SQL Databases ?
Урок 178. 00:03:32
Best Practices When Choosing Data Store - Use Right Tool for Right Job
Урок 179. 00:07:01
How to Choose a Database for Microservices
Урок 180. 00:05:01
CAP Theorem
Урок 181. 00:02:23
Problem: Single Database Server Performs Low Performance
Урок 182. 00:02:56
What is Data Partitioning ? and Why we are using Data Partitioning ?
Урок 183. 00:04:30
Data Partitioning: Horizontal, Vertical and Functional Data Partitioning
Урок 184. 00:02:36
Database Sharding Pattern
Урок 185. 00:01:15
Tinder System Design Example of Database Sharding Pattern
Урок 186. 00:02:48
Cassandra No-Sql Database - Peer-to-Peer Distributed Wide Column Database
Урок 187. 00:04:09
Design: Microservices Architecture with Database Sharding Pattern
Урок 188. 00:02:36
Adapt: Microservices Architecture with Database Sharding Pattern - Cassandra
Урок 189. 00:01:58
Evaluate: Microservices Architecture with Database Sharding Pattern - Cassandra
Урок 190. 00:01:48
Problem: Cross-Service Queries and Write Commands on Distributed Scaled Database
Урок 191. 00:03:39
Introduction - Microservices Data Management - Commands and Queries
Урок 192. 00:07:02
Microservices Data Management - Cross-Service Queries
Урок 193. 00:03:23
Problem: Cross-Service Queries with Sync Response, Decouple Way and Low Latency
Урок 194. 00:05:02
Materialized View Pattern
Урок 195. 00:05:36
CQRS — Command Query Responsibility Segregation Pattern
Урок 196. 00:02:36
CQRS — Benefits and Drawbacks
Урок 197. 00:03:06
Best Practices for CQRS and Instagram Database Architecture with CQRS
Урок 198. 00:03:14
How to Sync Read and Write Databases in CQRS ?
Урок 199. 00:02:15
Event Sourcing Pattern
Урок 200. 00:03:59
CQRS with Event Sourcing Pattern
Урок 201. 00:02:51
Eventual Consistency Principle
Урок 202. 00:03:02
Design: Instagram System Architecture
Урок 203. 00:02:59
Design: Instagram Database Architecture
Урок 204. 00:03:31
Design: Microservices Architecture with CQRS, Event Sourcing,Eventual Consistent
Урок 205. 00:03:01
Adapt: Microservices Architecture with CQRS, Event Sourcing, Eventual Consistent
Урок 206. 00:03:11
Evaluate: Microservices Architecture with CQRS, Event Sourcing, Eventual Consist
Урок 207. 00:03:29
Problem: Manage Consistency Across Microservices in Distributed Transactions
Урок 208. 00:04:18
Introduction - Microservices Distributed Transactions
Урок 209. 00:02:36
Transaction Fundamentals and ACID Principles
Урок 210. 00:02:04
Transaction Management of Monolithic Architecture
Урок 211. 00:07:12
Microservices Distributed Transactions
Урок 212. 00:03:38
Microservices Bounded Context for Transactional Boundaries
Урок 213. 00:05:54
Microservices Transactional Boundaries
Урок 214. 00:04:54
SAGA Pattern for Distributed Transactions
Урок 215. 00:05:12
SAGA Pattern - Choreography-based SAGA Implementation
Урок 216. 00:03:09
SAGA Pattern - Orchestration-based SAGA Implementation
Урок 217. 00:02:23
Compensating Transaction Pattern
Урок 218. 00:05:07
Problem: Dual Write Problem
Урок 219. 00:02:56
Transactional Outbox Pattern
Урок 220. 00:04:06
Transactional Outbox Pattern in Microservices
Урок 221. 00:02:58
Problem: Listen and Polling Outbox Table
Урок 222. 00:01:41
What is CDC - Change Data Capture ?
Урок 223. 00:05:50
CDC - Change Data Capture with Outbox Pattern
Урок 224. 00:02:30
Implementation of CDC and Outbox Pattern with Cloud Databases - CockroachDB
Урок 225. 00:06:36
Implementation of CDC and Outbox Pattern with Cloud Databases: Azure CosmosDB
Урок 226. 00:07:10
Design: Microservices Architecture with SAGA, Outbox Pattern and CDC
Урок 227. 00:02:12
Adapt: Microservice Architecture with SAGA, Transactional Outbox and CDC Pattern
Урок 228. 00:04:36
Evaluate: Microservices Architecture with SAGA, Transactional Outbox and CDC
Урок 229. 00:02:05
Problem: Handle Millions of Events Across Microservices
Урок 230. 00:03:04
Introduction - Event-Driven Microservices Architectures
Урок 231. 00:02:58
Event-Driven Microservices Architecture
Урок 232. 00:01:59
Real-time Processing and High Volume Events in Event-Driven Microservices
Урок 233. 00:03:15
Event Hubs and Event Streaming in Event-Driven Microservices Architecture
Урок 234. 00:03:15
Real-world Examples of Event-Driven Microservices Architecture
Урок 235. 00:02:35
Design: Event-Driven Microservices Architecture
Урок 236. 00:02:21
Adapt: Event-Driven Microservices Architecture
Урок 237. 00:03:30
Evaluate: Event-Driven Microservices Architecture
Урок 238. 00:02:56
Problem: Database operations are expensive, low performance
Урок 239. 00:02:24
Introduction - Microservices Distributed Caching
Урок 240. 00:01:31
What is Caching ?
Урок 241. 00:01:19
Types of Caching
Урок 242. 00:04:02
Distributed Caching in Microservices
Урок 243. 00:01:28
Cache Hit and Cache Miss
Урок 244. 00:05:21
Caching Strategies in Distributed Caching for Microservices
Урок 245. 00:03:29
Cache-Aside Pattern for Microservices
Урок 246. 00:03:35
Design: Microservices Distributed Caching with Cache-Aside Pattern
Урок 247. 00:02:46
Adapt: Microservices Distributed Caching with Cache-Aside Pattern
Урок 248. 00:02:24
Evaluate: Microservices Distributed Caching with Cache-Aside Pattern
Урок 249. 00:03:48
Problem: Deploy Microservices at Anytime with Zero-downtime and flexible scale
Урок 250. 00:03:07
Introduction - Microservices Deployments with Containers and Orchestrators
Урок 251. 00:04:23
What are Containers ?
Урок 252. 00:01:26
What is Docker ?
Урок 253. 00:02:24
Docker Containers, Images, and Registries
Урок 254. 00:02:29
Why we use them for microservices deployments ?
Урок 255. 00:04:24
What are Container Orchestrators ?
Урок 256. 00:02:43
What is Kubernetes and why we use them for microservices deployments ?
Урок 257. 00:04:41
Kubernetes Architecture
Урок 258. 00:04:35
Kubernetes Components
Урок 259. 00:02:15
Helm Charts with Kubernetes for Microservices Deployments
Урок 260. 00:06:11
Sidecar Pattern and How Does the Sidecar Pattern Work for Microservices Deploy
Урок 261. 00:03:14
Service Mesh Pattern and How Does the Service Mesh Pattern Work for Microservice
Урок 262. 00:02:24
Devops and CI/CD Pipelines for Microservices Deployments
Урок 263. 00:03:57
CI/CD Pipeline Steps for Microservices Deployments
Урок 264. 00:04:58
CI/CD Tools for Microservices Deployments
Урок 265. 00:02:41
Deployment Strategies for Microservices: Blue-green, rolling and canary deploy
Урок 266. 00:02:15
Infrastructure as Code (IaC) and usage in Microservices Deployments
Урок 267. 00:07:54
Design: Microservices Deployments with Containers and Orchestrators
Урок 268. 00:07:29
Adapt: Microservices using Containers and Orchestrators
Урок 269. 00:03:17
Evaluate: Microservices with using Containers and Orchestrators
Урок 270. 00:03:53
Problem: Fault tolerance Microservices able to remains operational for any fail
Урок 271. 00:04:35
Introduction - Microservices Resilience, Observability and Monitoring
Урок 272. 00:04:26
What is Microservices Resiliency
Урок 273. 00:03:48
Microservices Resiliency Patterns
Урок 274. 00:04:17
Retry Pattern
Урок 275. 00:04:09
Circuit Breaker Pattern
Урок 276. 00:01:11
Circuit Breaker States
Урок 277. 00:03:58
Retry + Circuit Breaker Pattern
Урок 278. 00:04:54
Bulkhead Pattern
Урок 279. 00:01:47
Timeout Pattern
Урок 280. 00:01:32
Fallback Pattern
Урок 281. 00:04:26
Microservices Observability with Distributed Logging and Distributed Tracing
Урок 282. 00:05:38
Elastic Stack for Microservices Observability with Distributed Logging
Урок 283. 00:03:37
Microservices Distributed Tracing with OpenTelemetry using Zipkin
Урок 284. 00:02:54
Microservices Health Checks: Liveness, Readiness and Performance Checks
Урок 285. 00:03:22
Microservices Health Monitoring with Kubernetes, Prometheus and Grafana
Урок 286. 00:04:36
Design: Microservices Resilience, Observability and Monitoring
Урок 287. 00:02:20
Adapt: Microservices Resilience, Observability and Monitoring
Урок 288. 00:08:36
Implementation of Microservices Architecture
Урок 289. 00:16:20
DEMO: Microservices Architecture Code Review - E-Commerce App
Урок 290. 00:08:04
Catalog Microservices Code Review - E-Commerce App
Урок 291. 00:10:07
Basket Microservices Code Review - E-Commerce App
Урок 292. 00:05:04
Discount Microservices Code Review - E-Commerce App
Урок 293. 00:06:35
Ordering Microservices Code Review - E-Commerce App
Урок 294. 00:07:06
API Gateways Microservices Code Review - E-Commerce App
Урок 295. 00:03:32
Client Applications Code Review - E-Commerce App
Урок 296. 00:08:26
Microservices Resilience, Observability, Monitoring Code Review - E-Commerce App
Урок 297. 00:02:28
Introduction - Serverless Microservices
Урок 298. 00:05:01
AWS Serverless Microservices with Patterns & Best Practices
Урок 299. 00:04:38
AWS Lambda as a Microservice
Урок 300. 00:04:26
Mapping Microservice Architecture with AWS Serverless Services for Microservice
Урок 301. 00:06:22
Event-driven Serverless Microservices Design with AWS Lambda
Урок 302. 00:01:03
Thanks