←back to thread

287 points shadaj | 1 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 #
porridgeraisin ◴[] No.43196814[source]
I think the reason that distributed systems still are the go-to choice for many software teams is to do with people/career expectations/careers orienting themselves around distributed systems over the time period you mentioned. It will take a while for it to re-orient, and then distributed systems might become a fad again ;) An example of this is typical promotion incentives being easier to get in microservice teams, thereby incentivising people to organize the team/architecture in that way.
replies(1): >>43197815 #
cmrdporcupine ◴[] No.43197815[source]
Honestly, I am more cynical and just think people are always looking for ways to make their jobs more interesting than they actually are.
replies(2): >>43199451 #>>43199808 #
1. Nevermark ◴[] No.43199451[source]
> Honestly, I am more cynical and just think people are always looking for ways to make their jobs more interesting than they actually are.

When you frame the problem that way, unnecessary complexity seems like part of a healthy solution path. /h

Companies get reliability benefits from slack, but creative people abhor wasted slack. Some basic business strategy/wisdom for maintaining/managing creative slack is needed.