There's a growing area where I see a lot of people starting to get involved with distributed system who didn't have to deal with it before: rich in-browser apps with their own permanent storage. Once you have a Javascript application with state speaking over one or more APIs to your backend services, you're in the domain of distributed system design. Especially if you use the application cache and support offline ope…
https://github.com/daleharvey/pouchdb
Since Couch has a master-master replication protocol the database in the browser can just sync with the one on the server. Then the network gets disconnected but that's alright. When it gets re-connected continuous updates pick up where they left off, conflicts are resolved and it sort of works a distributed system. Where a browser is just another node.