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?
-
Updated 4mo agoWeb Application & Software Architecture 101
By: Shivang SarawagiLearn the fundamentals of software and web application architecture design. The course is suitable for beginners and helps you become a full-stack developer. -
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 -
Updated 2y agoThe Software Architect Mindset (COMPLETE)
By: ArjanCodes (Arjan Egges)The The Software Architect Mindset course teaches the fundamentals of software architecture and provides practical advice on creating software products that.12h 6m5/5 -
Updated 2y agoClean Code Zero to One
By: Shahan Chowdhury"Clean Code Zero to One" is a guide on writing clean and maintainable code, based on the modern practices of Robert C. Martin (Uncle Bob). -
Updated 2y agoStripe Payments Cloud Functions
By: FireshipThis course has been deprecated! While the code here will still work, the it is recommended that you use the latest Stripe APIs shown in the new.1h 10m -
Updated 2y agoClean Code: Writing Code for Humans
By: PluralsightAnyone can write code a computer can understand, but professional developers write code *humans* can understand. Clean code is a reader-focused development styl3h 10m -
Updated 11mo agoSystem Design for Beginners
By: Arpit Bhayani"System Design for Beginners" is a course for beginners in a convenient self-paced format.12h 2m5/5