Udi Dahan is one of the world’s foremost experts on Service-Oriented Architecture, Distributed Systems and Domain-Driven Design. He's also the creator of NServiceBus, the most popular service bus for .NET.
Advanced Distributed Systems Design
Advanced Distributed Systems Design is a 97-lesson 32 hours 22 minutes self-paced course by Udi Dahan. Udi Dahan is one of the world’s foremost experts on Service-Oriented Architecture, Distributed Systems and Domain-Driven Design.
Course facts
- Lessons
- 97
- Duration
- 32 hours 22 minutes
- Level
- All levels
- Language
- English
- Updated
- Instructor
- Udi Dahan
- Price
- Free
Everything you should know about distributed systems design
This online course on modern architecture design practices for distributed systems with Service-Oriented Architecture will change the way you think about designing software systems.
- Are you sold on the concept of microservices but struggle to implement them in your system?
- Are you tired of spending every day trying to tame the big ball of mud monster?
- Does the coupling of your system components make your software hard to deliver and impossible to scale?
We've recorded an entire week of distributed design training by Udi Dahan containing everything you wish you'd known years ago about distributed systems design, such as:
- Avoiding common pitfalls in distributed systems
- Using loosely coupled messaging communication
- Identifying and allocating business logic to services
- Decomposing services into layers, tiers and processes
- Designing for service management and monitoring in production environments
Now you can fast-track your way to building a scalable distributed system at your own pace.
And the best part?
You can learn to master the principles in this course wherever and whenever, which makes this course:
- More convenient to attend: all you need to attend is an internet connection and a browser
- More cost-effective: you won't have to travel abroad
- Easier to approve: you won't necessarily need to take time off
More flexible: you can time-travel by going back and forth, or even increase the playback speed
In this course you'll get:
- 5 days worth of expert systems design training
- Lifetime access to the course material
- Lifetime access to the ADSD alumni forum
- Copy of slides used in the course
Who teaches Advanced Distributed Systems Design? Udi Dahan
Udi Dahan is the founder and CEO of Particular Software (the company behind the NServiceBus messaging framework), a long-running speaker on distributed systems, and one of the practitioners most associated with bringing Domain-Driven Design and event-driven architecture into mainstream .NET enterprise practice. His material is taught at the level of senior architects designing systems that will run in production for a decade.
The CourseFlix listing carries Advanced Distributed Systems Design — a course aimed at architects and senior engineers working on multi-service systems where the trade-offs around messaging, consistency, and failure modes drive the architecture.
What lessons are included in Advanced Distributed Systems Design?
- Space or K: play or pause
- J: rewind 10 seconds
- L: forward 10 seconds
- Left Arrow: rewind 5 seconds
- Right Arrow: forward 5 seconds
- Up Arrow: volume up
- Down Arrow: volume down
- M: mute or unmute
- F: toggle fullscreen
- T: toggle theater mode
- I: toggle mini player
- 0 to 9: seek to 0 to 90 percent of the video
- Shift plus N: next video
- Shift plus P: previous video
| # | Lesson Title | Duration |
|---|---|---|
| 1 | Introduction: Systems vs. Applications | 06:11 |
| 2 | Fallacy #1: The network is reliable | 13:44 |
| 3 | Fallacy #2: Latency isn’t a problem | 16:46 |
| 4 | Fallacy #3: Bandwidth isn’t a problem | 25:11 |
| 5 | Fallacy #4: The network is secure | 13:59 |
| 6 | Fallacy #5: The network topology won’t change | 09:21 |
| 7 | Fallacy #6: The admin will know what to do | 12:10 |
| 8 | Fallacy #7: Transport cost isn’t a problem | 13:41 |
| 9 | Fallacy #8: The network is homogeneous | 11:43 |
| 10 | Summary: 8 fallacies of distributed computing | 06:07 |
| 11 | Fallacy #9: The system is atomic | 13:15 |
| 12 | Fallacy #10 : The system is finished | 18:36 |
| 13 | Fallacy #10: Towards a better development process | 26:18 |
| 14 | Fallacy #11 : The business logic can and should be centralized | 22:40 |
| 15 | Coupling in applications: afferent and efferent | 26:00 |
| 16 | Coupling in systems: platform, temporal and spatial | 11:56 |
| 17 | Coupling solutions: platform | 16:22 |
| 18 | Coupling solutions: temporal and spatial | 22:01 |
| 19 | Coupling: summary and Q&A | 12:56 |
| 20 | Why messaging? | 01:56 |
| 21 | One-way, fire & forget | 10:14 |
| 22 | Performance: messaging vs RPC | 18:41 |
| 23 | Service interfaces vs strongly-typed messages | 27:23 |
| 24 | Fault tolerance | 22:11 |
| 25 | Auditing | 05:16 |
| 26 | Web Services invocation | 26:19 |
| 27 | Exercise: selling messaging to your organization - overview | 05:57 |
| 28 | Exercise: selling messaging to your organization - discussion (part 1) | 22:36 |
| 29 | Exercise: selling messaging to your organization - discussion (part 2) | 30:41 |
| 30 | Exercise: selling messaging to your organization - summary | 16:47 |
| 31 | ealing with out of order messages | 07:35 |
| 32 | Request-response | 18:29 |
| 33 | Publish-subscribe | 20:22 |
| 34 | Publish-subscribe: topics | 22:42 |
| 35 | Exercise: dealing with out of order messages - overview | 25:28 |
| 36 | Exercise: dealing with out of order messages - solutions | 39:41 |
| 37 | Visualization | 14:39 |
| 38 | Messaging patterns: summary | 03:42 |
| 39 | Intro to architectural styles | 07:42 |
| 40 | Architectural styles: Broker | 24:28 |
| 41 | Architectural styles: Bus | 22:24 |
| 42 | Architectural styles: Bus vs Broker | 19:32 |
| 43 | SOA tenets | 17:59 |
| 44 | Service example | 14:41 |
| 45 | Q&A | 24:38 |
| 46 | Services modelling: Workflows, boundaries and business capabilities | 22:32 |
| 47 | UI composition and Branding service | 22:04 |
| 48 | IT/Ops service | 29:44 |
| 49 | Exercise: services modelling (hotel) - overview | 15:33 |
| 50 | Exercise: services modelling (hotel) - solutions | 23:43 |
| 51 | SOA modelling process and approach | 17:52 |
| 52 | Domain analysis: Hotel | 21:41 |
| 53 | Domain analysis: Hotel - payment | 29:11 |
| 54 | Domain analysis: Hotel - booking | 23:43 |
| 55 | Domain analysis: Hotel - check-in | 18:45 |
| 56 | usiness components | 29:22 |
| 57 | Autonomous components | 33:33 |
| 58 | Autonomous components: deployment | 44:24 |
| 59 | Service boundaries | 32:56 |
| 60 | Reporting | 22:24 |
| 61 | Referential integrity | 15:12 |
| 62 | Team structure | 37:02 |
| 63 | Intro to CQRS | 11:41 |
| 64 | Non-collaborative domains | 35:38 |
| 65 | Collaborative domains | 55:21 |
| 66 | CQRS theory | 01:04:55 |
| 67 | CQRS in action | 15:20 |
| 68 | CQRS: summary | 04:23 |
| 69 | Q&A: event sourcing | 08:55 |
| 70 | Q&A: search, reporting, and requirements vs user wishes | 13:03 |
| 71 | Engine pattern | 11:24 |
| 72 | Q&A: engine pattern | 37:25 |
| 73 | Deployment | 13:54 |
| 74 | Monitoring | 21:33 |
| 75 | Scaling | 20:01 |
| 76 | Fault-tolerance, backups, disaster recovery | 17:49 |
| 77 | Versioning | 08:50 |
| 78 | Sagas: long-running processes | 21:44 |
| 79 | Sagas: request-response | 19:43 |
| 80 | Sagas: event-driven | 16:27 |
| 81 | Sagas: time component | 15:39 |
| 82 | Exercise: saga design - overview | 16:41 |
| 83 | Exercise: saga design - solutions | 56:03 |
| 84 | Domain models | 14:06 |
| 85 | Testing domain models | 03:39 |
| 86 | Domain models deployment | 09:23 |
| 87 | Concurrency models | 07:21 |
| 88 | Realistic concurrency | 24:49 |
| 89 | Domain models: sagas | 14:49 |
| 90 | The rewrite tax | 08:36 |
| 91 | Phase 1: Good programming practices | 13:36 |
| 92 | Phase 2: Pub/sub | 17:04 |
| 93 | Phase 3: carve out pieces | 23:36 |
| 94 | Phase 4: attack the database | 49:27 |
| 95 | Caching | 22:15 |
| 96 | Content Delivery Networks | 21:00 |
| 97 | Personalization | 15:17 |
What courses are similar to Advanced Distributed Systems Design?
-
FreeClassicThe System Design Masterclass
By: Arpit BhayaniA masterclass that helps you become great at designing scalable, fault-tolerant, and highly available systems. This is a prime and intermediate-level cohort-bas43h 13m4/5 -
Updated 2y agoMicroservices: Clean Architecture, DDD, SAGA, Outbox & Kafka
By: UdemyHi there! My name is Ali Gelenler. I'm here to help you learn microservices architecture while applying Clean and Hexagonal Architectures and using Domain Drive18h 2m -
Updated 2y agoThe Software Designer Mindset (COMPLETE)
By: ArjanCodes (Arjan Egges)"The Software Designer Mindset" is a course that teaches all aspects of software architecture and offers practical advice on creating scalable software.14h 32m -
Updated 3mo agoLatency. Reduce delay in software systems
By: Pekka EnbergExplore how to reduce software latency using modeling and optimization techniques. A practical guide to eliminating latency from an expert in the field. -
Updated 3mo agoDistributed Systems
By: Oz Nova (CS Primer)Discover the world of distributed systems - a dynamic field where the evolution of multiple computers has transformed both quantity and distribution.19h 12m -
ClassicSystem Design Course
By: get.interviewready.ioIn this course, you’ll get a deep understanding of system design concepts. Full guide. Architectural schemes, capacity planning, API list, tests, Faq.92h 26m4/5 -
Updated 2y agoIntroduction to Microsoft Orleans
By: PluralsightMicrosoft Orleans, the Virtual Actor Framework developed by Microsoft Research is ideal for building distributed high scale systems with C#.1h 45m -
Updated 3y agoSystems Design Fundamentals
By: AlgoExpertThe most important ingredient to success in systems design interviews is having extensive knowledge in the areas of distributed computing, reliability engineeri10h 2m5/5