System Design Primer: Learn how to design large-scale systems
github.com
github.com
1: https://www.sebokwiki.org/wiki/Guide_to_the_Systems_Engineer...
If you're interested, drop me an email (in my bio) and I'll let you know, once I've read my new books, if they're any good.
- Systems Engineering Demystified by Jon Holt
- Essential Architecture and Principles of Systems Engineering by C. E. Dickerson & Siyuan Ji
- System Design & Management: An Introduction to Systems Engineering by Bob Parkinson
On a somewhat related note I also got Difference & Repetition by Deleuze and Process and Reality by Alfred North Whitehead, but they're more philosophical than practical.
Might as well call it "thing manager".
What about other large-scale systems? E.g. desktop applications - for instance, how to design a large-scale desktop system such as Adobe Photoshop or MS Office.
For other large scale software projects, I think they tend to use enterprise software architecture patterns like service-oriented architecture (basically microservices) and ESB (basically kafka).
Learn how to design large-scale systems - https://news.ycombinator.com/item?id=17522362 - July 2018 (185 comments)
The System Design Primer - https://news.ycombinator.com/item?id=13823979 - March 2017 (57 comments)
No, not really. It shows a list of past submissions, which of course include the corresponding discussions.
Take a look: https://hn.algolia.com/?query=System%20Design%20Primer%3A%20...
HN already provides a link to profile bios. Check out the %username% link on top of the comment. /s
Oh and there's no implication that the story shouldn't be reposted—reposts are fine after a year or so (https://news.ycombinator.com/newsfaq.html).
Btw, the 'past' link in the top bar shows you (more or less) what the front page looked like on a particular day. To find threads about specific past stories, it's best to use HN Search at the bottom of the page.
What really matters I think is when you really need to go this route? Wat what kind of traffic / transactions/s level do you need to (re)design for this?
Or even, by what metric would you opt for this solution?
I mean, just buying a bigger instance will get you a long way and if you offset that cost to development time / effort / lost opportunity, how will the scale be tipped?
Things like:
Will there be spikes in demand 50x higher than baseline usage? I.e. how fast and efficiently the system needs to scale up?
What level of reliability is needed? I.e. is it really a big problem if the system goes down for an hour a handful of times throughout a given time period?