←back to thread

287 points shadaj | 2 comments | | HN request time: 0s | source
Show context
cmrdporcupine ◴[] No.43196622[source]
Two things:

Distributed systems are difficult to reason about.

Computer hardware today is very powerful.

There is a yo-yo process in our industry over the last 50 years between centralization and distribution. We necessarily distribute when we hit the limits of what centralization can accomplish because in general centralization is easier to reason about.

When we hit those junctures, there's a flush of effort into distributed systems. The last major example of this I can think of was the 2000-2010 period, when MapReduce, "NoSQL" databases, Google's massive arrays of supposedly identical commodity grey boxes (not the case anymore), the High Scalability blog, etc. were the flavour of the time.

But then, frankly, mass adoption of SSDs, much more powerful computers, etc. made a lot of those things less necessary. The stuff that most people are doing doesn't require a high level of distributed systems sophistication.

Distributed systems are an interesting intellectual puzzle. But they should be a means to an end not an end in themselves.

replies(3): >>43196814 #>>43197204 #>>43198508 #
spratzt ◴[] No.43197204[source]
I would go even further and argue that vast majority of businesses will never need to think about distributed systems. Modern hardware makes them irrelevant to all but the most niche of applications.
replies(1): >>43199199 #
th0ma5 ◴[] No.43199199[source]
I had a longer comment elsewhere but to me this says that the distribution is happening somewhere and what you're also saying is that companies have to decide how much they want or care to control it.
replies(1): >>43205715 #
1. spratzt ◴[] No.43205715[source]
No. The issue is whether you NEED to not whether you want to.

10 to 15 years ago, you could argue, however implausibly, that hardware constraints meant vertical scaling was impossible, and you were forced to adopt a distributed architecture. Subsequent improvement in hardware performance, means that in 2025, vertical scaling is perfect acceptable in nearly all areas, relegating distributed architecture to the most niche and marginal applications. The type of applications that the vast majority of businesses will never encounter.

replies(1): >>43216737 #
2. th0ma5 ◴[] No.43216737[source]
There is essentially no tooling for this and vendors all default to distributed patterns. Either you directly control the scaling or you're relinquishing it.