Distributed systems aren’t always traditionally distributed systems. Essentially, any non distributed system that has human involvement in it becomes a distributed system.
Some things that can be modeled as distributed systems that might be unusual:
- Teams, even local ones. CAP Theorem for Software Engineering
- Build Systems, IDEs, Compilers. (Differences Between Build Systems, Package Managers, Compilers, and IDEs)
Further reading:
- Harvest, Yield, and Scalable Tolerant Systems
- https://codahale.com/you-cant-sacrifice-partition-tolerance/#fn:4
- https://www.ably.io/blog/implementing-efficient-consistent-hashing
- https://github.com/aphyr/distsys-class
- https://blog.pragmaticengineer.com/preparing-for-the-systems-design-and-coding-interviews/
- https://blog.pragmaticengineer.com/system-design-interview-an-insiders-guide-review/