[index]
Scaling up distributed systems
Craig Turner, 22 July 2021
--
Article, /Kubernetes is Our Generation's Multics/,
https://www.oilshell.org/blog/2021/07/blog-backlog-2.html
My comment,
There is a trap in distributed system design - seeking to scale-up from a
single-host perspective. An example - we have apache and want to scale it
up, so we put it in a container and generate its configuration so we can
run several of them in parallel. This leads to unnecessarily heavy systems
- you do not need a container to host a server socket.
Industry puts algorithms and Big O on a pedestal. Most software projects
start as someone building algorithms, with deployment and interactions
only getting late attention. This is a bit like building the kitchen and
bathroom before laying the foundations.
Algorithm centric design creates mathematically elegant algorithms that
move gigabytes of io across the network for every minor transaction. Teams
wrap commodity resource schedulers around carefully tuned worker nodes,
and discover their performance is awful because the scheduler can't deal
in the domain language of the big picture problem.
I think it is interesting that the culture of Big O interviews and
Kubernetes both came out of Google.