-
Course
- Core Tech
Fundamentals of Distributed Systems
Making a reliable centralized application is hard enough, but distributed systems require some extra consideration. This course will teach you the important concepts and basic patterns of reliable distributed systems.
What you'll learn
Distributed systems are hard to build, complicated to run, and difficult to understand. If you need one, then it’s because a centralized application just won't do. In this course, Fundamentals of Distributed Systems, you’ll learn to build and operate complex systems made of loosely connected services. First, you’ll explore the properties of a reliable service. Next, you’ll discover how to connect services together using messages and APIs. Finally, you’ll learn how to apply patterns to tackle hard collaborative problems. When you’re finished with this course, you’ll have the skills and knowledge of distributed systems needed to design and operate software at a global scale.
Table of contents
- Being a Good Distributed Citizen | 2m 32s
- Fallacies of Distributed Computing | 2m 4s
- The Problems with CRUD | 3m 9s
- Idempotence | 4m 17s
- Default CRUD Behavior | 2m 46s
- Client-side ID | 3m 28s
- CQRS | 2m 58s
- Immutable Data | 3m 4s
- Snapshots and Tombstones | 5m 13s
- Migrating to Immutable Records | 4m 36s
- Location Independence | 4m 37s
- Content-addressed Storage | 3m 10s
- Versioning Data | 3m 46s
- Versioning APIs | 3m 41s
- Overview of a Reliable Application | 2m 33s
About the author
Mathematician and software developer, Michael L Perry applies formal proof to creating reliable software. He has developed a method starting from the works of the greats (Meyer, Rumbaugh, Knuth), and embodied it in his open-source frameworks (Update Controls and Correspondence).
More Courses by Michael