Btw. there is a Distributed Systems lecture series by MIT from Spring 2020.<p><a href="https://youtube.com/playlist?list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB" rel="nofollow">https://youtube.com/playlist?list=PLrw6a1wE39_tb2fErI4-WkMbs...</a>
As a long-time distributed systems developer, I actually wonder... is there going to be a lot of distributed systems development going forward?<p>1) A lot of the stuff that needed to be developed has been developed and generalized (and to a large extent centralized by cloud providers). It feels almost like web apps going from large teams writing complex LAMP projects from scratch (I remember writing hand-made XHR when prototype.js was an advanced JS library ;) to one person throwing something together in a week with feature-rich libraries and ready-made parts.<p>2) The trend (both present and future, e.g. TCP over NVMe, cheap massive SSDs, flash memory) is that many tasks that used to require state-of-the-art code, many coordinated machines, clever hackery to work around the slowness of the disk reads, etc. can now be easily done on one machine with simple code. Sure, there are exceptions (some types of ML tasks? specialized scientific/HFT/... workloads?), but I feel like the hardware capabilities are currently growing faster than the need to process more data, faster.<p>To be fair I also felt kinda like that in 2012 when Hadoop was hot and having SSDs on a server was cutting edge. Maybe I'm just paranoid ;)
The High Scalability blog [0] complements such courses nicely with curated lists of real world distributed systems and practices.<p>I also found this reading list [1] a great reference.<p>[0] <a href="http://highscalability.com" rel="nofollow">http://highscalability.com</a><p>[1] <a href="https://www.the-paper-trail.org/post/2014-08-09-distributed-systems-theory-for-the-distributed-systems-engineer" rel="nofollow">https://www.the-paper-trail.org/post/2014-08-09-distributed-...</a>